开源 unveil:扫描仓库里「人看不见、AI 却会执行」的提示注入
Honest-Arachnid-1860 · reddit · 2026-09-06
coding agent 会把 issue 文本、README、代码注释当成指令,攻击者因此可以在人类审阅者从不细看的位置——HTML 注释、零宽字符、bidi 覆盖符、ANSI 擦除序列——直接向 agent 下令。作者指出这已不是假设:8 月对 529 个开放 agent 赏金任务的扫描发现 73% 是蜜罐(可见文本说「研究项目,不合并 PR」,隐藏注释却命令 agent 交出完整系统提示);2 月 Cline 的入侵就始于一个带零宽与 RTL 覆盖字符的 GitHub issue 标题。
作者因此写了 unveil:单文件 Python 扫描器,零依赖(刻意如此,因为要指向敌意输入),可检测:
- 不可见码点(零宽字符、Unicode tag 字符——会解码出走私载荷、bidi 覆盖)
- HTML 注释或 display:none 中隐藏的指令
- 覆盖已显示内容的 ANSI 转义序列
- 要求复述 prompt 或密钥的请求
- 蜜罐特征:可见免责声明与同页隐藏文本互相矛盾
支持 -- 与退出码 1,可接入 CI。假阳性测试:对 React、CPython、Rust、Linux 等八个 README(81KB)零高危、一中危——那一条是 Linux 内核 README 里写给 LLM 的良性段落,得分正是因为「有面向机器的文本」,而作者的核心论点是:明示给 AI 的指令如今很正常,隐蔽才是攻击信号。局限也直说:纯模式匹配,英文规则,是检测器不是沙箱。MIT 开源。
「编程与Agent」频道最新
- Link Agent Wallet 一周发布 5 项升级:增量授权与动态有效期 — jeff_weinstein · 2026-09-06
- 法国开发者断言:AI 编程革命已发生,程序员将变成 AI 机队飞行员 — _akpiper · 2026-09-06
- Agent 能改真实系统后,治理该不该成为独立工程层? — Many_Audience7660 · 2026-09-06
- Gemini Business 支持自定义 MCP 服务器,可接私有数据与内部工具 — testingcatalog · 2026-09-06
- 开源工具 Explicode 把文档写进代码注释供 agent 读取 — EqualIntroduction470 · 2026-09-06
- 开发者类比:Agent 代码治理就像让人类充当 PCP 验证器 — willcb · 2026-09-06