
随着大模型能力逐渐从"对话理解"走向"工具调用与自主执行",AI系统的架构正在快速演进为以MCP(Model Context Protocol)为核心的插件化与工具编排体系。在这种模式下模型不再只是信息生成器,而是可以直接访问外部数据源、调用API、操作系统资源甚至编排多步骤任务的“执行型智能体”。能力增强的同时,攻击面也随之扩展:从Prompt层面的注入,到工具链的供应链污染,再到上下文与权限边界的失控,MCP正在成为连接模型与现实系统的关键风险枢纽。OWASP MCP Top 10正是在这一背景下对AI工具协议层面潜在安全问题的系统性总结与风险归纳,不仅关注传统的软件安全问题,而且更聚焦于模型与外部系统交互过程中产生的新型攻击路径,例如:工具滥用、上下文污染、权限提升、数据外泄以及跨组件信任链断裂等问题。本文将从攻击视角出发,结合真实AI Agent架构,深入拆解MCP协议在实际应用中的十大核心风险
Token Mismanagement & Secret Exposure(Token管理不当与密钥泄露)是指在MCP(Model Context Protocol)驱动的AI Agent系统中由于访问Token、API Key、OAuth凭证、会话令牌等敏感认证信息在生成、传输、存储或使用过程中缺乏严格的隔离与保护机制,从而导致密钥被意外暴露、滥用或被攻击者窃取的一类安全风险。在MCP架构下模型往往需要通过工具调用访问外部系统(例如:数据库、云服务、企业API等),这些调用依赖于Token进行身份认证,如果Token被嵌入Prompt上下文、记录在日志中、暴露在工具返回结果里或被低权限组件间接访问就可能被恶意利用实现越权操作、数据泄露甚至持久化控制。例如:攻击者通过Prompt Injection诱导模型输出隐藏的API Key通过工具返回未过滤的调试信息获取凭证,进而在系统外部直接调用敏感接口。OWASP将其视为典型的"AI执行链凭证泄露风险",其本质是认证信息未与模型上下文和执行环境严格解耦,导致信任边界被打破
Token管理不当与密钥泄露典型攻击场景包括:

Privilege Escalation via Scope Creep(权限通过范围扩张导致的提升)是指在MCP驱动的AI Agent系统中原本被严格限制在最小权限范围内的Token、工具或Skill,在长期运行、迭代更新或上下文累积过程中,由于权限Scope逐步扩展、继承或叠加,最终突破初始授权边界,从而形成隐式权限升级的一类安全风险。在实际场景中这种风险通常不会通过显式的权限变更触发,而是通过"功能增强"、"工具链扩展"、"上下文复用"或"多工具组合调用"等方式逐步发生,例如:一个仅允许读取数据的Token,在后续版本更新中被扩展支持写操作或跨域访问,但原有策略未同步收紧,导致Agent在无感知情况下获得更高权限。此外Prompt注入或工具链编排也可能诱导系统在执行过程中动态拼接更高权限Scope,使攻击者间接实现权限提升。OWASP将其视为典型的"渐进式权限失控风险",其本质是权限边界在系统演化过程中被逐步侵蚀,而非一次性被突破
常见的权限范围扩展攻击场景包括:

Tool Poisoning(工具投毒)是指在MCP架构中攻击者通过篡改、伪造或污染工具(Tool)、插件(Plugin)或其描述元数据,使AI Agent在调用工具时执行非预期甚至恶意行为的一类安全风险。在MCP生态中Tool通常以标准化接口形式被模型自动选择与调用,例如:API工具、数据库查询工具或外部服务插件,而这些工具的调用依据往往来自其名称、描述、参数Schema或返回结果,如果攻击者能够在工具注册阶段或供应链环节注入恶意工具或者通过篡改工具描述信息,误导模型选择就可能使Agent在无感知情况下调用被污染的工具,从而导致数据泄露、命令执行或权限滥用。此外即使工具本身合法也可能在版本更新或依赖链中被植入恶意逻辑,使其在特定条件下执行隐蔽攻击行为。OWASP将其定义为典型的AI工具信任链污染风险,其本质是模型对工具元数据的过度信任以及工具执行边界缺乏验证机制所导致的系统性安全问题
工具投毒风险攻击场景包括:

┌──────────────────────────────────────────────────────────────┐
│ 📦 1. Tool注册阶段(Tool Registry) │
│ Tools / Plugins / MCP Connectors / Functions │
└──────────────────────────────────────────────────────────────┘
│
▼
🔴【卡点1:工具身份认证(Tool Identity Verification)】
- 发布者身份验证(Publisher Auth)
- Tool签名校验(Digital Signature)
- 来源白名单(Trusted Registry Only)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧾 2. Tool元数据解析(Metadata Layer) │
│ description / schema / tags / permissions │
└──────────────────────────────────────────────────────────────┘
│
▼
🟠【卡点2:元数据可信校验(Metadata Integrity Check)】
- description不可伪造验证
- schema结构一致性检测
- 权限声明真实性校验
- AI辅助语义异常检测
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧠 3. LLM工具选择层(Tool Selection Layer) │
│ Agent decides which tool to call │
└──────────────────────────────────────────────────────────────┘
│
▼
🟡【卡点3:工具选择约束(Constrained Tool Selection)】
- 仅允许白名单工具进入候选集
- 语义匹配 + 策略过滤双层校验
- 禁止“描述驱动唯一决策”
│
▼
┌──────────────────────────────────────────────────────────────┐
│ ⚙️ 4. Tool执行层(Execution Sandbox) │
│ Tool runtime / API call / external systems │
└──────────────────────────────────────────────────────────────┘
│
▼
🔵【卡点4:沙箱隔离执行(Isolated Execution Sandbox)】
- Tool运行在隔离环境(Container/VM)
- 禁止直接系统访问
- 网络访问白名单控制
- 文件系统只读/受控写入
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧪 5. 行为监控层(Runtime Monitoring) │
│ Execution logs / tool calls / network activity │
└──────────────────────────────────────────────────────────────┘
│
▼
🟣【卡点5:行为分析与异常检测(Behavior Defense)】
- 异常外联检测(C2 / exfiltration)
- 非预期API调用检测
- Tool行为画像建模
- Prompt-Tool联动异常分析
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 📊 6. 安全治理层(Governance Layer) │
│ Audit / Policy / Threat Intel / Incident Response │
└──────────────────────────────────────────────────────────────┘
│
▼
⚫【卡点6:审计 + 回滚机制(Audit & Recovery)】
- Tool版本回滚(Rollback)
- 恶意Tool隔离(Quarantine)
- 调用链溯源(Traceability)
- 威胁情报联动更新(TI Integration)供应链攻击常见的攻击路径包括

┌──────────────────────────────────────────────────────────────┐
│ 📥 1. 依赖引入阶段(Source Intake) │
│ Package / SDK / Model / Plugin / Container Image │
└──────────────────────────────────────────────────────────────┘
│
▼
🔴【卡点1:可信来源控制(Trusted Source Gate)】
- 官方仓库白名单(Allowlist Registry)
- 发布者身份认证(Publisher Identity Verification)
- 非授权源阻断(Untrusted Source Blocking)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🔍 2. 依赖校验阶段(Verification Layer) │
│ Version Check / Signature / Hash / Metadata │
└──────────────────────────────────────────────────────────────┘
│
▼
🟠【卡点2:完整性验证(Integrity Verification)】
- 数字签名校验(Signature Verification)
- Hash一致性检查(Checksum Validation)
- 版本锁定(Version Pinning)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧪 3. 构建分析阶段(Build-Time Security) │
│ CI/CD / Dependency Resolver / Build Pipeline │
└──────────────────────────────────────────────────────────────┘
│
▼
🟡【卡点3:供应链安全扫描(SCA + AI Scan)】
- SCA依赖漏洞扫描
- 恶意代码检测(Static + AI-based Scan)
- 依赖树风险分析(Dependency Graph Risk)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ ⚙️ 4. 部署阶段(Deployment Gate) │
│ Agent Runtime / Tool Loader / Container Runtime │
└──────────────────────────────────────────────────────────────┘
│
▼
🔵【卡点4:沙箱隔离执行(Sandboxed Deployment)】
- 容器/VM隔离执行
- 文件系统/网络访问限制
- 最小权限运行(Least Privilege Runtime)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧠 5. 运行时阶段(Runtime Monitoring) │
│ MCP Agent / Tools / Dependencies Execution │
└──────────────────────────────────────────────────────────────┘
│
▼
🟣【卡点5:行为监控与异常检测(Runtime Defense)】
- 异常网络外联检测(Egress Monitoring)
- Tool调用行为分析
- 数据访问模式检测
- Prompt/Tool联动异常识别
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 📊 6. 持续治理阶段(Continuous Defense) │
│ Audit / Telemetry / Threat Intelligence / Response │
└──────────────────────────────────────────────────────────────┘
│
▼
⚫【卡点6:自动响应与回滚(Auto Response System)】
- 自动回滚恶意版本(Rollback Mechanism)
- 紧急隔离依赖(Quarantine System)
- 攻击溯源分析(Forensics Pipeline)
- Threat Intelligence 联动更新Command Injection & Execution(命令注入与执行风险)是指在MCP驱动的AI Agent系统中,攻击者通过构造恶意输入、Prompt注入或工具参数污染,使模型在调用外部工具、系统命令或API时将不可信数据错误地当作可执行指令,从而触发非预期的命令执行行为的一类安全风险。在MCP架构中Agent通常具备调用操作系统命令、数据库查询、代码执行器或外部API的能力,这些执行链路往往依赖于模型对自然语言指令的解析与工具参数的动态生成。如果输入未经过严格的结构化约束或安全过滤,攻击者可以通过"指令嵌套"、"参数拼接污染"或"上下文混淆"等方式将恶意命令隐藏在正常任务请求中,使模型在无感知情况下执行如shell命令、SQL注入、代码执行或远程API调用等高危操作。OWASP将其定义为典型的"AI执行链路注入风险",其本质是自然语言与可执行指令之间缺乏安全边界隔离,导致模型成为间接命令执行器
命令注入与执行攻击风险场景的攻击场景包括:


┌──────────────────────────────────────────────────────────────┐
│ 📥 1. 依赖引入阶段(Source Intake) │
│ Package / SDK / Model / Plugin / Container Image │
└──────────────────────────────────────────────────────────────┘
│
▼
🔴【卡点1:可信来源控制(Trusted Source Gate)】
- 官方仓库白名单(Allowlist Registry)
- 发布者身份认证(Publisher Identity Verification)
- 非授权源阻断(Untrusted Source Blocking)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🔍 2. 依赖校验阶段(Verification Layer) │
│ Version Check / Signature / Hash / Metadata │
└──────────────────────────────────────────────────────────────┘
│
▼
🟠【卡点2:完整性验证(Integrity Verification)】
- 数字签名校验(Signature Verification)
- Hash一致性检查(Checksum Validation)
- 版本锁定(Version Pinning)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧪 3. 构建分析阶段(Build-Time Security) │
│ CI/CD / Dependency Resolver / Build Pipeline │
└──────────────────────────────────────────────────────────────┘
│
▼
🟡【卡点3:供应链安全扫描(SCA + AI Scan)】
- SCA依赖漏洞扫描
- 恶意代码检测(Static + AI-based Scan)
- 依赖树风险分析(Dependency Graph Risk)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ ⚙️ 4. 部署阶段(Deployment Gate) │
│ Agent Runtime / Tool Loader / Container Runtime │
└──────────────────────────────────────────────────────────────┘
│
▼
🔵【卡点4:沙箱隔离执行(Sandboxed Deployment)】
- 容器/VM隔离执行
- 文件系统/网络访问限制
- 最小权限运行(Least Privilege Runtime)
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 🧠 5. 运行时阶段(Runtime Monitoring) │
│ MCP Agent / Tools / Dependencies Execution │
└──────────────────────────────────────────────────────────────┘
│
▼
🟣【卡点5:行为监控与异常检测(Runtime Defense)】
- 异常网络外联检测(Egress Monitoring)
- Tool调用行为分析
- 数据访问模式检测
- Prompt/Tool联动异常识别
│
▼
┌──────────────────────────────────────────────────────────────┐
│ 📊 6. 持续治理阶段(Continuous Defense) │
│ Audit / Telemetry / Threat Intelligence / Response │
└──────────────────────────────────────────────────────────────┘
│
▼
⚫【卡点6:自动响应与回滚(Auto Response System)】
- 自动回滚恶意版本(Rollback Mechanism)
- 紧急隔离依赖(Quarantine System)
- 攻击溯源分析(Forensics Pipeline)
- Threat Intelligence 联动更新Command Injection & Execution(命令注入与执行风险)是指在MCP驱动的AI Agent系统中,攻击者通过构造恶意输入、Prompt注入或工具参数污染,使模型在调用外部工具、系统命令或API时将不可信数据错误地当作可执行指令,从而触发非预期的命令执行行为的一类安全风险。在MCP架构中Agent通常具备调用操作系统命令、数据库查询、代码执行器或外部API的能力,这些执行链路往往依赖于模型对自然语言指令的解析与工具参数的动态生成。如果输入未经过严格的结构化约束或安全过滤,攻击者可以通过"指令嵌套"、"参数拼接污染"或"上下文混淆"等方式将恶意命令隐藏在正常任务请求中,使模型在无感知情况下执行如shell命令、SQL注入、代码执行或远程API调用等高危操作。OWASP将其定义为典型的"AI执行链路注入风险",其本质是自然语言与可执行指令之间缺乏安全边界隔离,导致模型成为间接命令执行器
命令注入与执行攻击风险场景的攻击场景包括:

Intent Flow Subversion(意图流篡改)指的是在MCP(Model Context Protocol)驱动的AI Agent系统中攻击者通过干扰或逐步污染"任务意图流",使模型在多轮推理、任务拆解与工具调用过程中逐渐偏离用户原始目标,最终执行被篡改或替换后的隐性意图的一类安全风险。在MCP架构中Agent通常会将复杂任务拆解为多个子步骤并在上下文累积与工具链协同下逐步执行,而"意图流"正是这些连续决策与中间目标的动态演化路径。如果攻击者能够在任意环节(例如:Prompt输入、上下文注入、工具返回结果、记忆模块或中间规划步骤)引入偏置信息就可能逐步改变模型对最终目标的理解,例如:通过将"生成分析报告"逐步引导为"导出原始数据"或"访问敏感系统资源",此类攻击的关键特征在于其渐进性与隐蔽性:每一步单独看都可能是合理的,但整体意图已经被悄然替换,从而在不触发明显异常的情况下完成目标劫持。OWASP将其视为针对AI规划与推理链路的系统性攻击,其本质是对"多轮决策一致性"的破坏,使模型在看似正确执行局部任务的同时,完成错误的全局目标

Insufficient Authentication & Authorization(认证与授权不足)是指在MCP驱动的AI Agent系统中由于身份验证机制薄弱或权限控制设计不完善,导致未授权用户、低权限用户或被劫持的Token能够访问敏感工具、数据或执行高风险操作的一类系统性安全风险。在MCP架构中Agent通常需要通过Token、API Key或会话身份来访问工具(Tools)、资源(Resources)以及外部系统,认证(Authentication)负责确认"你是谁",授权(Authorization)则主要负责决定"你能做什么"。如果系统仅依赖静态Token、弱身份校验或粗粒度权限模型就可能出现越权访问、身份伪造或权限继承问题。例如:低权限Agent通过上下文污染或Token复用访问高权限工具或未正确隔离不同用户会话导致数据交叉泄露。OWASP将其定义为典型的AI系统信任边界失效风险,其本质是身份可信性与权限控制在动态Agent环境中的断裂,使系统无法准确判断请求主体与操作边界,从而引发系统性越权执行与数据泄露风险
认证授权不足常见的攻击场景包括:


全链路审计与统一日志体系对MCP系统中从"用户输入 → LLM推理 → Tool调用 → 外部执行 → 返回结果"的每一步进行结构化日志记录,确保所有行为具备可追溯性与可重放能力
影子MCP服务器本质是攻击者通过引入或劫持"未纳管的MCP服务节点",让Agent在服务发现或工具调用过程中误连到非可信执行环境

Context Injection & Over-Sharing(上下文注入与过度共享)是指在MCP驱动的AI Agent系统中由于上下文管理机制缺乏隔离与最小化原则,导致不同任务、用户或工具之间的敏感信息被错误注入或过度共享,从而引发数据泄露、权限越界或隐私暴露的一类系统性安全风险。在MCP架构中Agent依赖共享上下文(Context Window、Memory、Tool Output、Session State)来维持多轮推理与任务连续性,但如果没有严格的上下文分区与访问控制就可能出现一个任务的历史数据被带入另一个无关任务中或者低权限请求意外继承高权限上下文信息。例如:工具返回的敏感字段被写入全局记忆、不同用户会话之间发生上下文污染或外部数据源注入恶意上下文内容影响模型决策。OWASP将其视为典型的"上下文边界失效风险",其本质是AI系统未能正确区分"该看见什么"和"不该共享什么",导致信息在多Agent、多工具、多会话之间非预期扩散,从而扩大攻击面并造成数据泄露隐患
上下文注入与过度共享常见攻击路径:

https://owasp.org/www-project-mcp-top-10/
推 荐 阅 读





横向移动之RDP&Desktop Session Hija
