---
title: "AI 智能体安全：OWASP 十大风险、事件与防护 · DotsAgent"
description: "智能体安全参考：2026 年 OWASP 两份十大风险清单、从 MCP 到 OpenClaw 的 17 起真实事件、15 项防护措施，以及面向 AI 智能体交付团队的检查清单。"
url: https://dotsagent.io/zh/security
---

安全 · 参考

# 智能体安全

智能体会读取陌生人编写的文本，然后使用你的凭据执行操作。本页介绍核心原则、2026 年 OWASP 的两份清单、迄今发生的安全事件，以及本可阻止这些事件的防护措施。

## 致命三要素

1. **访问私有数据** 电子邮件、代码仓库、数据库、文件，或任何受你的凭据保护的内容。
2. **接触不可信内容** 网页、Issue、支持工单、收到的电子邮件和工具描述：任何攻击者都能编写的文本。
3. **能够对外通信** 发送邮件、创建 pull request、获取 URL 或渲染远程图片。Simon Willison 于 2025 年 6 月将这三项称为一个组合。

如果一个智能体同时具备这三项能力，就要假设提示词注入可能诱使它把你的数据交给攻击者。不要指望模型主动拒绝；应从每个智能体和会话中至少移除一项能力。

- [安全检查清单](https://dotsagent.io/zh/security/checklist): 涵盖输入、工具、运行时、MCP、CI 和运维的 22 项检查。逐项勾选，并将结果导出为 Markdown 文件。

- [事件记录](https://dotsagent.io/zh/security/incidents): 记录自 2025 年 4 月以来公开的每起智能体安全事件：发生了什么、攻击为何得手，以及你应如何调整自己的配置。

## 近期事件

- 2026年6月5日 [MCP Python SDK 会话劫持与跨会话任务访问](https://dotsagent.io/zh/security/incidents/2026-06-mcp-python-sdk-session-hijack)
- 2026年6月 [Claude Code 的 WebFetch 自动批准功能可通过 huggingface.co 外传数据](https://dotsagent.io/zh/security/incidents/2026-06-claude-code-webfetch-exfiltration)
- 2026年4月15日 [评论与控制：PR 文本窃取 CI Agent 的机密](https://dotsagent.io/zh/security/incidents/2026-04-comment-and-control-ci-secrets)
- 2026年2月4日 [MCP TypeScript SDK 在客户端之间泄露响应](https://dotsagent.io/zh/security/incidents/2026-02-mcp-typescript-sdk-response-leak)
- 2026年2月1日 [ClawHavoc：数百个恶意 ClawHub skills 传播 AMOS](https://dotsagent.io/zh/security/incidents/2026-02-clawhavoc-malicious-skills)

## OWASP 智能体应用十大风险 2026

OWASP GenAI Security Project 于 2025年12月9日 发布了这份清单。它涵盖了模型开始规划、保留记忆、调用工具并与其他智能体协作后出现的风险。

1. `ASI01` **智能体目标劫持** 攻击者改变智能体试图实现的目标，通常通过隐藏在智能体读取内容中的指令实现。随后，智能体会使用用户的工具和权限追求攻击者的目标。
2. `ASI02` **工具误用与滥用** 智能体以有害方式使用合法工具，例如删除记录、发送消息或串联调用。这可能是因为智能体受到操纵，也可能是因为它拥有超出任务所需范围的工具权限。
3. `ASI03` **身份与权限滥用** 智能体通过凭据、委托令牌和继承的权限执行操作。攻击者会滥用这些身份或身份之间的权限缺口，以提升权限或冒充他人行事。
4. `ASI04` **智能体供应链漏洞** 在构建时或运行时加载的工具、MCP 服务器、技能、插件、模型和提示都可能是恶意的或已遭入侵。由于智能体会动态加载其中许多组件，一个有问题的组件就可能影响使用它的每个会话。
5. `ASI05` **意外代码执行 (RCE)** 能够编写并运行代码，或将模型输出传给 shell 和解释器的智能体，可能受到诱导，在主机上运行攻击者指定的命令。
6. `ASI06` **记忆与上下文投毒** 攻击者将虚假事实或指令植入智能体的记忆、检索到的文档或已保存的上下文中。这些投毒内容会持续存在，并在原始输入消失很久之后继续影响后续会话。
7. `ASI07` **智能体间通信不安全** 智能体之间的消息缺少适当的身份验证、完整性检查或校验，因此可能被伪造、重放或篡改，从而误导接收消息的智能体。
8. `ASI08` **级联故障** 一个故障（例如输入遭到投毒、工具返回错误结果或智能体被入侵）会在相互连接的智能体和自动化步骤之间迅速扩散，快到人们来不及发现。
9. `ASI09` **人类与智能体之间的信任利用** 智能体的表达往往自信又热心，因此人们倾向于批准它们提出的建议。攻击者会利用这种信任，诱使人类确认有害操作或泄露信息。
10. `ASI10` **失控智能体** 遭到入侵或偏离预期行为的智能体会继续自行行动，超出授予它的权限范围和监督范围。

## OWASP 大语言模型应用十大风险 2026

本版于 2026年8月4日 发布，取代了 2025 年版。过度自主性从第六位升至第三位，系统提示词泄露则更名为隐藏上下文暴露。

1. `LLM01` **提示注入** 输入会以开发者未预期的方式改变模型行为。输入可以直接来自用户，也可以间接来自模型读取的文档、网页和工具结果。
2. `LLM02` **敏感信息泄露** 模型或应用可能在输出中泄露个人数据、凭据、商业机密或其他机密信息，这些信息可能来自训练数据、上下文或连接的系统。
3. `LLM03` **过度代理权限** 应用赋予模型超出任务所需的功能、权限或自主性，导致被操纵或有误的输出造成实际损害。该风险在 2025 年排名第六，2026 年升至第三。
4. `LLM04` **供应链** 第三方模型、数据集、适配器、软件包和插件可能遭到篡改或存在漏洞，并将相关风险带入你的应用。
5. `LLM05` **数据与模型投毒** 攻击者篡改预训练、微调或嵌入数据，植入后门、偏见或有缺陷的行为，这些问题可能直到投入生产后才显现。
6. `LLM06` **无界消耗** 如果不限制请求数量、输入大小或计算资源，攻击者就可能让你的账单飙升、耗尽资源，或通过大量查询复制模型。
7. `LLM07` **错误信息** 模型生成看似可信的虚假或误导性内容，而用户或下游系统未经核实便据此采取行动。
8. `LLM08` **隐藏上下文泄露** 此前称为系统提示泄露。用户本不应看到的系统提示、隐藏指令和其他上下文可能被提取，从而暴露其中设置的规则、逻辑或秘密。
9. `LLM09` **向量与嵌入弱点** 嵌入的生成、存储和检索方式存在缺陷，可能让攻击者注入内容、跨租户窃取数据或还原源文本。RAG 系统受此影响最严重。
10. `LLM10` **输出处理不当** 模型输出未经验证或编码便传递给浏览器、shell、数据库或其他组件，从而可能导致 XSS、SQL 注入、代码执行和数据外泄。

## 防护措施

这里列出了 15 项有文档依据的防护措施，每项均附有来源链接。应组合使用多项措施，因为没有任何一项能独自阻止所有攻击。

### 拆解致命三要素

Simon Willison 的原则是：如果智能体既能读取私有数据，又会接触不可信内容，还能向外发送数据，那么它读取的任何文本都可能被用来攻击你。对每个智能体或会话，至少移除这三项能力中的一项。例如，负责分类公开议题的智能体不应接触机密；持有机密的智能体则不应拥有向外发送数据的渠道。

[simonwillison.net](https://simonwillison.net/2025/jun/16/the-lethal-trifecta/)

### 限制智能体处理不可信输入后的权限

关于智能体安全设计模式的研究确立了一条规则：智能体摄取不可信输入后，该输入绝不能触发会产生重大影响的操作。这些模式包括 action-selector、plan-then-execute、双 LLM 和上下文最小化。每个工作流选择一种模式，例如，在智能体读取任何不可信数据之前先固定执行计划。

[arxiv.org](https://arxiv.org/abs/2506.08837)

### 用 CaMeL 跟踪数据流

CaMeL 将智能体拆分为两部分：特权规划器根据用户请求编写代码，隔离模型则处理不可信数据。隔离侧的值会附带能力标签，工具运行前由策略检查这些标签。论文报告称，CaMeL 在可证明安全的前提下解决了 77% 的 AgentDojo 任务，而未设防的智能体解决了 84%。

[arxiv.org](https://arxiv.org/abs/2503.18813)

### 使用最小权限凭据

默认只授予智能体只读、限定项目范围的访问权限，绝不要使用管理员密钥或 service_role 密钥；在 Supabase 中，service_role 密钥会绕过行级安全策略。将 CI 和仓库令牌的权限限制在其对应的单个任务范围内。Amazon Q Developer 事件的根源，是 CodeBuild 中权限范围过大的 GitHub 令牌。

[supabase.com](https://supabase.com/blog/defense-in-depth-mcp)[aws.amazon.com](https://aws.amazon.com/security/security-bulletins/AWS-2025-015/)

### 重大操作须经人工批准

对于会写入、删除、发送或花费资源的工具调用，要求人工确认；无人响应时应默认拒绝。Supabase 建议对 MCP 工具调用进行人工审批；在 OpenClaw 中，将 tools.exec.ask 设为 always，并将 askFallback 保持为 deny。展示完整参数，让审核者看清实际将要执行的操作。

[supabase.com](https://supabase.com/blog/defense-in-depth-mcp)[docs.openclaw.ai](https://docs.openclaw.ai/tools/exec-approvals)

### 对代码和工具执行进行沙箱隔离

在不含凭据、且只能访问工作区的容器或 VM 中运行 shell 命令和生成的代码。OpenClaw 默认关闭沙箱，并在网关主机上将 tools.exec.security 设为 full，因此应启用沙箱，将 exec security 设为 deny 或 allowlist，将 fs.workspaceOnly 设为 true，并保持 elevated mode 关闭。运行 openclaw sandbox explain 确认设置结果。

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/sandboxing)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/hardened-baseline)

### 限制出站网络访问

默认拒绝智能体和 MCP 服务器的出站流量，然后只允许各自必需的主机。切勿自动批准对多租户主机的请求，因为任何人都可能在这类主机上发布内容；CVE-2026-54316 正是利用这一点，将 huggingface.co 变成了数据外泄通道。邮件服务器只应访问其邮件 API，不应访问其他任何地址，postmark-mcp 就展示了这一点。

[nvd.nist.gov](https://nvd.nist.gov/vuln/detail/CVE-2026-54316)[koi.ai](https://www.koi.ai/blog/postmark-mcp-npm-malicious-backdoor-email-theft)

### 不要将控制面暴露到互联网

将智能体网关、仪表盘和调试代理绑定到 loopback，并要求至少 24 个字符的令牌，例如使用 openssl rand -hex 32 生成。通过 SSH 隧道或 Tailscale Serve 远程访问，并且只有在启用密码认证时才使用 Tailscale Funnel。定期运行 openclaw security audit --deep。

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/network-exposure)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/tailscale)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/running-the-audit)

### 验证 MCP 令牌的受众

MCP 授权规范要求服务器拒绝并非为其签发的访问令牌，并禁止将客户端令牌转发给上游 API。客户端应发送 RFC 8707 资源指示符，使每个令牌都绑定到单个服务器。代理服务器必须获得每个客户端的授权，否则就会成为混淆代理。

[modelcontextprotocol.io](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/security-considerations)[modelcontextprotocol.io](https://modelcontextprotocol.io/docs/tutorials/security/security_best_practices)

### 隔离 MCP 会话和租户

为每个会话创建独立的服务器和传输实例，不要让多个客户端共享同一个实例。将每个会话和任务绑定到创建它的已认证主体，并在每次请求时检查绑定关系。2026 年的两份 MCP SDK 安全公告都源于共享状态或未绑定的状态。

[github.com](https://github.com/advisories/GHSA-345p-7cg4-v4c7)[github.com](https://github.com/advisories/GHSA-JPW9-PFVF-9F58)

### 审查技能、插件和 MCP 服务器

固定到确切版本，每次更新前查看 diff，并检查 VirusTotal 等扫描工具的判定结果以及 ClawHub 的安全审计状态。批准服务器时，对工具描述计算哈希，并在描述发生变化时发出警报，以便发现 rug pull。OpenClaw 安装时不会内置拦截机制，因此请自行设置 security.installPolicy。

[openclaw.ai](https://openclaw.ai/blog/virustotal-partnership)[docs.openclaw.ai](https://docs.openclaw.ai/clawhub/security-audits)[invariantlabs.ai](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)[docs.openclaw.ai](https://docs.openclaw.ai/help/faq/security-and-access-control)

### 控制谁可以向智能体发送消息

私信访问仅允许通过配对或白名单；在群聊中，要求先提及智能体，它才可以采取行动；并将 session.dmScope 设为 per-channel-peer，避免不同发送者共享上下文。任何能向智能体发送消息的人都可以尝试指使它，因此发送者名单也是攻击面的一部分。

[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/access-control)[docs.openclaw.ai](https://docs.openclaw.ai/gateway/security/hardened-baseline)

### 不要在不可信的 CI 运行中暴露密钥

不要在外部人员可通过 pull request、issue 或评论触发的工作流中，使用带有仓库密钥的智能体。将这些事件中的标题、描述和评论都视为恶意输入。如果某个步骤确实需要密钥，只能在维护者批准该次运行后执行。

[oddguan.com](https://oddguan.com/blog/comment-and-control-prompt-injection-credential-theft-claude-code-gemini-cli-github-copilot/)

### 将模型输出视为不可信内容

渲染模型输出前先进行编码或清理，绝不要未经检查就将其传给 shell、SQL 查询或浏览器。阻止自动加载 Markdown 图片和指向外部域名的链接，并设置严格的 Content Security Policy。EchoLeak 通过会自行加载的 URL 将数据传了出去。

[genai.owasp.org](https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/)[nvd.nist.gov](https://nvd.nist.gov/vuln/detail/cve-2025-32711)

### 验证智能体签名，再进行授权

要识别调用你的网站或 API 的智能体，请使用 operator 在 /.well-known/http-message-signatures-directory 发布的密钥验证其 Web Bot Auth 签名。ChatGPT agent 使用 Signature-Agent https://chatgpt.com 进行签名。有效签名只能说明谁在运营该智能体，不能说明是哪位用户发起了请求，也不能说明该用户有权执行什么操作，因此仍须对每个请求单独授权。

[datatracker.ietf.org](https://datatracker.ietf.org/doc/draft-ietf-webbotauth-httpsig-protocol/)[help.openai.com](https://help.openai.com/en/articles/11845367-chatgpt-agent-allowlisting)

## 智能体安全常见问题

### 什么是 AI 智能体中的提示词注入？

提示注入是指模型把某些文本当作指令执行，尽管这些文本实际是以数据的形式传入的，例如网页、电子邮件或工具描述中的文本。在智能体中，这些指令可能触发使用你凭据运行的工具调用。OWASP 将其列为 LLM01:2026，智能体形式则属于 Agent Goal Hijack (ASI01)。

### AI 智能体的致命三要素是什么？

这是 Simon Willison 对一种智能体的称呼：它既能访问私有数据，又会接触不可信内容，还能与外部通信。三者同时具备时，提示注入就可能读取你的数据并将其发送出去。2025 年 Supabase MCP 令牌泄露事件就是典型案例。

### 如何保护 MCP 服务器？

拒绝未签发给你服务器的访问令牌，绝不要将客户端的令牌转发给上游 API。为每个会话创建独立的服务器和传输实例，并将会话和任务绑定到经过身份验证的用户。TypeScript SDK 请使用 1.26.0 或更高版本，Python SDK 请使用 1.27.2 或更高版本；这些版本修复了跨客户端响应泄露和会话劫持问题。

### 更好的系统提示能阻止提示注入吗？

不要依赖系统提示。关于智能体设计模式的研究指出，一旦智能体接收了不可信输入，就必须对其加以约束，确保这些输入无法触发会造成重大影响的操作。CaMeL 通过能力追踪来实施约束，在具备可证明安全性的同时完成了 77% 的 AgentDojo 任务；未设防的智能体则完成了 84%。

### OWASP LLM Top 10 和 Agentic Top 10 有什么区别？

OWASP Top 10 for LLM Applications 针对所有基于语言模型构建的应用所面临的风险，其 2026 版于 4 August 2026 发布。OWASP Top 10 for Agentic Applications 于 9 December 2025 发布，关注模型开始规划、使用工具、保留记忆并与其他智能体通信后出现的变化。大多数智能体开发者都需要参考这两份指南。

### 将 OpenClaw 网关暴露到互联网安全吗？

不安全。将 gateway.bind 保持为默认值 loopback；需要远程访问时，使用 SSH 隧道或 Tailscale Serve。OpenA2A 在 1 September 2026 统计到 192,492 个暴露在公网的网关；CVE-2026-25253 也表明，即使仅绑定 loopback 的安装也需要及时打补丁。

## 来源

1. [genai.owasp.org](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/)/resource/owasp-top-10-for-agentic-applications-for-2026/
2. [genai.owasp.org](https://genai.owasp.org/download/52117)/download/52117
3. [genai.owasp.org](https://genai.owasp.org/resource/owasp-genai-llm-top-10-2026/)/resource/owasp-genai-llm-top-10-2026/
4. [github.com](https://github.com/GenAI-Security-Project/GenAI-LLM-Top10)/GenAI-Security-Project/GenAI-LLM-Top10

为 AI agent 开发者提供的独立参考资料。与此处提及的任何厂商均无关联。

© 2026 DotsAgent · 事实核查日期：2026年10月1日
