mirror of
https://github.com/openai/codex.git
synced 2026-09-09 15:58:47 +00:00
## Why Tree-sitter can represent brace expansions, globs, and escaped text as plain words even though the shell changes them at runtime. Treating their source text as literal argv could let a command match a safe-command check or allow rule that does not match what will actually execute. ## What changed - Reject unquoted Bash and Zsh words containing expansion, glob, or escape syntax from literal command parsing, including heredoc command prefixes. - Reject double-quoted escape sequences that the shell removes or interprets, while continuing to accept quoted metacharacters that remain literal. - Require approval for affected commands under `UnlessTrusted`, even when a policy contains an allow rule for the unexpanded source text. ## Testing Add parser and approval scenarios covering brace expansion, globs, escapes, Zsh-specific syntax, heredocs, and quoted literals. GitOrigin-RevId: 31f2c6062680c42ac65362e3f3eebfaaf4eb71da