saagpatel/MCPAudit
GitHub: saagpatel/MCPAudit
一款用于审计本地 MCP 服务器权限风险、提示注入威胁和 schema 漂移的安全扫描工具。
Stars: 0 | Forks: 0
# mcp-audit
[](#) [](#)
`mcp-audit` 让你能像 X 光一样透视系统上配置的每个 MCP 服务器:它能做什么,风险有多大,描述中是否隐藏了对抗性指令,以及自上次检查以来它是否发生过变化。只需一个命令,无需 API 密钥,完全在本地运行。
## 功能特性
- **权限枚举** — 对每个工具的能力进行分类编目,涵盖 `file_read`、`file_write`、`network`、`shell`、`process_spawn` 等 8 个权限类别
- **风险评分** — 基于权限暴露面、工具数量和描述异常情况,为每个服务器计算出 0–10 的综合风险评分
- **提示注入检测** — 扫描工具描述中的指令覆写模式、隐藏指令和对抗性措辞
- **Schema 漂移追踪** — 将当前工具 schema 与存储的基线进行比较;标记新增、移除和签名的更改
- **多客户端支持** — 读取 Claude Desktop、Claude Code、Cursor 以及任何自定义路径的配置
- **Watch 模式** — `mcp-audit watch` 通过 `watchfiles` 在配置文件更改时重新扫描
## 快速入门
### 前置条件
- Python 3.11+
- `uv`(推荐)或 `pip`
### 安装说明
```
uvx mcp-audit scan
# 或永久安装:
uv tool install mcp-audit
```
### 用法
```
# 扫描所有已配置的 MCP server
mcp-audit scan
# 扫描特定的 client config
mcp-audit scan --client claude_desktop
# 保存 baseline 并稍后检测 drift
mcp-audit baseline save
mcp-audit baseline diff
# 监控 config 变化
mcp-audit watch
```
## 技术栈
| 层级 | 技术 |
|-------|------------|
| 语言 | Python 3.11+ |
| CLI | Click 8 |
| 输出 | Rich |
| MCP 协议 | `mcp` SDK 1.0+ |
| 校验 | Pydantic v2 |
| 配置解析 | PyYAML + json5 |
| 可选 LLM | Anthropic SDK |
## 架构
扫描器会枚举 MCP 客户端的配置文件,通过 `anyio` 将每个服务器作为子进程生成,通过 MCP 协议调用 `tools/list`,并将返回的 schema 传递给权限分类器和注入检测器。结果被聚合成一份由 Rich 渲染的结构化报告。基线系统将工具 schema 序列化到本地的 `.mcp-audit/` 目录中,并在后续运行中使用每个工具签名的规范哈希值进行差异对比。
## 许可证
MIT
标签:AMSI绕过, CLI, Click, DNS 解析, JSON, MCP服务器, Pydantic, Python, Schema检测, WiFi技术, YAML, 威胁检测, 安全合规, 安全库, 安全扫描, 恶意代码分类, 提示注入, 搜索语句(dork), 数据展示, 无后门, 时序注入, 本地安全, 权限风险, 模型上下文协议, 红队, 网络代理, 网络安全, 逆向工具, 配置漂移, 隐私保护, 集群管理, 零日漏洞检测