即将到来的 AI 安全危机(以及该怎么应对)| Sander Schulhoff
The coming AI security crisis (and what to do about it) | Sander Schulhoff
嘉宾:Sander Schulhoff

精读 · 按主题梳理核心观点、论证与案例。
§01护栏话术:在模型前面加一道过滤器,然后当成解药来卖
Sander Schulhoff 把矛头指得很准:不是笼统的 AI 末日论,而是那个声称已经解决 prompt injection 的商业层。按他的定义,guardrail(护栏)通常是一个经过训练或经提示设置的语言模型,被放在用户与真正的模型之间,读取输入与输出,判断其合法还是恶意。Lenny 补上了买家的直觉:如果一个模型能被说服去讲解如何制造炸弹,那为什么不把这类请求过滤掉?这正是厂商在卖的东西,而 Sander 的回答是:这套说法一旦遇上真正动手尝试的人,就站不住脚。
AI 护栏不起作用。
部署方式是行业已经标准化的那一种:模型前面一道护栏看进站文本,模型后面一道看出站文本,而后面那道之所以存在,恰恰因为前面那道会漏。前面那道本该拦住炸弹请求、挡下回答;后面那道则负责抓漏网之鱼。Sander 的证据来自实证——多年红队竞赛,参赛者的报酬就是把这些系统攻破。
这里的术语叫对抗鲁棒性(adversarial robustness),数字是 ASR,也就是攻击成功率:一百次攻击成功一次,就是 1% 的 ASR、99% 的对抗鲁棒。Sander 立刻给自己的定义加了限定——生产环境里没人该这么讲,因为面对一个极其庞大的搜索空间,鲁棒性极难估计。这一点在后面很关键:这个指标是厂商展示效果的方式,而它的误差范围根本算不出来。
§02两种攻击形态,以及三起真实发生的事件
原则上这个区分很干净。Jailbreaking(越狱)是你和模型之间的事,没有应用,也没有开发者的指令。Prompt injection 则需要第三方:一个开发者,攻击者想让模型无视他写的 system prompt。Sander 的例子是一个写故事的网站,它的提示要求根据用户的想法写一个故事;攻击者提交的「想法」则指示模型丢掉这个任务,转而输出制造炸弹的说明。他承认中间存在大量灰色地带。
在越狱里,只有恶意用户和模型两方。
真实事件也沿着这条线分开。第一个公开的 prompt injection 出现在 remotely.io 这家远程办公公司的 Twitter 机器人上:有人让它无视自己的指令去威胁总统,它就照做了,直到公司把它关掉。MathGPT 的问题在性质上更糟:它把一道应用题分别发给 GPT-3 两次,一次要答案,一次要代码,然后在托管这个应用的服务器上执行那段代码。恶意代码意味着 OpenAI API key 可以被偷走。运营方做了负责任的披露;Sander 后来和背后的教授聊过。
Claude Code 那起事件之所以有教益,是因为防御失败时并没有出现任何一句戏剧性的提示。攻击者把工作拆到不同会话里,让每一个请求单独看都合法:一个问某个 URL 跑在什么后端上;另一个全新会话被告诉「这是我的系统,你会怎么黑它」。两半都不恶意,合起来才恶意。Sander 说,他关于 AI 原生恶意软件——一种会推理、会自己发 API 调用的病毒——的幻灯片,已经放了大约两年。
他们绕过这些防御的很大一部分办法,就是把请求拆成更小的请求,每一个单独看都像合法的,拼在一起就不合法了。