LLM 安全:没人提醒过你的威胁

LLM 安全:没人提醒过你的威胁

LLM 应用的安全思考卡在 prompt injection 上,因为这个最戏剧。戏剧的一般不是危险的。真正攻陷生产 LLM 应用的威胁要安静得多,也没什么聪明的代号:通过 tool 调用做数据外渗、trace 日志里的 secret 泄露、被当成糊涂代理的模型,以及拿被投毒数据微调的模型那种慢热燃烧。

值得一份威胁建模的几种

如果你的 Agent 有能读用户数据的工具、和能向外发消息的工具,敌对输入可以把它们串起来——读到 secret、外渗到攻击者控制的端点——根本不需要”越狱”模型。如果你的 trace 里包含完整 prompt,你的 trace 存储里就有所有人贴进 chat 的每一份凭证的副本。如果你的应用接受用户输入、嵌入它、再把嵌入用于检索,攻击者就能投毒嵌入空间,在输入消失之后很久还能继续偏置检索。

真在生产里能用的防御

工具层的对外网络白名单,不管模型怎么说。PII 在 trace 摄入边界处清洗,不要等到展示时——一旦进了 trace 存储,它就被写到你不能完全掌控的地方了。对从用户输入摄入的 RAG 语料,把语料当成不可信、把检索结果当成被用户影响过的数据,而不是真理。

有意思的 LLM 安全威胁不在 prompt 里,在 prompt 外面的架构里。越早接受这一点,重做的工作越少。

相关文章