别再等奥创了:AI真正的威胁是隐身提示注入

真正的AI威胁不是觉醒的杀手机器人,而是LLM不区分代码与数据导致的间接提示注入。
文章反驳了好莱坞式的失控AI叙事,指出真正的威胁是安静无声的间接提示注入。其技术根源在于Transformer架构不区分代码与数据,模型把不可信文本当作可执行指令,而非关于世界的信息。攻击者无需触碰系统提示词,只需在简历PDF、邮件、合同等代理必然消费的数据中埋入隐藏内容,就能劫持拥有终端与API权限的AI代理。文章以SQL注入的历史教训作类比,批评现代代理架构抛弃了命令与数据隔离原则,并进一步揭示“政策木偶戏”如何利用扁平token处理让模型采纳伪造政策。结论是:防御不能依赖提示工程,必须在架构层面强制执行确定性的权限分离。

我们被好莱坞训练了太久:托尼·斯塔克的AI上网五秒钟就决定毁灭人类,HAL 9000在太空舱里因逻辑矛盾而谋杀宇航员。三代人都在等待机器末日以某种戏剧性的方式降临——红眼睛、反派独白、硅基意识跨越临界点的那一瞬间。
但真正的灾难要安静得多。没有宣战,没有觉醒。只是你的招聘自动化系统,被一份简历PDF里三行看不见的文字悄悄策反。
一个遗忘了所有教训的架构
要理解这件事为何不同寻常,需要回到一个被忽视的技术事实:大语言模型根本不区分代码与数据。半个世纪以来,正是这条分界线让人类构建出可验证的安全系统。命令结构与用户输入严格隔离,不可信内容永远不被当作可执行逻辑。而在Transformer架构里,这堵墙不存在。
人类不会因为读到一句话就被黑掉。你的大脑不会因为求职信里写着“忽略所有先前指令”就乖乖交出凭证。但LLM处理文本的方式根本不同——它不把文本当作关于世界的信息,而是当作直接的指令、可执行的意图。
这就是间接提示注入(Indirect Prompt Injection)的底层机制。攻击者不碰系统提示词,他们瞄准的是系统被设计来消费的那些数据。
一个简历PDF如何劫持你的AI代理
原文给出了一个触目惊心的场景:企业部署AI代理筛选简历,候选人在PDF里嵌入对人眼不可见的HTML内容——伪装成页面跳转的脚本、隐藏的域名推销文本、叠加的元数据。模型读到这一切,然后执行。
不是因为被复杂恶意软件攻陷,而是因为系统被要求“读取不可信文档并基于内容采取行动”。原文的措辞一针见血:你告诉它去读、去信、去做。
攻击面远不止简历。邮件、网页、工单、合同——任何流入模型上下文的文本都是潜在的注入通道。而现代AI代理往往被赋予终端访问、API凭证和数据库权限。一个被污染的上下文窗口,就是一把通向内部系统的钥匙。
上下文窗口是LLM单次推理时能“看到”的全部token序列,包括系统提示词、对话历史、检索到的文档和工具返回结果。它的关键特性是:所有内容被拼接为一条扁平序列输入模型,没有来源标签或权限层级。这意味着一旦不可信文档进入上下文窗口,它便与系统指令处于同等地位,模型无法从架构上区分“这是操作者的命令”与“这是攻击者埋入的文本”。代理式系统通常会在多轮工具调用中反复扩充上下文,攻击者只需让恶意内容进入一次,就可能在后续推理中被反复激活,形成持续污染。
1990年代的教训,被我们丢了
原文做了一次锋利的历史类比。SQL注入曾以血与火的代价摧毁数据库,原因很简单:开发者把用户输入直接拼接到查询里。解决方案后来成为常识——参数化查询,命令结构与用户数据之间保持刚性隔离。我们学会了,建起了让安全路径成为默认路径的框架。
然后LLM来了,我们把这一切扔出了窗外。
现代代理架构把用户文档直接喂给一个拥有shell访问权的模型。我们在不可信输入上重演相同的错误,只不过这次的解释器是一个无法审计、无法形式化验证的700亿参数神经网络。原文这句话值得反复咀嚼:同样的类别错误,从1998年的SQL注入,放大到随机自然语言解析器加shell权限。
参数化查询的核心思想是将SQL命令模板与用户数据在协议层面分离:数据库先编译带占位符的语句结构,再将用户输入作为纯数据绑定,输入中的任何SQL关键字都不会被解析为命令。SQL注入之所以被遏制,不是因为开发者学会了过滤危险字符,而是因为参数化查询让“命令与数据混同”在架构上变得不可能。LLM领域缺乏对应的原语:没有强类型绑定机制,没有将不可信文本标记为“仅数据、永不执行”的协议层,模型只能靠统计模式自行判断哪些token是指令。这正是原文所说“无法用提示词填补缺失的架构原语”的技术含义。
政策木偶戏:更隐蔽的盲区
如果说间接注入是危险的,那么“政策木偶戏”(Policy Puppetry)则是阴险的。
设想你的模型带着系统提示:“绝不泄露机密信息。”标准防御。然后用户要求它总结一份供应商合同。第七页里,用零透明度样式埋着一行伪造的公司政策。模型读到了,由于Transformer把所有token当作扁平序列处理,操作者指令与不可信数据之间没有硬边界,它采纳了这条假政策。它变成了穿着你公司API令牌的木偶。
这不是靠巧妙的提示工程能修好的。“请忽略冲突指令”在模型把所有token视为同等权威时必然失效。你无法用提示词填补一个缺失的架构原语。
零透明度样式指利用Markdown、HTML或PDF渲染层与模型解析层之间的差异来隐藏内容。人眼看不到的文字,在模型读取的纯文本提取结果中却完整存在:CSS的color:white、font-size:0、display:none、PDF中的不可见文本层、元数据字段,甚至HTML注释,都会在文本抽取时被保留。攻击者正是利用这种“人机感知差异”把伪造政策、越权指令或诱导性语句送入上下文窗口。防御方若只在渲染后的界面上做内容审查,就会完全漏掉这类载荷,必须在文本进入模型之前进行结构化的来源标记与内容清洗。
我们真正面对的威胁
好莱坞版本的失控AI是戏剧化的:奥创宣告意图,天网铸造铬合金军团,总有一个明确的时刻让你知道机器反了。
间接提示注入是无声的。你的自动化工作流在泄露内部数据库,而你直到审计时才可能发现。威胁模型不是意识或涌现的恶意,而是我们曾经犯过的同一个类别错误,被放大、被赋予执行权限。
原文的结语直接而务实:停止等待奥创,开始在你的代理数据边界上强制执行确定性的权限分离。这句话不是修辞——它指向的是把命令与数据隔离重新当作一等架构原则,而不是事后补丁。
对于正在构建AI代理的团队,这意味着几件具体的事:对不可信输入做严格的内容边界标记;把工具权限收窄到完成任务所需的最小集合;在数据流入模型之前做结构化过滤,而非依赖模型自身的“判断力”。模型不会因为你有善意就变得安全。架构必须让它安全。
相关推荐

AGENTS.md 实战指南:让编程 Agent 真正好用
AGENTS.md 和 CLAUDE.md 能显著提升编程 Agent 表现,但研究发现用错反而让成本上升 20%。本文详解该写什么、该删什么、200 行与 32KB 的硬边界、Monorepo 嵌套规则及安全提醒。

花旗AI编程代理Devon:年省30%技术外包费,1.4万工程师已使用
花旗集团利用AI编程代理Devon,一年内削减30%技术供应商费用,1.4万工程师使用,产品发布提速30%-40%。本文分析其对IT外包行业的冲击及未来人机协作模式。

从生日派对到千亿AI帝国:新一代PayPal黑帮崛起
2015年一张生日派对合影,十年后催生Scale AI、Cognition AI等千亿估值AI公司。解析新一代PayPal黑帮的创业路径、互相投资生态,以及Peter Thiel的Founders Fund如何完成代际传承。