From 55801700de97454284b062f5f90382c261c06ada Mon Sep 17 00:00:00 2001 From: iceweasel-oai Date: Fri, 26 Sep 2025 14:08:28 -0700 Subject: [PATCH] reject dangerous commands for AskForApproval::Never (#4307) If we detect a dangerous command but approval_policy is Never, simply reject the command. --- codex-rs/core/src/safety.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/safety.rs b/codex-rs/core/src/safety.rs index a3462c344..0c8dfd9a9 100644 --- a/codex-rs/core/src/safety.rs +++ b/codex-rs/core/src/safety.rs @@ -89,8 +89,15 @@ pub fn assess_command_safety( ) -> SafetyCheck { // Some commands look dangerous. Even if they are run inside a sandbox, // unless the user has explicitly approved them, we should ask, - // regardless of the approval policy and sandbox policy. + // or reject if the approval_policy tells us not to ask. if command_might_be_dangerous(command) && !approved.contains(command) { + if approval_policy == AskForApproval::Never { + return SafetyCheck::Reject { + reason: "dangerous command detected; rejected by user approval settings" + .to_string(), + }; + } + return SafetyCheck::AskUser; } @@ -376,7 +383,13 @@ mod tests { request_escalated_privileges, ); - assert_eq!(safety_check, SafetyCheck::AskUser); + assert_eq!( + safety_check, + SafetyCheck::Reject { + reason: "dangerous command detected; rejected by user approval settings" + .to_string(), + } + ); } #[test]