Daily Edition Sources +6

Before Codex Trusts a Workspace, It Stops Letting the Workspace Choose Its Helpers

A merged Codex change moves automatic pre-trust helper lookups to known system locations, sanitizes plugin-sync Git, and makes diagnostics inspect a workspace-influenced path without running what they find.

Photocopied marker diagram of a workspace PATH card blocked at a trust gate while system locations, sanitized plugin Git, and non-executing diagnostics feed a circled automatic-helper path; a stamp says the evidence is merged main-branch tests, not a release or complete audit.
Diagram Punkbefore trust, a workspace should not get to choose an automatic helper.
repos openai/codex + google-gemini/gemini-cli evidence
6 source signals 2 repos commit 637c322
Evidence: commit 637c322 / September 3, 2026 / Daily Edition
Open Edition Evidence below

Before a coding tool asks whether you trust a folder, that folder can still be present in the launch environment. If a helper lookup consults a repository-controlled PATH, a program in the checkout can be selected before the trust question is answered. The Codex pull request merged September 2 now resolves automatic startup helpers from named system installation locations, not from ambient PATH or the working directory.

This is not a rerun of the configuration boundary we covered on August 29. That Gemini CLI change stopped an untrusted workspace's settings from being assembled into an A2A server.

Codex's new main-branch change starts earlier and lower down: before trust, who gets to choose the executable that performs an automatic probe, startup task, or support routine? Configuration can describe an agent's work; executable resolution decides which program gets to speak first.

A trusted filename is not enough if its helpers inherit the workspace

The new system-command resolver looks for automatic helpers in OS and conventional package-manager locations, rejects path-like helper names, and declines a symlink that resolves outside those installation roots. For curated-plugin sync, Codex uses that resolver for Git, then gives the Git child process a system-only PATH, removes GIT_EXEC_PATH, GIT_TEMPLATE_DIR, and DEVELOPER_DIR, and disables terminal prompts. That second step matters: choosing a trusted git binary would not by itself prevent one of Git's own helper lookups from wandering back into the workspace.

The patch also trades a little diagnostic certainty for a safer pre-trust posture. Its Git check can report a candidate's location but says execution is not verified; terminal detection now reads environment variables instead of running terminal helpers. The source is explicit that the new system-only child path is for automatic helpers, not user-requested tools. That is the useful distinction: a tool should not quietly repurpose a user's normal command choices, but it should know when it is acting on its own before the workspace has earned trust.

The test asks the right uncomfortable question

The new black-box fixture plants marker scripts named zellij, tmux, which, where, npm, rg, git, and curl in workspace/node_modules/.bin, prepends that directory to PATH, and then exercises startup, doctor, feedback collection, and interactive tmux startup. The marker must remain absent. A separate plugin-sync test does the same for Git and its transport helpers while proving the sync still completes.

Those are strong receipts for intended main-branch behavior, not a release claim, an account of adoption, proof of an exploit, or a complete audit. The resolver also assumes the named system locations are trustworthy. Still, the public engineering decision is a useful one to carry into any agent review: list every command the product runs automatically before trust, then ask whether it merely inspects a path, resolves a known system executable, or lets the workspace select its helper. The next signal worth watching is release guidance—and tests for every new pre-trust automatic call—that keep those three answers visible.

Evidence Trail

Receipts below the story

The article above is the public narrative. This section keeps the source trail and limits on the same page.

Edition
DateSeptember 3, 2026
LaneDaily Edition
Confidence87%
Sources6
Reposopenai/codex, google-gemini/gemini-cli

Primary Evidence

  • Codex change rationale and merged status: pull request #42324
    • Shows: the public statement that automatic startup and codex doctor can run before a workspace is trusted, plus the merged change's stated scope: trusted helper locations, sanitized plugin-sync Git, non-executing diagnostics, and hostile-PATH tests.
  • Merged main-branch implementation: commit 637c322
    • Shows: the exact September 2 main-branch diff across the resolver, startup sync, terminal detection, doctor, update check, and tests; it is the source for saying the change is merged code rather than a future proposal.
  • Automatic-helper resolver: system_commands.rs
    • Shows: system_executable looks in named system and conventional package-manager directories without consulting ambient PATH, PATHEXT, or the working directory; it refuses a helper name containing a path and rejects a canonical target outside its installation roots.
  • Plugin Git child environment: startup_sync.rs
    • Shows: curated-plugin synchronization selects a trusted Git executable and constructs a system-only child PATH, removes Git helper-related environment variables, and disables terminal prompts for that automatic path.
  • Hostile-PATH diagnostic coverage: doctor_path_safety.rs
    • Shows: black-box tests put executable marker scripts in a workspace node_modules/.bin directory, prepend it to PATH, exercise startup, doctor, feedback collection, and interactive tmux startup, then assert that no marker was written.
  • Plugin-sync hostile-PATH coverage: startup_sync_tests.rs
    • Shows: a focused test plants workspace git, git-upload-pack, and git-remote-https scripts, makes the repository-controlled path hostile, and verifies curated-plugin sync completes without running the marker helper.

Evidence Limits

  • These receipts establish a merged main-branch implementation and its intended test behavior. They do not establish a released Codex version, deployment or adoption, a real-world exploit, or a complete security audit.
  • The trusted-directory model assumes those system installation locations are themselves trustworthy. It does not cover compromise of the host's installed software, every platform-specific fallback, or every future helper lookup.
  • The important next signal is public release guidance and adversarial coverage showing that newly added automatic, pre-trust helper calls keep the same distinction between inspection, trusted resolution, and user-requested execution.
Letters & Corrections

Send a note to the desk

Corrections, missing context, or a follow-up lead.