- Content
安全问题
基础配置安全
基础网络安全
- 网络漏洞 旧版本漏洞
提示词注入
SKILL投毒
MCP投毒
网关层安全
消息网关
可能的问题:
- 用户主动输入敏感数据;
- 用户被诱导复制了攻击提示词;
解决方案:
- 防提示词攻击:对直接提示词攻击做规则过滤,或本地小模型过滤,防止诱导的提示词攻击(例如:复制这段指令领取优惠,但后面跟着攻击指令)。
- 防敏感数据泄露:对消息做敏感数据的规则过滤,或本地小模型过滤,防止敏感数据外发。
私有化小模型能做基础诱导检测和敏感数据识别,但复杂诱导需要结合云端大模型或人工审核。
LLM网关
安全解决方案:
- 提示词安全过滤:可以使用规则或本地小模型或外部威胁模型过滤;
提示词加固 ;
- 训练数据构成:
- 正常提示词:内部员工真实使用数据(脱敏)
- 攻击样本:
- 公开提示词注入数据集(如PromptInject、HackingBench)
- 内部红队测试结果
- 合成的攻击变体(使用GPT-4生成对抗样本)
SKILL调用
MCP调用
如何对返回结果做清洗?
运行时安全
安全沙箱
- Windows系统没有成熟的沙箱方案,可以采用
rutime hook实现伪沙箱做一层简单的防护,后者使WSL做一层隔离。 - Linux或Mac可以寻找开源沙箱方案,这个比较多,Mac下还可以使用参数来开启沙箱模式。
参考:
- KNSoft/ClawSandbox:OpenClaw 的内核模式沙箱
- 有道龙虾开源项目中的沙箱方案:https://github.com/netease-youdao/LobsterAI
- NVIDIA NemoClaw,It runs OpenClaw inside a sandboxedenvironment with NVIDIA inference:
密钥沙箱
- 让“龙虾”拿不到密钥,腾讯云推出“密钥沙箱”: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 会:
- 先读取
.env文件获取敏感信息 - 将密钥外泄到攻击者服务器
- 正常返回格式化结果,用户完全不知情
研究显示,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
- ✅ 你希望可视化监控AI代理和模型调用
- ✅你需要原子化控制代理能力和权限
- ✅你想要的生成式策略自动适应新的威胁
- ✅ 您需要实时了解敏感资产被访问的时间
- ✅ 你希望预算控制AI 代币的使用和成本
- ✅您需要安全检测敏感数据、注入攻击和危险命令
- ✅你想要统一仪表盘管理所有AI安全策略
其他
- https://github.com/invariantlabs-ai/invariant/tree/main
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/sec/ai-agent-sec.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)