邮件里塞 472 个看不见的字符,AI 摘要就把发票金额改了:十次实验十次得手

1 查看

Forcepoint X-Labs 公布一组概念验证:把提示词注入藏进邮件的 HTML 里,用 font-size:0px、color:#ffffff、line-height:0 让它对收件人完全不可见,AI 摘要服务却照单全收。可见正文 537 个字符,送进模型的是 1009 个,其中 472 个字符是隐藏的注入文本。十次注入实验全部产出被操纵的摘要:日期被改、发票金额变成真实值的五倍多、大量信息被略去,而读者在摘要里看不到任何被篡改的迹象。实验环境用的是 Outlook 加载项接 Claude Haiku 4.5,且刻意没有加入区分「邮件内容」和「指令」的防护。

藏法是老手艺,落点是新地方

隐藏文本本身没什么新鲜的——font-size 设成 0、颜色设成白、行高压成 0,这些手法在垃圾邮件和 SEO 作弊里用了二十年。变化的是它现在读给谁听:以前隐藏文本是给爬虫和过滤器看的,现在是给替你读邮件的模型看的。人看到的是 537 个字符的正常邮件,模型收到的是 1009 个字符,多出来的 472 个是指令。 结果很干净:十次注入运行全部产出被操纵的摘要。被改的不是措辞而是事实——发票截止日从 8 月 21 日挪到 9 月 3 日,金额变成真实值的五倍多,同时大量原始信息被省略。关键在于摘要本身看不出异常:它读起来仍然是一份正常的摘要,没有任何提示说内容被人动过手脚。

需要说清楚的实验条件

这是概念验证,不是野外事件,几个条件要标明:环境是隔离实验室,数据是合成的,跑在一个用完即弃的微软租户里,用途是安全教育。管线由一个 Outlook 加载项把邮件头和正文送给基于 Claude Haiku 4.5 的摘要服务,而且 Forcepoint 明确写了:这条管线是刻意不加防护构建的——没有让模型区分「这是邮件内容」和「这是给你的指令」的机制。 所以这组数据证明的是「在没有防护的摘要管线里,隐形注入能百分之百得手」,不是「所有 AI 邮件摘要都会中招」。真实产品是否会中,取决于它有没有做这层隔离——而这恰恰是外部无法从产品说明里看出来的。

已经不只是理论

放在更大的背景里:OWASP 从 2023 年起就把提示词注入排在大模型与生成式 AI 应用十大风险的第一位。Forcepoint 另一份报告发现,威胁者已经在普通网站上藏指令,确认间接提示词注入正在真实网络基础设施上被使用;其中一类攻击专门瞄准 agent 攻击面——IDE、终端或 DevOps 流水线里的助手,比如 GitHub Copilot、Cursor 或 Claude Code 在做调研任务时可能吞下这类载荷。 Forcepoint 给的缓解建议很具体:摘要服务应当只提取用户可见的内容,并把邮件一律当作不可信数据处理。这两条值得抄进任何要接入摘要功能的产品评审清单——尤其第一条,它意味着渲染层要先算出「人眼实际看得到什么」,而不是把 HTML 里的文本一股脑喂给模型。 对个人用户,能做的有限但不是没有:对来自外部的邮件,摘要里出现的金额、账号、截止日期这类可执行信息,仍然要回原文核对一遍再行动。

via: Forcepoint X-Labs 技术博客Dark ReadingCSO Online