面对open claw的安全问题:我开源一个 MCP 安全检测项目
这篇文章记录了我为什么开始做 MCP Aegis,以及我对 MCP Server 风险扫描、策略决策、沙箱执行和审计追踪这条安全链路的理解。
原文链接:https://blog.csdn.net/xyc_yyds/article/details/159215539
GitHub:https://github.com/xiao-zi-chen/mcp-aegis.git
一、为什么开始做这个项目
最近一直在看 MCP 生态,也在认真想一个问题:
如果 MCP Server 越来越多,大家开始频繁安装、调用、组合第三方工具,那它的安全边界到底在哪里?
现在很多讨论停留在“这个生态很有前景”,但真正落到工程层面,会立刻遇到几类现实问题:
- MCP Server 本质上就是可执行能力的入口。
- 它可能访问本地文件、环境变量、网络和外部 API。
- 一旦缺少验证、权限控制和审计能力,风险不会停留在理论层面。
所以我开始做一个开源项目:MCP Aegis。
它的目标不是做只有 PPT 的“安全平台”,而是把 MCP 安全链路尽量做成真正能跑、能验证、能继续演进的工程化系统。
二、我真正想解决的问题
我现在关注的不是“如何做一个 MCP 商店”,而是更底层的问题:
- 一个 MCP Server 到底有没有明显风险
- 这些风险应该如何被量化和归类
- 发现风险后系统应该给出什么策略决策
- 决策之后运行时应该怎样限制它
- 出现问题后审计链路能不能追得回来
真正让我决定做这件事的,不只是 “AI Agent 很火”,而是我看到了一些已经公开暴露出来的问题。
以 OpenClaw 为例,公开安全资料已经说明了一件事:这类 Agent 平台默认就处在高风险边界里。
官方文档明确提到,它会接触 Shell 执行、文件读写、网络访问、浏览器控制以及外部不可信内容处理,这些能力一旦组合起来,攻击面会迅速放大。
参考资料:
也正因为如此,我做 MCP Aegis 的出发点不是再做一个“工具列表网站”,而是补上 MCP 生态里最容易被忽略、但后面一定会变成基础设施的那一层:
风险检测 -> 策略决策 -> 沙箱执行 -> 审计追踪
三、MCP Aegis 当前已经做了什么
1. MCP Server 风险扫描
现在已经实现了一批静态分析能力,主要检测这些风险点:
- Shell 或子进程执行
- 出站网络访问
- 文件写入
- 环境变量和潜在密钥读取
- 监听端口暴露
- 不安全安装说明
- manifest 生命周期脚本
- Python build hook
- prompt/tool 元数据投毒
- 可疑凭证请求
这意味着项目已经不只是“扫一眼 package.json”,而是能对 MCP Server 代码和包元数据做初步风险识别。
2. 风险评分和策略决策
扫描出来的 finding 不只是罗列出来,而是会进一步进入评分和策略判断流程。
当前已经支持:
- 风险分数计算
- 风险类别聚合
- 策略规则匹配
- 运行时 profile 生成
- 推荐动作输出
系统不仅会告诉你“这里有问题”,还会继续告诉你:
- 应该
allow、review、restricted还是deny - 是否要求人工审批
- 是否禁止远程访问
- 是否应该走受限沙箱执行
3. 沙箱执行计划
这一块我比较重视,因为很多安全项目只做到“检测”,并没有真正进入“控制”。
当前 MCP Aegis 已经能基于策略生成运行时计划,包括:
- 只读根文件系统
- 网络禁用
- 可写路径限制
- 环境变量白名单
- 资源限制
- Docker 启动命令草案
- 审计事件输出
这意味着发现高风险 MCP Server 后,系统不是只给一段建议,而是可以继续往“怎么安全运行”推进。
4. 运行时能力识别
比如在我当前机器上,并没有安装 Docker。现在项目已经可以在运行前真实识别这一点,并在结果里明确返回:
- 当前运行引擎是什么
- 对应二进制是否存在
- daemon 是否可达
- 是否支持实际执行
- 失败原因是什么
这类信息会直接进入 runtimeCapabilities,而不是让用户靠猜。
5. 审计查询接口
我不想把这个项目做成“一次扫描就结束”的工具,所以加了 control-api 这一层。
当前已经支持查询:
- 服务器列表
- 策略列表
- assessment 结果
- assessment summary
- runtime plan
- audit events
如果后面继续做前端控制台、团队治理、审批流或者市场聚合器,这层 API 会是基础。
四、为什么我觉得这个方向值得做
我现在的判断是,MCP 生态真正缺的不是“再来一个工具列表网站”,而是更接近基础设施的东西。
尤其是下面几个问题,会越来越明显:
- MCP Server 的能力边界天然比普通插件更敏感。
- 个人开发者和小团队很难自己补全安全治理。
- 生态里缺少统一验证、策略执行和审计能力。
- 一旦生态扩张,安全问题一定会从个例变成系统性问题。
所以我更愿意把 MCP Aegis 做成一个偏底层、偏严肃、可嵌入的安全能力层,而不是只做演示型项目。
五、目前项目状态
实话实说,它现在还不是完整版产品,但已经不是空架子了。
当前阶段更准确的定义应该是:
一个已经跑通核心链路的 MCP 安全防护 MVP。
它现在已经能做这些事情:
- 扫描 MCP Server 风险
- 输出评分和策略决策
- 生成受限运行计划
- 识别本机运行时能力
- 输出审计事件
- 通过 API 查询 assessment 和 audit 数据
接下来我会继续往这些方向补:
- 签名验证与版本冻结
- 供应链风险校验
- 更真实的容器执行适配层
- 更完整的前端控制台
- MCP 服务市场聚合与安全排序
六、为什么选择开源
这个项目从一开始就想按开源方式推进,因为这类安全基础设施如果不透明,很难建立信任。
我希望它后面能做到这些事情:
- 规则和策略可以被审查
- 扫描逻辑可以被复现
- 风险判断可以被讨论和迭代
- 社区可以一起补齐 MCP 生态安全标准
结尾
如果你也在关注 MCP、AI Agent Tooling、插件安全或者供应链治理,欢迎一起交流。
这个项目我会继续往“真正可用”推进,而不是停在架构图和概念阶段。


