![[Security] Week of CVSS 10.0 RCEs - Runtime Verification as Defense Layer](https://www.chat-gpts.plus/wp-content/uploads/2026/07/6524-15ddb261.jpg)
[Security] Week of CVSS 10.0 RCEs – Runtime Verification as Defense Layer
快速结论:这是 CrewAI 框架安全性的高级别警告,涉及多个 CVSS 10.0 的远程代码执行漏洞。核心问题是代理框架缺乏 LLM 输出和执行引擎之间的运行时验证层。优先排查是否依赖了未验证的 LLM 输出直接执行工具或代码,并考虑集成前置输出验证机制。
问题场景
本 Issue 由安全研究社区提出,针对 CrewAI 的多智能体架构在运行时安全方面的潜在风险。场景涉及 CrewAI 工具执行、跨智能体消息传递以及 MCP 工具集成时,可能发生的 RCE(远程代码执行)攻击。尤其在使用 CrewAI 执行外部写操作(支付、消息、状态变更)前,缺乏验证机制时触发。
报错原文
CVE-2026-61447 (CVSS 10.0) - PraisonAI CodeAgent: direct exec() on LLM-generated Python, actively exploited in wild
CVE-2026-54769 (CVSS 10.0) - Langroid: eval() sandbox escape via __builtins__ injection
Agentjacking (Tenet Security) - Sentry DSN hijacking Claude Code/Cursor/Codex, 85% success rate, 2388 orgs affected
Friendly Fire (AI Now) - Supply chain prompt injection across Claude/GPT/Cursor, works in auto-mode
原因分析
根本原因是所有列出的攻击利用了同一个架构缺陷:LLM 输出与执行引擎之间缺乏运行时验证层。代理框架将 LLM 输出视为“指令”并直接执行,但无法区分用户意图命令与攻击者注入的载荷。CrewAI 的多智能体架构因跨智能体消息传递、工具执行无输出验证、缺乏运行时完整性检查而尤为暴露。DNS Rebinding 漏洞(PR #6519)也说明 MCP 工具集成会扩展攻击面。
环境排查
- 确认 CrewAI 框架版本(建议更新至最新,包含安全补丁)
- 检查是否使用了任何外部工具或自定义工具,特别是那些直接执行 LLM 输出的工具
- 确认是否启用了 MCP(模型上下文协议)工具集成
- 检查是否有跨智能体消息传递的场景,是否验证了消息内容
- 确认是否有写操作(支付、消息、状态变更)等高风险操作前的验证逻辑
解决步骤
- 评估风险暴露面:审查 CrewAI 工作流中所有 LLM 输出被直接执行或传递的路径,包括工具调用、智能体间通信、MCP 交互等。
- 实现前置输出验证:在外部写操作前,集成运行时验证层。一种低成本方案是使用 CrewAI 的
BaseTool创建验证工具,例如评论中提到的方式,在每次执行前验证动作的安全性:from vc_client import VibesCodedClient from x402_client.frameworks import crewai_tool crewai_tool(VibesCodedClient(), "agent-state-guard", "Verify action safety pre-write") - 实施行为允许列表:定义并执行允许的系统调用、网络模式、文件操作列表,阻止未授权的危险操作。
- 添加运行时完整性检查:在关键执行点检查执行上下文是否被劫持或篡改。
- 异常回退机制:当检测到异常(如重复、过期、不安全操作)时,立即停止执行并触发告警,不继续执行高风险命令。
- 遵循推荐的四层防御:(1)执行前输出验证(2)行为允许列表(3)运行时完整性检查(4)异常回退到安全状态。
验证方法
确认问题已解决的标准:
- 所有涉及 LLM 输出执行的外部操作前,都通过了用户定义的验证检查
- 尝试注入恶意指令时,系统拒绝执行并在日志中记录告警
- 跨智能体消息传递时,恶意载荷被验证层拦截,未传播或执行
- MCP 工具集成场景下,DNS Rebinding 等攻击被阻止



