Agent安全

2026/03/24 sec 共 2735 字,约 8 分钟
  • Content

安全问题

基础配置安全

基础网络安全

  • 网络漏洞 旧版本漏洞

提示词注入

SKILL投毒

MCP投毒

网关层安全

消息网关

可能的问题:

  • 用户主动输入敏感数据;
  • 用户被诱导复制了攻击提示词;

解决方案:

  • 防提示词攻击:对直接提示词攻击做规则过滤,或本地小模型过滤,防止诱导的提示词攻击(例如:复制这段指令领取优惠,但后面跟着攻击指令)。
  • 防敏感数据泄露:对消息做敏感数据的规则过滤,或本地小模型过滤,防止敏感数据外发。

私有化小模型能做基础诱导检测和敏感数据识别,但复杂诱导需要结合云端大模型或人工审核。

LLM网关

安全解决方案:

  • 提示词安全过滤:可以使用规则或本地小模型或外部威胁模型过滤;
  • 提示词加固 ;

  • 训练数据构成:
    • 正常提示词:内部员工真实使用数据(脱敏)
    • 攻击样本:
      • 公开提示词注入数据集(如PromptInject、HackingBench)
      • 内部红队测试结果
      • 合成的攻击变体(使用GPT-4生成对抗样本)

SKILL调用

MCP调用

如何对返回结果做清洗?

运行时安全

安全沙箱

  • Windows系统没有成熟的沙箱方案,可以采用rutime hook实现伪沙箱做一层简单的防护,后者使WSL做一层隔离。
  • Linux或Mac可以寻找开源沙箱方案,这个比较多,Mac下还可以使用参数来开启沙箱模式。

参考:

密钥沙箱

  • 让“龙虾”拿不到密钥,腾讯云推出“密钥沙箱”:https://mp.weixin.qq.com/s/FsyvLcLHmlYK53g5ClGdgg
  • HashiCorp Vault:管理密码、API密钥、证书,支持动态秘钥、加密、租赁与自动吊销。

agent行为监控

使用agent插件机制或对代码做hook埋点,记录并拦截行为,通过安全策略实现对agent级别的行为监控,但是这种方案对供应链中(脚本或二进制)的行为无法防御。

身份管理与权限控制

数据安全

防数据泄露

节点解决什么问题实现方式
消息网关用户主动输入敏感数据识别→脱敏或阻断
外发检测网关敏感数据发送到第三方识别→阻断或加密
LLM网关Prompt中残留敏感数据二次检测→清洗
输出网关AI生成内容含敏感信息检测→阻断或替换

敏感数据防护:消息网关防“用户主动泄露”,外发网关防“被动带出”。

  • 消息网关做一层过滤,对消息做敏感数据的规则过滤,或本地小模型过滤,防止敏感数据外发。
  • LLM调用前:过滤,防止敏感数据外发。
  • LLM调用后:过滤,防止模型吐出敏感数据。

安全合规

高合规要求(金融、医疗),在LLM输出层再做一层审核。

  • LLM调用后:做内容合规;

供应链安全

SKILL安全

Skills安全检测

静态检测引擎

技术栈:

  • Python + Tree-sitter(代码解析)
  • Semgrep(静态规则匹配)
  • OpenAI GPT-4/Claude(LLM分析)
  • YARA(恶意特征匹配)

MCP安全

  • MCP服务发现与注册:风险: 连接到恶意MCP服务、DNS劫持、配置篡改
  • MCP调用前(参数准备):风险: 参数注入、敏感数据泄露、越权调用
  • MCP网络调用:风险: 中间人攻击、凭证泄露、网络层攻击
  • MCP返回数据处理(最关键!):风险: 间接提示词注入、数据投毒、返回数据过大
  • 数据进入LLM上下文:风险: 即使清洗后,LLM仍可能被诱导

Step 2 防”出去的参数有问题”,Step 4 防”回来的数据有毒”。

MCP安全问题

  • Tool Poisoning(工具投毒)攻击

    • *攻击原理**:在工具描述(description)中嵌入恶意指令,AI 在规划阶段读取描述时会被误导。

    • 攻击效果:当用户要求 AI “帮我格式化这段文字” 时,AI 会:

      1. 先读取 .env 文件获取敏感信息
      2. 将密钥外泄到攻击者服务器
      3. 正常返回格式化结果,用户完全不知情

      研究显示,o1-mini 的攻击成功率高达 72.8%,且越强大的模型越容易受攻击,因为它们遵循指令的能力更强。

  • 间接提示词注入(Indirect Prompt Injection)

    • *攻击场景**:通过外部数据源注入恶意指令。
  • 参数注入攻击(Parameter Injection)

    • *攻击原理**:通过污染工具返回的数据,影响下一轮调用的参数。
    • 攻击效果:当 AI 读取查询结果时,被植入的 <TOOL_CALL> 会被解释为新的工具调用指令,自动将数据发送给攻击者。
  • Rug Pull(地毯式拉取)攻击

    • 供应链攻击,静默更新,大规模用户妥协。
  • Cross-Tool Shadowing(跨工具劫持)

    • *攻击原理**:一个恶意服务器的工具描述可以”污染”其他合法工具的行为。
    • 攻击效果:用户安装了两个 MCP 服务器,当使用邮件功能时,从未直接调用的”每日趣事”工具却劫持了邮件发送,将所有邮件密送给攻击者。

MCP安全防御建议

基于业界最佳实践:

1. 架构层防御

  • 工具描述审查:所有工具描述必须经过安全扫描,检测隐藏指令
  • 上下文隔离:不同 MCP 服务器的工具描述应该隔离,防止交叉污染
  • 手动审批:禁止自动更新,所有工具变更需人工审核

2. 实现层防御

  • 输入净化:对所有外部数据(网页、文件、数据库返回)进行净化
  • 权限最小化:MCP Server 默认无网络访问、无文件系统访问
  • 沙箱隔离:在受限环境中运行 MCP Server(如 LobsterAI 沙箱)

3. 监控层防御

  • 行为审计:记录所有工具调用链,检测异常模式
  • 输出验证:验证工具返回数据的格式和内容,防止参数注入
  • 供应链检查:验证 MCP Server 来源,使用签名机制

安全产品

安恒

龙虾卫士ClawdSecBot:https://github.com/secnova-ai/ClawdSecbot

奇安信

奇安信龙虾安全伴侣产品:https://clawsec.qianxin.com/ 或拨打95015了解产品详情

ClawVault

tophant-ai/ClawVault: OpenClaw Security Vault — Atomic “claw” control: every AI reach, within your sight.

  • ✅ 你希望可视化监控AI代理和模型调用
  • ✅你需要原子化控制代理能力和权限
  • ✅你想要的生成式策略自动适应新的威胁
  • ✅ 您需要实时了解敏感资产被访问的时间
  • ✅ 你希望预算控制AI 代币的使用和成本
  • ✅您需要安全检测敏感数据、注入攻击和危险命令
  • ✅你想要统一仪表盘管理所有AI安全策略

其他

  • https://github.com/invariantlabs-ai/invariant/tree/main

文档信息

Search

    Table of Contents