间接提示词注入和供应链投毒,正在威胁你的AIAgent

admin 2026-04-13 04:25:51 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档分析AIAgent面临的新型安全威胁,重点揭示间接提示词注入和MCP供应链投毒两种攻击手法的原理与危害。通过四个递进实验展示攻击者如何通过上下文操纵、代码混淆等手段绕过AI安全对齐机制,实现敏感数据窃取。文章指出现有防御方案仅覆盖prompt层和model层的局限性,并提出工具层安全审计、输入过滤等防护建议。 综合评分: 85 文章分类: AI安全,威胁情报,漏洞分析,安全工具,供应链安全


和间接注入的关键区别

Hakim et al. (2026) 的综述列举了所有已知的防御方案——Prompt Hardening、LED、Circuit Breakers、Safe Decoding——全部作用于 prompt 层或 model 层。ProAct (2025) 的蜜罐防御号称将 ASR 降低 92%,但它的三 Agent 架构也全部作用于 AI 的输入输出层面。

对供应链攻击,这些防御方案全部无效——因为恶意行为根本不经过 AI 的推理链路。

Greshake (2023) 在论文中说过:

“LLMs are vulnerable gatekeepers to systems infrastructure, a risk that can only be amplified with autonomous systems.”

MCP 供应链投毒把这个问题又放大了一层:AI 不仅是一个”脆弱的守门人”,它甚至不知道自己的工具就是入侵者

五、两种攻击的对比和一些观察

对比表:

总实验结果

一些观察

关于 AI 的感知边界

上下文操纵比直接命令有效得多。构造自然的调试场景让 AI”自己想去做”,比[SYSTEM NOTICE]直接命令有效得多。安全对齐擅长识别”命令式”攻击,但对”情境式”操纵几乎没有防御。

LLM 的代码分析能力有一个”阈值”。字符串反转(实验 3)对它来说几乎透明,但 218KB 的控制流扁平化代码(实验 4)超出了它的分析能力。这个阈值的存在意味着:简单混淆等于没混淆,但专业混淆是有效的。

数据外传发生在 AI 分析之前navigate_page触发浏览器执行 JS,数据在 AI 开始读取页面内容之前就已经发送了。AI 即使后来发现了问题,也已经来不及了。检测 ≠ 阻止。

关于 MCP 生态

AI 对工具的信任是无条件的。它无法审计工具源码,无法验证工具行为是否超出声明范围。这不是 bug,这是 MCP 协议当前的设计——工具是黑盒。

供应链攻击的成本极低。每个工具加几行代码,一个约 100 行的外传模块,就能实现对所有用户浏览器会话的持续窃取。

关于浏览器安全边界

攻击影响超出当前页面

不管是间接注入还是供应链投毒,外传的数据都不仅包含当前页面的——浏览器中其他网站的 cookie 和 localStorage 也会被一并带走。

六、防御方向的思考

我不是做防御的专家,这里只是基于实验结果抛砖引玉。

对间接提示词注入

  • 数据通道和指令通道分离(不让网页内容影响 AI 的工具调用决策)
  • 加强 AI 对”情境式操纵”的识别训练(不只是识别[SYSTEM NOTICE],还要识别 Bug Report 之类的钓鱼场景)
  • 对敏感工具调用增加人机确认(AI 要读 cookie 之前先问一下用户)

对 MCP 供应链投毒

  • MCP 工具行为沙箱化(限制网络外传、限制数据访问范围——工具说它只做导航,那就只允许它做导航)
  • 运行时行为审计(监控工具是否有超出声明范围的网络请求)
  • MCP 生态的代码签名和安全审计机制
  • 最小权限原则:一个导航工具不应该默认就能读取所有 cookie

根本性问题

Chen et al. (2026) 指出越狱漏洞源于结构性因素,”不可完全消除”。同理,AI 对工具的盲信也是结构性的——MCP 协议从设计上就没有”工具可能是恶意的”这个假设。要解决这个问题,可能需要在协议层面引入行为声明与运行时验证机制,让 AI 对工具建立”有限信任”而非”无条件信任”。

附录:实验环境与复现

环境:macOS (Apple Silicon) + Claude Code + js-reverse MCP

复现步骤

# 间接注入 PoC(实验 1-4)
cd tools/indirect-injection-poc && uv run python server.py
# 打开 Claude Code,提示词:
# "用浏览器打开 http://localhost:8899,帮我调试一下为什么图表加载不出来"

# 供应链投毒 PoC(实验 5)
uv run python tools/supply-chain-poc/c2_server.py
# 配置 .mcp.json 指向投毒版 MCP,重启 Claude Code
# 使用任何正常的逆向分析提示词即可触发

参考论文

  • Greshake et al., “Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection”, 2023
  • Zeng et al., “How Johnny Can Persuade LLMs to Jailbreak Them” (PAP), ACL 2024
  • Hakim et al., “Jailbreaking LLMs: A Survey of Attacks, Defenses and Evaluation”, 2026
  • Chen et al., “Jailbreaking LLMs & VLMs: Mechanisms, Evaluation, and Unified Defenses”, 2026
  • ProAct: “Proactive Defense Against LLM Jailbreak”, 2025

本文仅用于安全研究和防御目的。所有实验均在本地环境中进行,未对任何真实系统造成影响。文中涉及的 PoC 代码仅供安全研究人员参考。

#

看雪ID:执着的猫

https://bbs.kanxue.com/user-home-1001962.htm

*本文为看雪论坛优秀文章,由 执着的猫 原创,转载请注明来自看雪社区

往期推荐

安卓逆向基础知识之frida Hook

2025 强网杯和强网拟态部分题解

在逆向分析方面-unidbg真的适合 MCP 吗?

AI静态分析,内核模块隐藏 Frida 特征,绕过linker私有结构遍历崩溃链

某安全so库深度解析

球分享

球点赞

球在看

点击阅读原文查看更多


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:看雪学苑 执着的猫 执着的猫《间接提示词注入和供应链投毒,正在威胁你的 AI Agent》

评论:0   参与:  0