From 729c31bcf49237d033ce43b2d49ee2d80e2087bc Mon Sep 17 00:00:00 2001 From: Chris Bookholt Date: Fri, 3 Jul 2026 14:59:58 -0700 Subject: [PATCH] fix(core): require exact outer argv authority --- codex-rs/core/src/exec_policy.rs | 2 +- codex-rs/core/src/exec_policy_windows_tests.rs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/exec_policy.rs b/codex-rs/core/src/exec_policy.rs index d301474166..10ebb38381 100644 --- a/codex-rs/core/src/exec_policy.rs +++ b/codex-rs/core/src/exec_policy.rs @@ -365,7 +365,7 @@ impl ExecPolicyManager { matched_prefix, decision: Decision::Allow, .. - } if matched_prefix.len() == outer.len() + } if matched_prefix.as_slice() == outer ) }) }); diff --git a/codex-rs/core/src/exec_policy_windows_tests.rs b/codex-rs/core/src/exec_policy_windows_tests.rs index 491190554a..0b8b94d558 100644 --- a/codex-rs/core/src/exec_policy_windows_tests.rs +++ b/codex-rs/core/src/exec_policy_windows_tests.rs @@ -146,7 +146,11 @@ async fn only_exact_outer_rules_can_bypass_runtime_resolution() { "host_executable(name = \"powershell\", paths = [\"{executable}\"])\n\ prefix_rule(pattern=[\"powershell\", {rest}], decision=\"allow\")" ), - Some(true), + Some(false), + ), + ( + format!("prefix_rule(pattern=[\"powershell\", {rest}], decision=\"allow\")"), + Some(false), ), ( format!(