onicarps/mcpcheck

GitHub: onicarps/mcpcheck

MCPCheck 是一款 MCP 服务器供应链安全扫描器,用于检测工具定义中的提示词注入、工具投毒和数据外泄等恶意行为。

Stars: 0 | Forks: 0

# MCPCheck 🔒 [![PyPI version](https://img.shields.io/pypi/v/mcp-scan-safe)](https://pypi.org/project/mcp-scan-safe/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-brightgreen.svg)](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, 图数据库, 无后门, 逆向工具, 静态扫描