Enforce inline shell wrapper payload matching [AI]#80978
Conversation
|
Codex review: needs real behavior proof before merge. Summary Reproducibility: yes. for source-level reproduction: current main can match the wrapper executable allowlist before payload fallback on the inspected path. No high-confidence real-runtime after-fix reproduction is present because the PR body says it was not run. Real behavior proof Next step before merge Security Review detailsBest possible solution: Land a maintainer-reviewed version that keeps wrapper payloads evaluated against policy, preserves wildcard and script-argv semantics, reconciles the related Windows wrapper PR, and includes redacted terminal or log proof from a real setup. Do we have a high-confidence way to reproduce the issue? Yes for source-level reproduction: current main can match the wrapper executable allowlist before payload fallback on the inspected path. No high-confidence real-runtime after-fix reproduction is present because the PR body says it was not run. Is this the best way to solve the issue? Yes for the static code direction: the latest head addresses the prior wildcard and PowerShell alias concerns and adds targeted regression coverage. It is not merge-ready until real behavior proof and maintainer/security review are complete. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against db79b1cc5ea7. |
|
Not applicable to this automation stage; changelog/release-note and external real behavior proof requirements are handled outside auto-pr stages. Quoted comment from @clawsweeper:
|
# Conflicts: # src/infra/exec-wrapper-resolution.test.ts # src/infra/shell-inline-command.ts # src/infra/shell-wrapper-resolution.ts # src/infra/system-run-command.ts
* fix: enforce inline shell wrapper payload matching * addressing review-skill * addressing codex review * addressing codex review * addressing claude review * addressing claude review * fix: complete shell wrapper allowlist handling * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing ci * docs: add changelog entry for PR merge
* fix: enforce inline shell wrapper payload matching * addressing review-skill * addressing codex review * addressing codex review * addressing claude review * addressing claude review * fix: complete shell wrapper allowlist handling * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing ci * docs: add changelog entry for PR merge
* fix: enforce inline shell wrapper payload matching * addressing review-skill * addressing codex review * addressing codex review * addressing claude review * addressing claude review * fix: complete shell wrapper allowlist handling * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing codex review * addressing ci * docs: add changelog entry for PR merge
Summary
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof (required for external PRs)
Root Cause (if applicable)
Regression Test Plan (if applicable)
src/infra/exec-approvals-analysis.test.ts,src/infra/exec-wrapper-resolution.test.ts,src/infra/shell-inline-command.test.ts,src/infra/system-run-command.test.tsUser-visible / Behavior Changes
Bare allowlist entries for shell wrapper binaries no longer approve inline shell payloads by themselves. The payload must match policy, or the wrapper invocation must be covered by an argument-scoped allowlist entry.
Diagram (if applicable)
Security Impact (required)
Yes/No) NoYes/No) NoYes/No) NoYes/No) YesYes/No) NoYes, explain risk + mitigation: exec approval matching is stricter for shell-wrapper inline payloads; regression tests cover parser and policy behavior.Repro + Verification
Environment
Steps
Expected
Actual
Evidence
Added regression coverage in the touched test files; local execution was not performed in this drafting step.
Human Verification (required)
What you personally verified (not just CI), and how:
Review Conversations
Compatibility / Migration
Yes/No) YesYes/No) NoYes/No) NoRisks and Mitigations