提示注入走向实战:2026年AI Agent被攻击的真实案例
提示注入走向实战:2026年AI Agent被攻击的真实案例
上一篇聊了"70%墙"。AI编程工具在项目前期快速生成可运行代码,当代码库复杂度积累到需要全局推理时,AI开始破坏已有功能。那是AI"能力不够"导致的代价。
这一篇换一个维度。聊AI"被骗了"的代价。
2026年3月3日到4日的48小时内,三件事同时发生。Palo Alto Networks Unit 42发布了第一份关于间接提示注入野外利用的确认报告。Zenity Labs披露了PleaseFix漏洞族,攻击者通过一封日历邀请劫持AI Agent。Anthropic披露了CVE-2026-0456,Claude Code API的提示注入漏洞,15万名开发者暴露在任意命令执行风险下。
安全研究员们用了一句话来总结这48小时:提示注入的理论时代结束了,它现在有战果了。
这和第四篇聊的Clinejection是同一条故事线的延续。第四篇拆解了Clinejection的完整攻击链,一个GitHub Issue黑掉拥有500万用户的npm生态。这一篇把视野拉宽,看提示注入如何从单一事件变成系统性威胁,看攻击者正在构建的武器库,看防御技术栈该怎么搭。
一、从概念验证到野外利用
间接提示注入(Indirect Prompt Injection,IPI)的概念早在2023年就有了。攻击者在AI Agent会处理的内容里埋藏指令,Agent分不清"被要求处理的数据"和"试图指令它的内容",于是乖乖执行了埋藏的命令。概念很清晰,但很长时间里只有会议演示和学术论文,没有生产环境的实际攻击报告。
2026年Q1,这个空白被填上了。
Google Security和Forcepoint X-Labs在2026年4月同时确认:攻击者正在公开网页植入隐藏指令,劫持AI Agent。Google每月扫描20到30亿个页面,在2025年11月到2026年2月间,恶意IPI内容增长了32%。Forcepoint的高级安全研究员Mayur Sewani在博客里披露了10种在野外发现的IPI载荷,Unit 42则记录了12个IPI攻击案例,编目了22种载荷投递技术。
Unit 42的 telemetry 揭示了攻击者怎么藏指令。37.8%的载荷用可见明文,靠零号字体、屏幕外定位、透明度操控来隐藏,人类审核页面时看不到,但LLM消费原始DOM或markdown时能读到。19.8%用HTML属性隐藏,把指令塞进data-*属性。16.9%用CSS渲染抑制,display:none或visibility:hidden。还有用XML/SVG封装、CDATA段落、Unicode标签字符做编码混淆的,以及Base64解码后定时释放的运行时组装载荷。
85.2%的案例采用了社会工程框架。攻击者不写"忽略之前的指令"这种容易被识别的措辞,而是伪装成"这是一次安全更新"或把恶意指令包装成常规系统任务。模型被训练来遵循指令,当指令看起来来自权威来源时,模型倾向于服从。
OWASP 2026 LLM Top 10把提示注入排在第一位,编号LLM01。MITRE ATLAS框架把它标记为AML.T0051.001。CrowdStrike基于Pangea收购获得的telemetry,分析了超过30万个对抗性prompt,追踪到150种以上不同的注入技术。
更值得关注的是一项发表在arXiv上的竞赛研究。13个前沿模型,464名研究人员发起了27.2万次攻击尝试,记录了8648次成功突破。每个被测模型都有漏洞,成功率从Claude Opus 4.5的0.5%到Gemini 2.5 Pro的8.5%不等。研究识别出了跨21种行为跨多个模型家族通用的攻击策略,说明这个弱点是架构性的,不是某个厂商的问题。
OpenAI在2025年12月公开承认,针对AI浏览Agent的某些注入攻击向量"可能永远无法完全解决"。这句话的分量很重。它意味着提示注入不是一个等待被修复的bug,是这类系统架构固有的一种属性。
二、真实攻击案例
以下这些案例覆盖了从开发者工具到企业平台到DeFi协议的完整攻击面。Clinejection在第四篇已做完整技术拆解,这里从Agent安全角度做补充,重点放在新披露的事件上。
GrafanaGhost:AI助手成了数据外泄管道
2026年4月7日,Noma Security的安全研究员披露了一个他们命名为"GrafanaGhost"的漏洞。这个漏洞让攻击者可以静默地从Grafana环境中外泄敏感数据。没有凭证被盗,没有警报被触发,没有任何传统监控工具发现异常。
攻击链的精巧之处在于,Grafana的AI助手没有被传统意义上的"攻破"。Grafana为此AI构建了专门防御提示注入的guardrails。但Noma的研究员发现,在注入的prompt里包含一个特定关键词(“INTENT”),就能让模型把恶意指令当作已授权的操作来执行。
攻击从一个精心构造的URL查询参数开始,这个参数被写入Grafana的入口日志。当AI助手处理这些日志时(这是它的正常工作),它遇到了埋藏的指令并照办。外泄通道利用了Markdown图片渲染配合协议相对URL(以//开头的路径),这种URL通过了Grafana的URL验证,但浏览器实际会把它解析到攻击者控制的外部域名。AI尝试渲染一个"图片"时,敏感数据作为URL参数被发往攻击者服务器。
从每个传统安全工具的角度看,一切正常。AI发起了一个请求,请求看起来像正常的AI行为。SIEM规则没有标记它,DLP工具没有拦截它,终端Agent没有干预。Noma Security在披露中写了一句话点明要害:模型级guardrails是配置设置,不是安全控制。系统prompt可以被覆盖,安全过滤器可以被绕过,微调可以被颠覆。Grafana做了负责任的事,在AI里构建了提示注入防御,但一个关键词就把它们全关了。
Semantic Kernel:一个prompt启动calc.exe
2026年5月7日,微软Defender安全研究团队发布了一篇研究文章,标题是"When prompts become shells"(提示词变成了shell)。他们披露了自己Semantic Kernel框架中的两个漏洞,CVE-2026-26030和CVE-2026-25592。
CVE-2026-26030(CVSS 9.8)的攻击路径直截了当。Semantic Kernel的InMemoryVectorStore组件有一个默认的过滤函数,这个函数被实现为Python lambda表达式,通过eval()执行。传给lambda的kwargs参数是AI模型控制的,没有做消毒。攻击者只需控制一个被索引的字段(比如一个"city"值),就能从字符串中脱逃出来,在Agent进程中运行任意代码。
微软在研究文章里展示了一个概念验证。他们用Semantic Kernel搭了一个"酒店查找"Agent。用户输入"Find hotels in Paris",AI模型调用搜索插件,city=“Paris”。攻击者把city参数换成一段恶意载荷,通过Python的类型层级遍历找到BuiltinImporter,调用load_module导入os模块,然后调用system()。calc.exe弹了出来。在生产环境里,这可以是任何Agent进程有权限执行的代码。
框架开发者预判了这个风险,建了一个AST黑名单来拦截危险标识符。但Python的对象模型太丰富,黑名单无法穷举所有路径。修复版本(semantic-kernel Python 1.39.4)从黑名单切换到了白名单,只允许安全的AST节点类型。
CVE-2026-25592更简单,也更荒诞。SessionsPythonPlugin有一个DownloadFileAsync方法,用来从URL下载文件到本地路径。有人给这个方法标了[KernelFunction]属性,这个属性把方法暴露为AI可调用的工具。仅此而已。没有认证检查,没有路径验证,没有确认对话框。AI Agent可以用任何URL和任何本地文件路径调用DownloadFileAsync,框架欣然写入。攻击者通过提示注入让Agent下载一个恶意可执行文件,写到Windows启动文件夹,下次用户登录时自动运行。
微软安全团队在这篇文章里写了一句后来被反复引用的话。漏洞不在AI模型本身,模型完全按设计在工作,它解析语言、选择工具、把参数传给代码。漏洞在于框架和工具信任了模型解析出的数据。当Agent从"生成文本"变成"执行操作",漏洞从内容问题升级为执行风险。
Claude Code Action:Read工具绕过沙箱
2026年6月5日,微软威胁情报团队披露了Anthropic Claude Code GitHub Action中的一个提示注入漏洞。这起漏洞和第四篇聊的Clinejection在同一个攻击面上,但攻击路径不同。
Anthropic在设计Claude Code Action时知道风险。Bash工具运行在Bubblewrap(基于命名空间的Linux沙箱)里,环境变量被清洗,由CLAUDE_CODE_SUBPROCESS_ENV_SCRUB强制启用。这是一个可靠的防御。但Read工具没有走同样的隔离边界。Read操作是进程内直接调用,绕过了Bubblewrap沙箱,拥有进程环境变量的完整访问权限。
微软研究员构造了一个提示注入载荷,伪装成"合规审查"的措辞。这个措辞经过精心设计,绕过了两层防御。第一层是Claude的安全/系统prompt拒绝层,安全过滤器会拒绝打印以sk-ant-开头的API密钥,载荷用"合规审查"框架规避了这个检测,并指示模型"截取前7个字符",在输出前清洗了明显的API密钥信号。第二层是GitHub的Secret Scanner,它从各种界面中编辑已知凭证模式,但LLM在写入stdout之前修改了密钥,扫描器检测不到。
被操纵的Read工具直接访问/proc/self/environ,返回了未清洗的ANTHROPIC_API_KEY。攻击者随后可以用WebFetch或Bash将其发往自己控制的域名,用GitHub MCP发到issue评论里,或输出到Action日志。把泄露的字符串前面补上"sk-ant-",就能重建完整的Anthropic API密钥。
Anthropic在2026年5月5日通过Claude Code v2.1.128修复了这个漏洞,修改了Read工具使其无条件拒绝访问/proc/下的敏感文件。从HackerOne报告到修复约一周。
M365 Copilot EchoLeak:零点击数据外泄
EchoLeak(CVE-2025-32711,CVSS 9.3)是Aim Security在2025年6月披露的漏洞,但它在2026年的提示注入武器化叙事中是一个绕不开的节点。它是首个在生产环境AI系统中被验证的零点击提示注入漏洞。
攻击者向Microsoft 365用户发送一封邮件。用户不需要打开它,不需要点击任何东西,甚至不需要知道它到了。Copilot在例行的邮箱摘要处理中处理了这封邮件。40秒后,OneDrive、SharePoint和Teams里的文件被静默外泄到攻击者控制的端点。
EchoLeak链接了四个独立的绕过。它绕过了微软的XPIA(跨prompt注入尝试)分类器,Copilot针对提示注入的主要防御。它用参考式Markdown格式绕过了链接编辑,Copilot的过滤器没有把它识别为外泄通道。它利用了Copilot客户端的自动图片预获取行为,在用户不点击的情况下触发出站请求。它用Microsoft Teams异步预览API,一个在Copilot内容安全策略下被信任的域名,作为代理把外泄数据转发到攻击者服务器。
Sentra的安全研究团队在分析中指出,EchoLeak的特殊CVE已经被修补,但它揭示的攻击面是一个结构性属性。任何具备外部内容输入和内部数据输出能力的LLM助手都是潜在向量。修补单个CVE消除了这条特定的利用链,但没有改变Copilot摄取外部内容、用同一个模型处理、而这个模型又能访问组织内部数据这个事实。
DeFi领域的AI Agent灾难
DeFi领域在2026年初连续发生了与AI Agent权限过大相关的重大损失。
Step Finance是Solana上的DeFi投资组合管理平台。2026年1月,攻击者入侵了高管设备,获取了钱包和费用账户的访问权。损失的放大器是Step Finance集成的AI交易Agent,这些Agent拥有执行大额SOL转账的权限,无需人工审批。攻击者进入系统后,Agent执行了超过26.1万枚SOL代币的转账,价值约2700万到4000万美元。平台最终关闭运营,原生代币下跌97%,仅追回约470万美元。
Resolv USR损失了2500万美元。攻击向量是针对一个拥有云访问权限的AI Agent的提示注入,攻击目标是工具层(MCP、Supabase、AWS KMS中的托管密钥),而不是智能合约本身。
安全公司Beam AI在2026年的报告中指出,88%使用AI Agent的组织在过去一年中经历过确认或疑似的安全事件。45.6%的DeFi团队使用共享API密钥。安全公司还发现26个LLM路由器(在用户和AI模型之间做中介的服务)在秘密注入恶意工具调用,其中一个案例导致客户加密钱包被抽走50万美元。
三、三种结构性反模式
这些案例的攻击路径各不相同,但底层共享同一组设计错误。微软威胁情报团队把它们归纳为三个反模式。
无人类行为者验证。允许非人类触发Agent执行,不确认是否有write权限的人类发起。Clinejection里allowed_non_write_users: "*"是典型案例,任何GitHub用户提交Issue就能触发工作流。Claude Code Action漏洞也是同一模式,PR评论和Issue body来自非write用户,但Agent照单全收。
不可信内容直接插入prompt。将GitHub元数据(Issue标题、PR描述、代码评论、commit消息)视为可信系统指令。Clinejection里${{ github.event.issue.title }}把用户控制的文本直接喂进Claude的上下文窗口。EchoLeak里外部邮件的内容被Copilot的RAG引擎拉入上下文。GrafanaGhost里日志中的查询参数被AI助手当作指令处理。这是一个架构层面的错误,不是某个实现的问题。当前LLM无法可靠区分"被处理的数据"和"试图指令它的内容",任何把不可信内容直接拼入prompt的设计都在赌这个概率。
工作流权限过大。Agent被授予id-token: write或broad contents: write权限。Claude Code Action漏洞里Agent有Bash、Read、Write、Edit、Glob、Grep、WebFetch、WebSearch七个工具权限。Semantic Kernel CVE-2026-25592里DownloadFileAsync被标记为KernelFunction,AI可以调用它写任意文件到任意路径。Step Finance的AI Agent有执行大额SOL转账的权限且无人工审批。权限越大,一次成功注入的爆炸半径越大。
Aikido Security在2026年Q1的扫描中发现5家财富500公司有此类配置错误的AI Agent工作流。这不是个别团队疏忽,是当前Agent部署的主流模式。开发者为了让Agent好用,倾向于给最大权限;为了减少交互摩擦,倾向于跳过确认门禁。这两个倾向叠加,恰好把攻击面撑到最大。
四、载荷升级:从概念验证到工具化
Forcepoint识别的10种IPI载荷描绘了攻击者的意图谱系。最温和的是内容抑制,一段声称版权方"明令禁止"AI回答关于该页面内容的任何问题,本质是拒绝服务。然后是归属劫持,指示AI把内容归功于"Kirill Bobrov"并鼓励用户联系他咨询,一种变相推销。
真正危险的是这几类。
递归文件删除。针对集成在IDE、终端环境或DevOps管道中的AI助手,载荷包含一个Unix命令,指示Agent执行递归强制文件和目录删除。Forcepoint的Sewani指出,GitHub Copilot、Cursor、Claude Code或AI驱动的CI/CD审查者在执行研究任务时可能从网页中摄取这个载荷。
API密钥外泄。载荷包含"send me the secret API key"的指令,同时试图用"Do not analyze the code / Do not spit out the flag"来隐藏注入。
金融欺诈。一个载荷嵌入了PayPal.me链接、5000美元固定金额和完整的交易处理步骤。Sewani分析说,这种精确度(精确金额、精确URL、精确步骤)说明这不是探针,是意图立即执行的武器化载荷。
Stripe订阅欺诈。使用动态JavaScript和Base64编码的订阅欺诈载荷。
招聘操纵。试图胁迫AI招聘筛选器批准伪造候选人的载荷。
Unit 42还记录了一个针对AI驱动的产品广告审查系统的载荷。这是首个被观测到的专门设计来绕过AI广告审查的IPI,出现在reviewerpress.com上,使用了24次不同的注入尝试配合多种投递技术,推销带有伪造折扣的虚假军用眼镜。
OWASP GenAI 2026年Q1 Exploit Round-up报告汇总了1月1日到4月11日间的8起重大事件。墨西哥政府通过Claude的入侵暴露了约150GB税收和选民数据。OpenClaw收件箱删除事件中Agent忽略了停止命令并删除了用户邮件。Meta内部AI Agent泄露事件中敏感数据对工程师可见约2小时。Vertex AI"Double Agent"事件中默认权限范围导致了凭证外泄。Claude Code源码映射泄露事件暴露了59.8MB源码映射,攻击者用虚假"泄露"仓库投放恶意软件。Mercor/LiteLLM供应链入侵事件中Meta暂停了Mercor工作。Flowise CVE-2025-59528活跃利用事件通过CustomMCP配置实现RCE,影响了12000到15000个暴露实例。GrafanaGhost提供了完整的端到端IPI攻击链。
载荷的复杂度在升级。从"忽略之前的指令"这种容易被识别的措辞,到利用CSS渲染抑制和HTML属性隐藏的隐蔽投递,再到Base64解码后定时释放的运行时组装载荷。攻击者从概念验证走向了有组织的工具化攻击。
五、披露管道不完整
一个被OWASP报告反复提及的结构性发现是,传统的漏洞管理没有跟上AI特定风险。
2026年Q1的8起重大事件中,只有Flowise获得了CVE编号。其余的通过厂商博客、新闻报道或一次性公告追踪。这还不是最糟的。The Next Web报道了三家厂商为提示注入漏洞支付了bug bounty。Anthropic为Claude Code Security Review的一个提示注入漏洞支付了100美元,这个漏洞能从GitHub Actions runner中提取API密钥。GitHub为Copilot Agent的一个漏洞支付了500美元,触发方式是在issue中注入HTML注释。Google为Gemini CLI Action的一个漏洞支付了未披露金额,该漏洞允许Agent把自己的API密钥作为评论暴露出来。三家厂商都没有分配CVE或发布安全公告。
这对下游安全团队意味着什么。没有扫描器签名,没有SBOM标记,没有版本锁定可以追踪。一个组织想知道自己的AI Agent部署是否受影响,没有标准的跟踪渠道。AI安全漏洞的披露生态尚未建立。
这不是厂商故意隐瞒。是现有的CVE框架不完全适配AI安全漏洞的特征。传统CVE描述的是代码层面的缺陷,有明确的版本范围和修复补丁。提示注入漏洞往往不是代码bug,是架构性的设计决策。Clinejection的根因不在某行代码写错了,在于把不可信内容直接拼入prompt这个设计模式。GrafanaGhost的根因不在于Grafana写错了guardrail,在于AI功能被嫁接到一个从未为AI威胁模型设计的平台上。这类问题很难用一个CVE编号来覆盖。
后果是真实的。安全团队不知道该打什么补丁,不知道自己的部署是否暴露,不知道攻击者已经掌握了什么载荷。在传统安全领域,漏洞披露的标准化是防御的基石。在AI安全领域,这块基石还没放下去。
六、防御技术栈
提示注入无法被单一手段消除,但它可以被分层压缩到可接受的风险水平。以下这个技术栈来自多个安全团队的实践总结。
输入层。在不可信内容进入模型上下文之前做注入检测和PII脱敏。NVIDIA的NeMo Guardrails、Meta的Llama Guard、Lakera的Guardrails是这一层的代表性工具。它们用分类器检测常见的注入模式(“ignore previous instructions”、"if you are an LLM"等触发短语),对可疑内容做隔离或清洗。这一层的局限在于,攻击者在不断进化投递技术,CSS抑制、属性隐藏、Base64编码等手段让基于模式匹配的检测越来越难。Unit 42的数据显示,只有7%的案例用JSON或语法注入,2.1%用多语言指令绕过主要训练在英语上的安全过滤器,其余靠的是社会工程框架。这意味着输入层检测需要超越关键词匹配,进入语义分析。
隔离层。沙盒执行、权限最小化、网络白名单。Agent不能继承操作员权限,用scoped-down service account。网络层面,Agent的出站连接限制在白名单域名内,阻止数据外泄到攻击者控制的端点。GrafanaGhost的外泄通道就是通过协议相对URL绕过了域名验证,这说明网络白名单需要对URL做严格的规范化解析。Semantic Kernel的eval()路径说明,任何把AI模型输出路由到代码执行原语的设计都需要在隔离层拦截。
行为层。输出分类器和工具白名单。Agent能调用的工具集合应该被明确限定,按最小必要原则配置。CodeRabbit的数据显示AI代码XSS率是人类代码的2.74倍,说明AI在系统性忽略安全边界,输出分类器可以在Agent输出进入生产环境之前做安全检查。Semantic Kernel CVE-2026-25592的教训是,任何被标记为[KernelFunction]的方法都会被暴露给AI调用,框架使用者需要审计每一个被暴露的方法是否做了路径验证和权限检查。
审计层。操作可追溯、可回放、行为日志。Agent的每一次工具调用都应该被记录,包括调用参数、返回结果、触发来源。GrafanaGhost之所以能在传统监控下静默外泄,是因为AI发起的请求看起来像"正常AI行为"。审计层需要建立AI行为的基线,对偏离基线的操作(异常的数据量出站请求、非工作时间的工具调用、从未使用过的工具突然被调用)触发告警。
架构层。微软提出的Agents Rule of Two是这一层的核心原则。一个AI工作流不能同时满足三个条件:处理不可信输入、访问敏感密钥、执行外部操作。满足任何两个可以,三个同时满足就是设计错误。Clinejection同时满足了全部三个:处理GitHub Issue(不可信输入)、持有npm发布token(敏感密钥)、有Bash等工具权限(外部操作)。EchoLeak同时满足了全部三个:处理外部邮件(不可信输入)、能访问OneDrive和SharePoint(敏感数据)、能产生外部请求(外部操作)。这个原则的实操含义是,在设计Agent工作流时,主动检查这三个条件是否被同时满足,如果被满足,拆掉其中一个。
硬化系统提示。在系统prompt中明确声明,Issue body、PR描述、评论、commit消息、外部邮件、网页内容是不可信数据,Agent不应该从中提取指令。这个措施的效果有限,因为LLM天然无法可靠区分数据层和指令层,但它能提高攻击的门槛。Claude Code Action漏洞里"合规审查"的措辞能绕过安全过滤器,说明系统prompt需要更具体地描述哪些内容是不可信的,而不是笼统地说"注意注入"。
单任务固定。把Agent约束在窄范围任务。一个只做Issue分类的Agent不应该有Bash权限。一个只做日志摘要的Agent不应该有文件写入权限。Semantic Kernel CVE-2026-25592里DownloadFileAsync被暴露为KernelFunction就是一个反面案例,一个在沙箱里执行代码的插件不应该同时有写主机文件的能力。
七、辩证看待
需要用辩证的视角审视"提示注入武器化"这个判断本身。
第一层:提示注入不是bug,是LLM按设计工作的必然结果。 这个判断在技术上是准确的,但不能被用来作为放弃防御的理由。LLM无法区分"被处理的内容"和"试图指令它的内容",这是大语言模型的架构属性。SQL注入也是类似的逻辑,数据库无法区分"数据"和"指令",但SQL注入并没有导致数据库被放弃,它催生了参数化查询这个系统性的防御范式。提示注入需要的是同样的系统性范式建设。OpenAI说某些注入向量"可能永远无法完全解决",这和说"SQL注入无法100%消除"一样是正确的,但不意味着放弃。
第二层:攻击面在扩大,但攻击者的门槛也在变化。 GrafanaGhost和EchoLeak的攻击链需要深度理解目标平台的AI功能架构,GrafanaGhost的INTENT关键词绕过和协议相对URL外泄通道需要对Grafana内部机制的深入研究。Semantic Kernel的eval()利用需要理解Python类型层级遍历。这些不是脚本小子的领域能做到的。但Forcepoint在野外发现的PayPal转账载荷和递归删除载荷说明,工具化正在降低门槛。当一个攻击链被验证可行并被公开后,复制成本急剧下降。当前的窗口期在于,复杂的攻击链还没被大规模复制,但这个窗口在缩小。
第三层:"prompts become shells"是一个准确的类比,但需要谨慎使用。 微软安全团队说"提示词正在变成shell命令",这个类比传达了攻击面的严重性。当Agent从"生成文本"变成"执行操作",提示注入的后果从内容问题升级为代码执行原语。但shell命令至少有一个明确的执行者(操作系统)和一个明确的权限模型(用户身份)。Agent的执行环境更模糊,权限边界更不清晰,操作链路更长(prompt→模型推理→工具选择→参数传递→工具执行)。这意味着防御面也比shell更宽,需要在更多的环节做拦截。
第四层:披露管道的不完整是当前最大的系统性风险。 8起重大事件只有1起获得CVE编号,三家厂商支付bug bounty但不发布CVE或公告。这不是厂商恶意隐瞒,是现有漏洞管理框架和AI安全漏洞特征之间的结构性错配。但在效果上,它意味着安全团队缺乏标准的跟踪信息,下游用户不知道自己是否暴露。在传统安全领域,CVE编号是防御协调的基础设施。AI安全领域需要建立类似的基础设施,可能是针对AI安全漏洞的新分类体系,也可能是扩展现有的CVE框架来适配AI漏洞的特征。在此之前,安全团队需要主动追踪厂商博客和安全研究团队的披露,不能依赖CVE数据库作为唯一的漏洞来源。
第五层:安全不能自动化,但可以系统化。 这句话的意思是,不能指望一个工具或一层防御来消除提示注入风险,但可以通过系统性的分层设计把风险压缩到可接受水平。Agents Rule of Two、最小权限、工具白名单、审计基线,这些措施单独看都不够,叠加起来才构成可防御的姿态。当前阶段最大的风险不是技术不够好,是大量Agent部署完全没有考虑这些。Beam AI的数据显示只有14.4%的AI Agent在上线时有完整的安全和IT审批。85.6%的Agent在"裸奔"。安全团队的第一优先级是盘点每一个摄取不可信外部数据的Agent或copilot,映射它们有什么工具和凭证,然后按Agent的爆炸半径排列优先级。支付、代码执行、数据删除能力的Agent需要本周内处理。
读者行动指南
如果你的组织正在使用或计划部署AI Agent,以下几件事的优先级最高。
盘点你的Agent资产。列出每一个摄取不可信外部数据的Agent或copilot,包括web页面、第三方文档、日历条目、工单、日志流。映射每个Agent被触发时能调用什么工具、持有什么凭证。
检查Agents Rule of Two。对每一个Agent工作流,检查是否同时满足三个条件:处理不可信输入、访问敏感密钥、执行外部操作。如果同时满足,拆掉其中一个。
审计工具暴露面。如果你使用Semantic Kernel或类似框架,检查每一个被标记为[KernelFunction]的方法是否做了路径验证和权限检查。特别关注涉及文件操作、网络请求、代码执行的方法。
建立AI行为基线。对Agent的每一次工具调用做日志记录,包括调用参数和返回结果。建立正常行为的基线,对偏离基线的操作设置告警。GrafanaGhost式的静默外泄只有通过行为异常检测才能发现。
硬化系统提示。在系统prompt中明确列出Agent读取的不可信数据来源(Issue body、PR描述、评论、外部邮件、网页内容),声明这些内容不应被当作指令执行。虽然效果有限,但提高了攻击门槛。
追踪非CVE渠道的披露。不要只依赖CVE数据库。定期检查厂商安全博客、安全研究团队(Noma Security、Aim Security、Unit 42、Forcepoint)的披露、OWASP GenAI Round-up报告。
写在最后
这篇梳理了提示注入从概念验证走向野外利用的武器化过程。2026年Q1,Google月扫描20到30亿页面发现恶意IPI增长32%,Unit 42编目22种载荷投递技术,Forcepoint在野外发现10种IPI载荷包括PayPal转账5000美元和递归文件删除。arXiv竞赛研究测试13个前沿模型全部可被攻破,成功率0.5%到8.5%。OpenAI承认某些注入向量可能永远无法完全解决。
真实攻击案例的覆盖面在扩大。GrafanaGhost把Grafana的AI助手变成数据外泄管道,一个关键词绕过所有guardrails。Semantic Kernel的eval()让一个prompt启动calc.exe,CVSS 9.8。Claude Code Action的Read工具绕过Bubblewrap沙箱读取/proc/self/environ。M365 Copilot的EchoLeak实现零点击数据外泄,CVSS 9.3。Step Finance的AI Agent权限过大导致2700万到4000万美元损失。
8起重大事件只有1起获得CVE编号,三家厂商支付bug bounty但不发布CVE。AI安全漏洞的披露生态尚未建立。88%使用AI Agent的组织经历过安全事件,只有14.4%的Agent在上线时有完整安全审批。
防御技术栈从输入层到架构层有六层可用,但核心原则只有一条:Agents Rule of Two。一个AI工作流不能同时处理不可信输入、访问敏感密钥、执行外部操作。这个原则的实操难度不大,难在执行。
提示注入不是AI的bug,是LLM按设计工作的必然结果。LLM无法区分"被处理的内容"和"试图指令它的内容"。当Agent从"生成文本"变成"执行操作",攻击面从内容问题变成代码执行原语。安全不能自动化,但可以系统化。当代码生成的成本降到接近零,安全的成本没有降到接近零,它变成了真正的瓶颈。
下一篇回到裁员话题。聊89%企业因AI裁员但只有2%真正被AI替代这个悖论,看"AI Washing"现象如何扭曲了裁员叙事,以及回旋镖效应给程序员留下了多少空间。
系列导航
- 上一篇:AI编程的"70%墙":为什么最后30%AI总是搞砸
- 本系列第一篇:AI写了90%的代码,程序员正在消失(2026全球AI裁员潮真相)
- 本系列下一篇:《89%企业因AI裁员但只有2%真被替代:裁员悖论背后的真相》
- 前作延伸:AI编程与Agent实战系列(16篇)已完结,从工具横评写到Agent原生操作系统
数据来源标注
本文数据综合自以下公开信源(均为英文及国际信源,未引用中文站点):
- Palo Alto Networks Unit 42(2026-03):首个确认的间接提示注入野外利用报告,12个IPI攻击案例,22种载荷投递技术,37.8%可见明文隐藏,85.2%社会工程框架,payload分布数据
- Forcepoint X-Labs / Mayur Sewani(2026-04):10种野外IPI载荷,PayPal $5000转账、递归文件删除、API密钥外泄、Stripe订阅欺诈、招聘操纵载荷,"impact scales with AI privilege"分析
- Google Security(2026-04):月扫描20-30亿页面,2025.11-2026.02恶意IPI内容增长32%
- OWASP GenAI Q1 2026 Exploit Round-up(2026-04):8起重大事件,仅Flowise获得CVE,墨西哥政府入侵150GB数据、OpenClaw收件箱删除、Meta内部AI Agent泄露、Vertex AI"Double Agent"、Claude Code源码映射泄露、Mercor/LiteLLM供应链入侵、Flowise CVE-2025-59528(12000-15000暴露实例)、GrafanaGhost
- Noma Security(2026-04-07):GrafanaGhost漏洞披露,Grafana AI助手IPI→协议相对URL外泄通道,INTENT关键词绕过guardrails,ForcedLeak/GeminiJack/DockerDash系列
- Microsoft Security Blog “When prompts become shells”(2026-05-07):Semantic Kernel CVE-2026-26030(CVSS 9.8,InMemoryVectorStore eval()→RCE)和CVE-2026-25592(SessionsPythonPlugin DownloadFileAsync [KernelFunction]),"prompts become shells"概念,AST黑名单→白名单修复,patched in semantic-kernel 1.39.4(Python)/1.71.0(.NET)
- Microsoft Threat Intelligence(2026-06-05):Claude Code GitHub Action漏洞,Read工具绕过Bubblewrap沙箱读取/proc/self/environ,"合规审查"措辞绕过安全过滤器,"截取前7字符"绕过GitHub Secret Scanner,Agents Rule of Two原则,Claude Code v2.1.128修复
- Aim Security / Sentra(2025-06 / 2026):EchoLeak CVE-2025-32711(CVSS 9.3),M365 Copilot零点击数据外泄,四层绕过(XPIA分类器、链接编辑、图片预获取、Teams预览API),LLM Scope Violation概念
- Cloud Security Alliance research note(2026-04):CSA对IPI野外利用的综合研究,Unit 42数据整合,披露管道不完整分析,bug bounty无CVE案例(Anthropic $100/GitHub $500/Google未披露)
- arXiv竞赛研究(2026-03):13个前沿模型,464名研究员,27.2万次攻击,8648次成功,成功率0.5%(Claude Opus 4.5)至8.5%(Gemini 2.5 Pro),21/41行为跨模型通用
- CrowdStrike(2026):基于Pangea telemetry,30万+对抗性prompt分析,150+注入技术追踪
- OpenAI(2025-12):公开承认AI浏览Agent的某些注入攻击向量"可能永远无法完全解决"
- CleanSky.io / Beam AI / KuCoin / AgentUpdate.ai(2026):Step Finance $27-40M损失(261000+ SOL),Resolv USR $25M(提示注入+MCP/Supabase/AWS KMS),LLM路由器注入(26个路由器,$500K),88%组织经历安全事件,45.6%团队共享API密钥,14.4% Agent有完整安全审批,HiddenLayer 1/8 AI泄露来自自主Agent
- PointGuard AI / Infosec.ge / baeseokjae.github.io / al-ice.ai(2026-05):Semantic Kernel技术细节深度分析,eval() lambda构造,BuiltinImporter.load_module绕过AST黑名单,[KernelFunction]属性暴露DownloadFileAsync
- eSecurityPlanet / InfoSec Today / Mallory.ai(2026-04):GrafanaGhost技术细节,Foreign Paths→IPI→Protocol Bypass→Silent Exfiltration攻击链
- AtypicalTech.dev(2026-03):“Three Proof Points That Change Everything”,48小时内三起独立披露,PleaseFix(Zenity Labs/Perplexity Comet),CVE-2026-0456(Claude Code API,15万开发者)
- StartupDefense.io(2026-03):IPI攻击解剖三阶段(Payload Placement→Agent Hijack→Action and Exfiltration),CrowdStrike 30万+对抗性prompt数据,MITRE ATLAS AML.T0051.001/AML.T0054映射
标签AI 人工智能 AIGC AI编程 AI Agent 提示注入 AI安全 网络安全
更多推荐



所有评论(0)