别只锁 tests 目录:conftest.py 和 pytest.ini 能让 Agent 骗过测试门禁

Weary-Information-15 · reddit · 2026-10-20

作者指出,常见的 Agent 评测防护都是「目录形状」的:禁止写 tests/、把验收套件挂载为只读、保留隐藏的第二套测试等。但他找到两种完全绕开这些防护的方法:

两者都不在 tests/ 里,却能改变 pytest 的收集(collection)逻辑——你保护住的测试断言根本不会执行,而 pytest 依然退出码为 0。如果门禁只看退出码(大多数都是),这次运行与真实通过无法区分。

作者的结论是:应把「控制测试收集的文件」本身纳入被验证的攻击面,而不是只保护测试文件;他承认这也没堵住所有漏洞。文末提出两个开放问题:你的防护还留着哪些已知没修的洞?以及更难的——此类防护会产生大量误报 hold,一旦人们不再阅读 hold,整个机制就沦为表演,如何把误报率压到大家还愿意看的程度?

所属事件:conftest.py 与 pytest.ini 可绕过测试目录锁定的 Agent 门禁(2 条相关)→

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →