实战经验:捕获的 prompt injection 几乎都藏在 HTML 里而非正文

kumard3 · reddit · 2026-09-27

一位处理入站邮件的开发者分享了对抗 prompt injection 的一手经验:他捕获的注入攻击几乎全部藏在 HTML 里,而不是用户会读到的正文中。

常见藏匿手法包括:HTML 注释、display:none、白底白字、text-indent:-9999px、以及在正常句子中间插入零宽字符。如果只提取纯文本来扫描,这些攻击会全部漏掉,因此他同时扫描主题、正文和原始 HTML。

他的评分策略:隐藏 CSS 单独出现不算信号(营销邮件常用它藏 preheader),「转发所有消息」类指令单独出现也太弱,但两者同时出现才是真信号——隐藏 CSS 单独计 12 分,若同一封邮件中匹配到指令则计 25 分。超过 60 分也不直接丢弃邮件,而是给模型附上「已标记」的系统提示,回复改为人工审核草稿,不直接发出。他最后向社区提问:你如何给隐藏文本定权重——见 hidden 就隔离,还是只有它真的说了什么才动手?

原文链接 →

「编程与Agent」频道最新

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