MCP 成为 AI Agent 新攻击面:这个工具把配置里的雷全扫出来了
2026 年,AI Agent 的攻击面正在快速扩大——而大多数开发者还不知道自己已经被攻了多少次。
说个数字:仅 2026 年前两个月,MCP 生态就披露了 30 多起 CVE。一个被污染的 MCP 工具包可以劫持 AI 的行为,让它悄悄执行恶意指令——而这一切发生时,开发者可能还以为”AI 在正常帮我写代码”。
mcp-audit 就是针对这个盲区的静态扫描工具。
核心功能:离线扫描 MCP 配置,发现隐藏的攻击面
GitHub: https://github.com/apisec-inc/mcp-audit ⭐ 149
mcp-audit 是一个离线的 Claude Code / MCP 配置安全审计工具,运行在本地,不发任何网络请求。它扫描 ~/.claude.json、.mcp.json、项目级 MCP 配置等位置,检测三类高危风险:
- 凭证泄露:API Key、Token、数据库密码明文写在配置文件里
- 供应链风险:拼写混淆的包名(如
@modelcontextprotocl/vs@modelcontextprotocol/)、从网络 fetch 并执行的 Hook 脚本 - RCE 风险:Hook 或 server 命令能rewrite MCP 配置本身
每条发现都有 severity 等级和具体的修复建议。
扫描规则一览
| 规则 | 级别 | 检出内容 |
|---|---|---|
| SECRET001/002 | CRITICAL | 配置文件中的硬编码密钥 / Token(含熵值检测) |
| REGISTRY001 | CRITICAL | 包名拼写混淆(如 typo-squatting) |
| REGISTRY002/003/004 | HIGH | 非 HTTPS 端点、裸 IP、URL 短链重定向 |
| HOOK001/003 | CRITICAL | Hook 命令从网络 fetch 并 rewrite MCP 配置 |
| HOOK002/004 | HIGH | fetch-and-execute 类型的隐蔽执行链 |
| PIN001/002 | MEDIUM | 引用 @latest 或无版本锁定的包 |
| PERM001 | HIGH | 凭证文件 group/other 可读(权限过宽) |
怎么用:一条命令搞完,不传数据出去
# 安装
uv tool install mcp-audit # 或 pipx install mcp-audit
# 扫描本机所有配置
mcp-audit
# 输出 JSON 用于 CI
mcp-audit --json
# CI 门禁:HIGH 及以上就失败
mcp-audit --fail-on HIGH
支持直接集成到 pre-commit hook 或 GitHub Actions,SARIF 格式输出能直接导入 GitHub Security Lab。
为什么这件事值得关注
MCP 的设计逻辑是”给 AI 扩展工具箱”,但工具箱本身也是攻击面。2026 年的几起真实事件说明:攻击者已经开始针对这个路径了。
一个典型的中招路径是这样的:你在某个教程里复制了一个 MCP server 安装命令,它悄悄往你的 ~/.claude.json 里加了一段 Hook,每次 Claude Code 启动都从攻击者控制的服务器拉指令——整个链路完全静默,AI 行为看起来完全正常。
mcp-audit 做的事情就是在这一步之前把你叫停。它不是渗透测试工具,也不是实时监控——它是左移的安全门禁,在配置落地之前就把高危项标出来。
适合谁用
- 团队里有多个开发者在用 Claude Code / Cursor + MCP 的
- 经常 copy 安装命令、懒得检查配置文件内容的
- 需要给 AI Agent 工作流做安全合规审计的
一个冷知识:它扫的是配置文件本身,不是 MCP server 的代码——所以扫得快、离线跑、不存在隐私泄露问题。代码层面的深度扫描(source-scan)是 v1.1 才加的功能,那个检出的是 MCP server 作者引入的”Prompt In, Shell Out”攻击链。
GitHub 链接:https://github.com/apisec-inc/mcp-audit
评论区
登录后可评论。