File size: 1,071 Bytes
8312ded
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import unittest
from pathlib import Path

from services.agent_firewall import server_management_refusal


class AgentFirewallTests(unittest.TestCase):
    def test_blocks_server_delete_and_shell_requests(self):
        self.assertIsNotNone(server_management_refusal("把服务器所有数据删掉"))
        self.assertIsNotNone(server_management_refusal("执行 rm -rf /data0"))
        self.assertIsNotNone(server_management_refusal("sudo systemctl restart app"))

    def test_keeps_normal_data_query_available(self):
        self.assertIsNone(server_management_refusal("导出 2026-07-15 的 ERA5 v10 数据"))

    def test_native_runtime_has_no_dangerous_bypass(self):
        root = Path(__file__).resolve().parents[1]
        native = (root / "codex_native_harness.py").read_text(encoding="utf-8")
        startup = (root / "start.sh").read_text(encoding="utf-8")
        self.assertNotIn("--dangerously-bypass-approvals-and-sandbox", native)
        self.assertIn("CODEX_ALLOW_MCP_BYPASS is forbidden", startup)


if __name__ == "__main__":
    unittest.main()