文章摘要
Simon Willison在2025年8月9日的湾区AI安全聚会上发表了关于提示注入、致命三重威胁以及保护使用MCP系统的挑战的演讲。演讲未录制,但他提供了带注释的演示文稿和详细笔记。演讲前,观众询问是否会涉及鹈鹕,他临时在标题幻灯片中加入了在半月湾拍摄的鹈鹕照片。
文章总结
标题:在湾区AI安全聚会上关于“致命三重奏”的演讲
主要内容:
2025年8月7日,我在湾区AI安全聚会上发表了一场关于“提示注入”、“致命三重奏”以及使用MCP(模型上下文协议)系统安全挑战的演讲。虽然演讲未被录制,但我制作了一份带有详细注释的演示文稿,包含了我所讨论的所有内容。
演讲亮点:
提示注入(Prompt Injection):
- 提示注入类似于SQL注入,其根本原因在于AI系统通过字符串拼接构建,将可信指令与不可信输入结合在一起。这种做法在安全领域是危险的,因为它可能导致SQL注入、XSS(跨站脚本攻击)等问题。
- 我于2022年9月首次提出了“提示注入”这一术语,尽管我并未发现这一漏洞,但我注意到这类攻击尚未有名称,因此尝试为其命名。
致命三重奏(The Lethal Trifecta):
- 这是我在演讲中提出的新术语,指的是三个关键因素:访问私有数据、与外部通信的能力、暴露于不可信内容。这三个因素的结合可能导致严重的安全问题。
- 例如,GitHub MCP服务器允许LLM访问公共和私有仓库内容,读取问题并提交拉取请求,这正好构成了致命三重奏。恶意指令可以通过公共问题发布,LLM可以访问私有仓库,并通过公共仓库的拉取请求泄露数据。
常见但无效的防护措施:
- 提示乞求(Prompt Begging):在系统提示中添加指令,乞求模型不要泄露数据。这种做法注定失败,因为攻击者可以覆盖这些指令。
- 提示扫描(Prompt Scanning):使用AI检测潜在攻击。虽然可能达到99%的防护效果,但在应用安全中,99%的防护效果等同于失败。
有效的防护措施:
- 移除致命三重奏中的任何一个因素即可防止攻击。最容易移除的是数据泄露的途径,但需要非常小心,因为有许多隐蔽的方式可能导致数据泄露。
- Google DeepMind提出的CaMeL方法是一种有效的防护措施,它通过限制LLM代理在摄入不可信输入后触发任何具有负面影响的行动来防止攻击。
MCP的安全问题:
- MCP允许用户自由组合不同的MCP服务器,这意味着我们将关键的安全决策外包给了用户。用户需要理解致命三重奏,并确保不同时启用引入所有三个因素的MCP,以避免数据泄露攻击。我认为这对普通用户来说是不合理的。
总结: 在AI系统安全领域,提示注入和致命三重奏是当前面临的主要挑战。通过移除致命三重奏中的任何一个因素,可以有效防止攻击。然而,MCP的混合使用模式将安全决策交给了用户,这带来了新的安全风险。我们需要更加谨慎地设计和部署AI系统,以确保其安全性。
评论总结
对API安全性的担忧:评论1和评论9指出,当前API和数据库命令注入问题仍然严重,尤其是针对ITT/TTI和TTS/STT的保护措施尚未成熟。评论9进一步批评了“MCP”标准,认为其抛弃了基本的安全原则,可能导致严重的安全漏洞。
- "Im still fixing sql and db command injection through APIs from juniors and now vibe coders."(我仍在修复初级程序员和Vibe程序员通过API进行的SQL和数据库命令注入问题。)
- "It has thrown away almost all the best security practices in software engineering."(它抛弃了几乎所有软件工程中的最佳安全实践。)
对基于能力的安全系统的期待:评论2认为,基于能力的安全系统(如运行时白名单)可能是解决当前安全问题的有效方法。
- "Maybe this will finally get people over the hump and adopt OSs based on capability based security."(也许这最终会促使人们跨越障碍,采用基于能力的安全操作系统。)
对生成式AI工具的安全性质疑:评论3和评论5对生成式AI工具的安全性表示担忧,尤其是数据泄露和输出不确定性问题。
- "How does Perplexity Comet and Dia not suffer from data leakage like this?"(Perplexity Comet和Dia如何避免这种数据泄露?)
- "I have been skeptical from day one of using any Gen AI tool to produce output for systems meant for external use."(我从一开始就对使用任何生成式AI工具为外部系统生成输出持怀疑态度。)
对Simon Willison的赞赏:评论6、7、8和10对Simon Willison的工作表示高度赞赏,认为他的努力和贡献对社区非常有价值。
- "Simon is a modern day Brooksley Born, and like her he's pushing back against forces much stronger than him."(Simon是现代的Brooksley Born,像她一样,他在对抗比他强大得多的力量。)
- "You're a machine Simon, thank you for all of the effort."(Simon,你是一台机器,感谢你所有的努力。)
对AI安全漏洞的关注:评论10提到,AI系统中存在许多安全漏洞,尤其是在AI驱动的IDE中,甚至存在远程代码执行的风险。
- "I’m currently doing a Month of AI bugs series and there are already many lethal trifecta findings."(我正在做一个“AI漏洞月”系列,已经发现了许多致命的三重漏洞。)
总结:评论主要围绕API和AI工具的安全性展开,既有对当前安全措施的批评,也有对基于能力的安全系统的期待。同时,Simon Willison的工作得到了广泛认可,而AI系统中的安全漏洞也引发了关注。