-
-
[原创]穿透AI智能体的四层攻击面:深度拆解腾讯朱雀实验室AI-Infra-Guard框架
-
发表于: 13小时前 214
-
随着大模型推理引擎、Agent平台、MCP(Model Context Protocol)生态的爆发式增长,AI基础设施已经演变成了一个全新的、暴露在互联网上的高风险软件种群。从Ollama、vLLM到Dify、Coze,这些组件往往由缺乏安全背景的团队部署,且大量直接暴露于公网。面对这一新兴的、极度异构的攻击面,传统安全工具(如Nuclei、Semgrep甚至常规的渗透测试方法论)集体失效。
在这样的背景下,腾讯朱雀实验室发布了 AI-Infra-Guard技术报告,并提出了一个极具洞察力的核心论点:AI攻击面是分层(Stratified)的,不存在一种通用的检测范式能够覆盖所有层级。 该框架首次将AI安全评估系统地解构为四个抽象层,并为每一层匹配了最适宜的探测范式。本文深入剖析这一框架背后的设计哲学、核心模块与工程实现细节。

一、 核心理论:为什么单一工具无法守护AI系统?
在传统的Web安全中,我们可以相对统一地使用静态分析、DAST扫描或人工渗透测试。但现代AI系统是一个由模型服务基础设施、外部工具协议、动态安装的能力包、运行时Agent行为以及底层语言模型共同构成的生态系统。这四层的安全语义截然不同:
• 基础设施层:一个未鉴权的Ollama实例,属于传统的基础设施暴露。
• 协议/工具层:MCP服务器工具描述中被注入的恶意指令,属于语义操纵。
• Agent行为层:在生产运行时被诱导泄露系统提示词,属于运行时弱点。
• 模型层:模型在面对对抗性越狱提示时遵从有害指令,属于对齐失败。
这四种风险不仅在实现细节上不同,其确立漏洞存在的“证据类别(Evidence Class)”也完全不同。AI-Infra-Guard在论文中精确定义了四种递进的证据类:
签名证据(Signature):已知外部模式的直接观测(如软件指纹、暴露的配置文件)。
语义证据(Semantic):需要对代码、元数据或声明式工件进行推理才能发现(如不安全的数据流、隐藏的提示注入)。
行为证据(Behavioral):仅在与被测系统的运行时交互中出现(如越权、工具滥用)。
统计证据(Statistical):无法通过单次交互判定,必须聚合大量对抗性试验(如越狱鲁棒性评估)。
核心设计原则——层适应评估(Layer-Adaptive Assessment):每个攻击面层都应使用“能产生确立该层安全发现所需证据的、成本最低的评估范式”。这就是AI-Infra-Guard的基石。
二、 基础设施层:确定性规则的高速指纹匹配
对应范式:确定性规则匹配(Deterministic Rule Matching)
基础设施层的问题很直接:目标上运行着什么AI软件?哪个版本?是否存在已知漏洞?难点在于,现有指纹数据库(如CVE库)严重缺乏对这些新兴AI组件的覆盖,且AI软件的版本号极其不规则(如llama.cpp的b7824,或滚动更新的latest标签),传统的语义化版本比较逻辑在此完全崩溃。
技术亮点:
专用匹配语言与解释器:框架没有使用简单的正则,而是实现了一个轻量级的布尔表达式语言,包含词法分析器、递归下降解析器和AST求值器。支持对HTTP响应体、Header、Favicon哈希和响应摘要进行子串包含、精确匹配、正则匹配等操作。
版本归一化(Version Normalization):这是工程上的关键一笔。引擎在比较前对版本字符串进行清洗:剥离前缀v、将.dev后缀置零、将latest映射为最大版本哨兵值。这使得不规则版本能够在统一的总序下进行比较。
精度分层(Precision Stratification):框架诚实地将扫描结果分为三级: ◦ 已验证发现(Verified):通过主动探测危险路径并确认返回敏感内容(如请求.cursor/mcp.json并验证JSON结构)。
◦ 基于版本的发现(Version-based):标准CVE匹配。
◦ 推断发现(Inferred):当规则无版本谓词时,仅凭组件身份触发(适用于所有版本均受影响或暂无PoC的0day)。
这种分层让使用者能清晰权衡置信度,同时也揭示了为何需要上层范式——当AI组件太新以至于没有公开漏洞库时,规则推断必须依靠上层的语义分析来补足。
三、 MCP服务器审计:把LLM变成领域安全审计员
对应范式:LLM驱动的智能体化审计(LLM-driven Agentic Auditing)
MCP服务器是AI Agent的“手脚”,其暴露的漏洞(如命令注入、凭证窃取、工具描述投毒)无法用固定签名表达。这里,AI-Infra-Guard做了一个巧妙的设计决策:不把LLM当作一次性分类器,而是将其作为推理核心,嵌入到一个受控的“智能体化审计基座(Agentic Harness)”中。
技术亮点:
Prompt-as-Rule(提示即规则):这是该框架最重要的创新之一。它将检测知识编码为自然语言的标准(而非死板的模式匹配)。例如,静态审计提示中枚举了十种检测模式(涵盖OWASP MCP Top 10),包括工具投毒、工具影子、Rug Pulls等MCP特有攻击。规则中花费大量篇幅定义排除条件(Exclusion Conditions)——因为LLM审计器最大的故障模式就是“过度报告”,必须通过排除条件来抑制模型的“热情”。
双模审计(静态白盒 vs 动态黑盒): ◦ 静态模式:通过多阶段流水线(信息收集 -> 代码审计 -> 漏洞审查),赋予模型read_file、grep等工具,让其像人类审计员一样追踪污点。
◦ 动态模式:面对无法获取源码的远程MCP服务器,审计器仅通过协议枚举工具名称、描述和输入模式,然后生成测试负载并调用工具。这里有一个极具洞察力的推论:工具投毒的攻击向量正是工具描述本身,因此动态审计器无需源码即可评估此风险。
防御审计器自身:这是一个常被忽视的关键点。当LLM审计器读取不受信任的代码或调用不受信任的工具时,它本身就可能成为间接提示注入的受害者。框架为此设计了双层防御:在提示层面要求模型将数据视为不可信输入;在执行层面通过路径沙箱(Path Sandbox)隔离文件访问,并结构性分离模型指令与观察到的数据。
四、 Agent技能供应链扫描:AI时代的“插件安全”
对应范式:受控的语义安全分析
随着OpenClaw、Cursor等生态的兴起,Agent Skills(通常以SKILL.md为中心的项目包)成为了新的供应链攻击载体。一个恶意技能可能在安装脚本中嵌入curl|bash,或在清单中藏匿对抗性指令。
技术亮点:
分阶段分析管道:预处理与文件索引 -> 静态风险线索检索(快速搜索危险指标如反向Shell、云元数据访问) -> AI审计智能体(在受限工具环境中进行深度语义推理)。
客观证据锚定:为了降低误报,框架集成了腾讯云威胁情报API,对可疑下载URL、二进制哈希进行信誉评估。同时,扫描器本身绝不执行目标技能,所有判断均基于静态和语义分析。
SkillTrustBench基准:团队发布了首个联合衡量技能可信度与外部扫描器检测效果的基准,包含5520个真实案例。测试显示,使用Claude Opus 4.6等顶级模型时,松F1分数可达0.9848,证明了该范式的高效性。
五、 AI Agent红队测试:基于对话的黑盒博弈
对应范式:多轮黑盒红队测试(Multi-turn Black-box Red Teaming)
生产环境中的Agent行为弱点(如泄露系统提示、滥用工具、遵循隐藏指令)只能通过对话交互发现。由于每次对话都涉及成本(金钱与速率限制),设计必须在预算内最大化覆盖率。
技术亮点:
能力感知与升级阶梯(Escalation Ladder):工人(Worker)首先审查侦察报告,如果目标不具备某项能力(如无检索工具),则立即放弃该类测试。攻击从直接的良性探测开始,逐步升级到角色扮演、编码绕过,最后才使用公然的越狱尝试。一旦确认某个漏洞,立即停止对该类型的进一步探测(Stop Rule),从而节省大量成本。
客观验证机制:为了减少主观判断,框架大量使用“金丝雀令牌(Canary Token)”和“植入标记”。例如在SSRF测试中,诱使Agent访问一个包含特定令牌的URL,只有当回复中包含该令牌时才确认漏洞。这直接将判断降级为一个确定性的字符串匹配操作。
四大风险家族:数据泄露(系统提示、密钥)、工具滥用(命令注入、路径遍历)、间接注入(文档中隐藏指令)、授权绕过(跨租户访问)。每种都有清晰的“脆弱/安全”判定标准。
六、 模型越狱评估:大规模攻击算子库
对应范式:攻击算子枚举与基于模型的评判
最深层是模型本身的对齐鲁棒性。这是一个统计问题,需要大规模、多样化的对抗变换。
技术亮点:
庞大的攻击库:集成了单轮和多轮算子。单轮包含约70种编码/混淆变换(从base64到零宽字符);多轮包含Crescendo(渐进升级)、Tree-of-Attacks(树搜索)、Best-of-N采样等。
可组合的评估三角:每次运行由三个要素组合而成——漏洞类型(危害分类)、攻击算子(技术)、评判指标。评判由“LLM即法官(LLM-as-Judge)”执行,支持通用越狱判断和特定危害判断。
16个数据集,超7200个提示:涵盖了从暴力、非法活动到隐私、知识产权等多个领域,能够输出可直接比较的攻击成功率(ASR)剖面。
七、 系统架构与三大跨领域设计模式
AI-Infra-Guard采用中心化Server-Agent分布式架构,Go编写的Worker处理高速扫描,Python子进程处理LLM驱动模块。这种统一性使得毫秒级完成的任务与耗时数十分钟的任务能通过同一WebSocket/SSE通道分发和流式上报。
纵观整个框架,有三个设计模式值得所有AI安全从业者借鉴:
Prompt-as-Rule的演进:检测知识从布尔谓词(M1),演变为带排除条件的自然语言标准(M2),再到结构化任务规范(M3)。核心教训是:LLM检测器的规则不仅要定义“什么是漏洞”,更要定义“什么不是漏洞”以对抗模型的过度报告倾向。
主观判断的客观锚定:在任何可能的地方,用确定性检查取代LLM的阅读判断。无论是SSRF的金丝雀令牌还是配置泄露的主动验证,都能让发现具备自证证明力。
扫描器即攻击目标:任何摄入不受信任代码的LLM安全工具,都必须防御针对自身的间接提示注入。M2的双层防御(非信任数据提示 + 指令与观察的结构性分离)应成为行业标准。
结语
AI-Infra-Guard并非四个独立工具的简单堆砌,而是层-范式匹配(Layer-Paradigm Matching)这一统一理论的工程结晶。它首次打通了从基础设施指纹到模型对齐评估的完整链条,填补了开源社区在AI Agent全栈安全评估领域的空白。
随着MCP生态和Agent技能的爆炸式增长,攻击面只会更加复杂。腾讯朱雀实验室将这个框架开源,不仅为社区提供了一个可扩展的基础平台,更重要的是,它为我们提供了一种应对AI安全异质性的方法论。对于安全研究者而言,深入理解并参与贡献这一框架,将是把握下一代AI安全防御脉搏的关键。
技术报告链接:f44K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6S2M7Y4S2A6N6W2)9J5k6h3!0J5k6#2)9J5c8Y4m8V1k6W2)9J5c8U0t1$3x3o6k6Q4x3X3f1K6x3e0t1J5y4H3`.`. 开源地址:e84K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6f1k6h3&6U0k6h3&6@1i4K6u0r3b7f1W2Q4x3X3c8u0L8X3k6J5j5g2)9J5k6p5N6#2j5i4u0V1
[招生]科锐逆向工程师培训(2026年7月3日实地,远程教学同时开班, 第56期)!