feat: rm/cp/mv/chmod/chown 等文件操作命令支持(需人工审批)
- SHELL_WRITE_COMMANDS 新增 rm cp mv chmod chown mkdir touch ln 所有文件操作命令任意参数都需人工审批 - _PIPE_DANGEROUS_TARGETS 移除 rm mv chmod chown,它们现在在 写白名单中审批执行,不再直接拒绝 - 管道分支增加写表子命令不匹配时的回退处理
This commit is contained in:
@@ -84,8 +84,13 @@ class ShellCommandPolicyTest(unittest.TestCase):
|
||||
self.assertTrue(decision.requires_approval)
|
||||
|
||||
def test_rejects_unknown_binary(self):
|
||||
# rm 现在在写白名单中(需审批),不会直接拒绝
|
||||
decision = classify_shell_command("rm -rf /tmp/cache")
|
||||
self.assertEqual(decision.mode, "write")
|
||||
self.assertTrue(decision.requires_approval)
|
||||
# 完全不在任何白名单中的命令才拒绝
|
||||
with self.assertRaises(ValueError):
|
||||
classify_shell_command("rm -rf /")
|
||||
classify_shell_command("hacktool -x")
|
||||
|
||||
def test_rejects_shell_operators_in_shell_command(self):
|
||||
# 分号 ; 仍被拒绝
|
||||
|
||||
Reference in New Issue
Block a user