onicarps/mcpcheck
GitHub: onicarps/mcpcheck
MCPCheck 是一款 MCP 服务器供应链安全扫描器,用于检测工具定义中的提示词注入、工具投毒和数据外泄等恶意行为。
Stars: 0 | Forks: 0
# MCPCheck 🔒
[](https://pypi.org/project/mcp-scan-safe/)
[](LICENSE)
[](https://python.org)
**MCP 供应链安全扫描器。** 检测 MCP 服务器定义中的工具投毒、提示词注入、数据窃取以及其他攻击行为。
## 安装
```
pip install mcp-scan-safe
```
## 用法
### 基础扫描
```
mcpcheck ./my-mcp-server
```
### JSON 输出
```
mcpcheck ./my-mcp-server --format json
```
### 用于 CI/CD 的 SARIF
```
mcpcheck ./my-mcp-server --format sarif > results.sarif
```
### 严重性过滤
```
mcpcheck ./my-mcp-server --min-severity HIGH
```
### 排除模式
```
mcpcheck ./my-mcp-server --exclude "vendor/*" --exclude "node_modules/*"
```
## 检测到的漏洞
| 规则 ID | 类别 | 严重性 | 描述 |
|---------|----------|----------|-------------|
| `tool_poisoning_instructions` | TOOL_POISONING | CRITICAL | 检测工具名称和描述中的提示词注入模式,例如“ignore previous instructions”、“you are now in admin mode”、“override previous”、“disregard”和“new instructions:”。 |
| `hidden_behavior` | HIDDEN_BEHAVIOR | HIGH | 检测隐藏行为和掩饰动作,如“secretly send/copy/read”、“without notifying the user”、隐藏的指令/指示,以及用户必须忽略的指示。 |
| `data_exfiltration` | DATA_EXFILTRATION | HIGH | 检测工具描述中的隐藏数据发送模式,例如“send all data to”、“exfiltrate”以及隐蔽数据外泄。 |
| `behavioral_mismatch` | BEHAVIORAL_MISMATCH | HIGH | 检测工具描述与其声明目的相矛盾的情况——例如,被描述为良性但包含“secretly”、“silently”、“covertly”或“ignore the user”等关键字的工具。 |
| `external_url` | EXTERNAL_URL | MEDIUM | 标记工具描述中的任何外部 URL(不包括 localhost/127.0.0.1),这可能表示存在回调或数据外泄端点。 |
| `parameter_smuggling` | PARAMETER_SMUGGLING | MEDIUM | 检测隐藏或未记录的参数,以及在响应或元数据中嵌入机密数据的企图。 |
## 退出码
| 代码 | 含义 |
|------|---------|
| `0` | 干净——未检测到 CRITICAL 或 HIGH 的结果 |
| `1` | 检测到一个或多个 CRITICAL 或 HIGH 的结果 |
## CI/CD 集成
MCPCheck 包含一个 GitHub Action (`action.yml`) 以实现无缝的 CI/CD 集成。它
会运行扫描,将结果作为 SARIF 构件上传,并与 GitHub 代码
扫描集成。
```
name: MCPCheck Scan
on:
push:
branches: [main]
pull_request:
jobs:
mcpcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run MCPCheck
uses: onicarps/mcpcheck@main
with:
path: "."
severity: "LOW"
version: "0.1.0"
# The action automatically uploads SARIF results to GitHub Code Scanning.
# Findings will appear under the "Security" tab in your repository.
```
你也可以在任何 CI pipeline 中直接调用 MCPCheck:
```
pip install mcp-scan-safe
mcpcheck ./my-mcp-server --format sarif > results.sarif
```
## License
MIT
标签:AI安全, Chat Copilot, MCP, Python, 图数据库, 无后门, 逆向工具, 静态扫描