最近在想一个很现实的问题:团队把闭源 Coding Agent 接到本地 Qwen / GLM / DeepSeek ,或者允许它读内网私有仓库时,怎么验证这个看不到源码的二进制有没有探测不该碰的地址?
每次更新都重新反编译当然可以,但很难变成日常检查。我这次拉了自己的 CanaryProbe 仓库重新跑了一遍:源码测试是 56 passed ;随后启动本地 DNS/TCP 传感器,用内置模拟器解析一个刚生成的诱饵域名,audit.jsonl 记录到一条 TRIPPED ,生成的 HMAC 报告再用 canaryprobe verify 验证通过。
这个思路不是“监控所有流量”,而是种一个正常代码路径绝不会碰的值:诱饵主机名、连接地址或假凭证。如果闭源程序去解析、连接或携带它,事件本身就值得报警。它比每次只看二进制更适合做持续回归,也比普通出口白名单多回答一个问题:这个程序为什么会知道并探测一个它本不该碰的值?
边界也必须说清楚:TRIPPED 是强阳性证据,但 CLEAN 不是“绝无外联”的证明。没有触发可能只是诱饵没覆盖到真实路径、DNS 没有经过传感器,或者程序换了别的目的地。因此我的做法会是四层组合:
1. 出口 deny-by-default / allowlist 负责真正阻断;
2. 系统或网关日志记录实际连接;
3. 诱饵探针抓“本不该知道却去碰了”的行为;
4. 高风险版本再做针对性的二进制检查。
仓库和复现步骤:
https://github.com/SuperMarioYL/canaryprobe你们在内网或 air-gap 环境里跑闭源 Agent 时,现在主要靠哪一层?有没有把诱饵做成版本升级前后的固定回归用例?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://v2ex.ih06.com/t/1231495
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.