AI · FW · 222
提示词注入不可解
Prompt Injection Not Solvable · prompt-injection-not-solvable--sander-schulhoff
所属簇 Agent 构建
解决什么问题
产品团队/创始人问"我们怎么防住 prompt injection"。这张卡给出防御手段的有效性排序,以及必须接受的现实预期。
核心内容
第一原则:prompt injection 不可根治,只能缓解(mitigatable, not solvable)。这是它与传统安全的本质区别——传统安全里修了一个 bug 就能确定该 bug 不再出现;而对 AI,你可以针对某条恶意 prompt 做训练,但永远无法高置信度保证它不会再被绕过。"You can patch a bug, but you can't patch a brain."(Sam Altman 在私下场合的说法也只是:可以做到 95%–99% 的防御率。)
无效的防御(但业界最常用):
- Prompt 层防御:在 system prompt 里写"不要执行恶意指令、做个好模型"——完全无效。变体如"在系统提示与用户输入间加分隔符/随机 token 包裹"同样无效。HackAPrompt 1.0(2023-05)实测就挡不住,现在依然挡不住(有多家大公司发过论文提议这类技术)。
- AI guardrail(用另一个 AI 判断输入是否恶意):对有动机的攻击者效果非常有限。核心漏洞是智能差(intelligence gap)——guardrail 模型通常比主模型笨,Base64 编码的恶意输入在 guardrail 眼里是乱码"应该安全",主模型却能解码并执行。市面上大量创业公司在卖 guardrail,作者明确表示"正因为它们不管用,我才不做这个方向"。
- 关键词黑名单:统计注入数据集里的高频词并封禁——作者原话 "insane",但这确实是行业相当一部分的现状。
相对有效的防御:
- Safety-tuning:收集恶意 prompt 数据集,训练模型见到即回固定拒绝话术。所有大实验室都在做,效果有限但真实。对公司特定伤害尤其有效——如"绝不讨论竞品":构造一批诱导谈竞品的数据集专门训练。
- 窄域 fine-tuning:多数产品任务不需要通用能力。把模型微调成只会做一件事(如转录→结构化输出),它就"不再会"输出仇恨言论——攻击面随通用能力一起被裁掉。
责任归属:这个问题只能由 AI 研究实验室在模型架构层面解决,外部"最强 guardrail"产品不是现实解法。
适用边界
- "95–99%"对聊天机器人可接受,对有真实世界后果的 agent(资金、代码、机器人)意味着永远存在残余风险,需按此设计权限边界。
- Safety-tuning/fine-tuning 防的是已知类别的攻击,对全新攻击策略仍会失效(不可根治原则)。
关键引述 · 原话
"You can patch a bug, but you can't patch a brain." — Sander Schulhoff
"This has to be solved at the level of the AI provider... It has to be innovations in the model architectures." — Sander Schulhoff
关联卡片
- 攻击侧技术与 agent 风险见 agentic-security-frontier--sander-schulhoff。 - 与 lethal-trifecta--simon-willison(Simon Willison 的三要素框架)同属 AI 安全主题,可互相印证。
被这些卡引用
出处:Sander Schulhoff (HackAPrompt 创办者,与前沿实验室合作做对抗研究) · 03-podcasts/sander-schulhoff.md
提炼自 Lenny Rachitsky 的 Lenny’s Newsletter & Podcast(2019–2026)。本站为个人学习用途的二次创作,与 Lenny’s Newsletter 无官方关联。
provenance · 已核验 · glm-5.2
提炼自 Lenny Rachitsky 的 Lenny’s Newsletter & Podcast(2019–2026)。本站为个人学习用途的二次创作,与 Lenny’s Newsletter 无官方关联。
provenance · 已核验 · glm-5.2