Token导航 LogoToken导航TokenDH.com
MCP Check logo
安全风控stdio官方级别未说明来源级核验

MCP Check

MCP Server

MCPHook是一款针对Model Context Protocol(MCP)配置的安全扫描器和运行时策略引擎,用于检测工具中毒、凭证暴露和过度权限工具组合等漏洞。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全PythonClaude静态分析ClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

aakriti1318

提供方

aakriti1318

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcphook

详细介绍

MCPHook

MCPHook是一个安全扫描程序和运行时策略引擎,用于 模型上下文协议(MCP) 配置。它可以检测MCP设置中的工具中毒、凭据暴露和过度许可的工具组合等漏洞。

特性

  • 静态分析 --部署前扫描MCP清单以查找安全问题
  • 9+检测规则 --全面覆盖OWASP LLM十大风险
  • 工具中毒检测 --查找提示注入、隐藏unicode和系统覆盖尝试
  • 凭证扫描 --检测硬编码令牌(GitHub、OpenAI、AWS等)
  • 权限分析 --识别危险的工具组合(读+写+发送)
  • 多种输出格式 --富终端、JSON和SARIF(GitHub代码扫描)
  • LLM不可知语义分析 --可选使用LiteLLM进行深度分析(100多个提供商)
  • 策略引擎 --基于YAML规则的运行时强制

安装

# Using pip
pip install mcphook

# Using uv (recommended)
uv add mcphook

# Using pipx (for CLI)
pipx install mcphook

快速开始

扫描您的MCP配置

# Scan Cursor's MCP config
mcphook scan ~/.cursor/mcp.json

# Scan VS Code's MCP config
mcphook scan ~/.vscode/mcp.json

# Scan with JSON output
mcphook scan mcp.json --format json

# Scan with SARIF output (for GitHub Code Scanning)
mcphook scan mcp.json --format sarif -o results.sarif

示例输出

...example output...

初始化策略

# Create a default mcphook.yaml policy
mcphook init

# Initialize with strict mode
mcphook init --strict

列出可用规则

mcphook rules

检测规则

规则ID名称严重性描述
AUTH-001硬编码GitHub令牌关键检测配置中的硬编码GitHub标记
OVERPERM-001危险工具组合检测危险工具权限组合
............

许可证

麻省理工学院许可证#MCPHoook

███╗   ███╗ ██████╗██████╗
████╗ ████║██╔════╝██╔══██╗
██╔████╔██║██║     ██████╔╝
██║╚██╔╝██║██║     ██╔═══╝
██║ ╚═╝ ██║╚██████╗██║
╚═╝     ╚═╝ ╚═════╝╚═╝

██╗  ██╗ ██████╗  ██████╗ ██╗  ██╗
██║  ██║██╔═══██╗██╔═══██╗██║ ██╔╝
███████║██║   ██║██║   ██║█████╔╝
██╔══██║██║   ██║██║   ██║██╔═██╗
██║  ██║╚██████╔╝╚██████╔╝██║  ██╗
╚═╝  ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝

](https://badge.fury.io/py/mcpcheck) ](https://pypi.org/project/mcpcheck/) ![License](LICENSE) ![Code style: ruff](https://github.com/astral-sh/ruff)

MCP检查 是用于的安全扫描程序和运行时策略引擎 模型上下文协议(MCP) 配置。它可以检测MCP设置中的工具中毒、凭据暴露和过度许可的工具组合等漏洞。

🔥 特性

  • 静态分析 --部署前扫描MCP清单以查找安全问题
  • 9+检测规则 --全面覆盖OWASP LLM十大风险
  • 工具中毒检测 --查找提示注入、隐藏unicode和系统覆盖尝试
  • 凭证扫描 --检测硬编码令牌(GitHub、OpenAI、AWS等)
  • 权限分析 --识别危险的工具组合(读+写+发送)
  • 多种输出格式 --富终端、JSON和SARIF(GitHub代码扫描)
  • LLM不可知语义分析 --可选使用LiteLLM进行深度分析(100多个提供商)
  • 策略引擎 --基于YAML规则的运行时强制

📦 安装

# Using pip
pip install mcpcheck

# Using uv (recommended)
uv add mcpcheck

# Using pipx (for CLI)
pipx install mcpcheck

🚀 快速开始

扫描您的MCP配置

# Scan Cursor's MCP config
mcpcheck scan ~/.cursor/mcp.json

# Scan VS Code's MCP config
mcpcheck scan ~/.vscode/mcp.json

# Scan with JSON output
mcpcheck scan mcp.json --format json

# Scan with SARIF output (for GitHub Code Scanning)
mcpcheck scan mcp.json --format sarif -o results.sarif

示例输出

╭─────────────────────────────────────────────────────────────────────────────╮
│                           MCPCheck Security Scan                            │
│                              ~/.cursor/mcp.json                             │
╰─────────────────────────────────────────────────────────────────────────────╯

 🔴 CRITICAL │ AUTH-001 │ Hardcoded GitHub Token
    Server: github
    Location: mcpServers.github.env.GITHUB_PERSONAL_ACCESS_TOKEN
    Detail: GitHub Personal Access Token detected in configuration file
    Remediation: Use environment variable references: ${GITHUB_TOKEN}

 🟠 HIGH │ OVERPERM-001 │ Dangerous Tool Combination
    Server: filesystem + shell
    Detail: read_file + write_file + execute_bash creates exfiltration risk
    Remediation: Isolate high-privilege tools into separate servers

╭─────────────────────────────────────────────────────────────────────────────╮
│  Summary: 2 findings │ 1 Critical │ 1 High │ 0 Medium │ 0 Low │ 0 Info     │
│  Status: ❌ FAILED                                                          │
╰─────────────────────────────────────────────────────────────────────────────╯

初始化策略

# Create a default mcpcheck.yaml policy
mcpcheck init

# Initialize with strict mode
mcpcheck init --strict

列出可用规则

mcpcheck rules

🛡️ 检测规则

规则ID名称严重性描述
TOOL-POISON-001系统覆盖严重检测 [SYSTEM:] 或“忽略指令”模式
TOOL-POISON-002强制注入关键检测“发送到URL”或“不告知用户”
TOOL-POISON-003隐藏Unicode检测零宽度字符和同形字符
AUTH-001明文令牌关键检测硬编码API密钥和令牌
AUTH-002缺少GitignoreMedium标记不在.Gitignore中的敏感文件
OVERPERM-001危险组合标志读+写+执行组合
OVERPERM-002无限制访问中等标记没有路径限制的工具
DYNAMIC-001远程模式标记具有动态/远程模式的工具
DYNAMIC-002可变配置中等标记非确定性配置

⚙️ 配置

创建一个 mcpcheck.yaml 在项目根目录中:

# MCPCheck Configuration
version: "1"

# Rules to enable (all by default)
rules:
  enabled:
    - TOOL-POISON-*
    - AUTH-*
    - OVERPERM-*
  disabled:
    - DYNAMIC-002  # Disable specific rule

# Severity threshold (only report this and above)
severity_threshold: LOW

# Output configuration
output:
  format: terminal  # terminal, json, sarif
  verbose: true

# Paths to scan
paths:
  - ~/.cursor/mcp.json
  - ~/.vscode/mcp.json
  - .mcp.json

# Ignore patterns
ignore:
  - "**/test/**"
  - "**/fixtures/**"

🔧 策略引擎

MCPCheck包括一个用于强制工具使用的运行时策略引擎:

# policy.yaml
version: "1"
name: "production-policy"

rules:
  - name: "block-shell"
    condition:
      tool_name_pattern: "^execute_(bash|shell|cmd)$"
    action: BLOCK

  - name: "audit-file-writes"
    condition:
      tool_name: "write_file"
      param_matches:
        path: "^/etc/.*"
    action: AUDIT

  - name: "allow-safe-reads"
    condition:
      tool_name: "read_file"
      param_matches:
        path: "^/tmp/.*"
    action: ALLOW

🧪 语义分析(可选)

启用LLM驱动的深度分析,以检测复杂的快速注射:

# Using Claude
export ANTHROPIC_API_KEY=sk-ant-...
mcpcheck scan mcp.json --semantic

# Using OpenAI
export OPENAI_API_KEY=sk-...
mcpcheck scan mcp.json --semantic --model openai/gpt-4o

# Using Ollama (local)
mcpcheck scan mcp.json --semantic --model ollama/llama3.2

📊 CI/CD集成

GitHub 操作

- name: MCPCheck Security Scan
  run: |
    pip install mcpcheck
    mcpcheck scan . --format sarif -o mcpcheck.sarif

- name: Upload SARIF
  uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: mcpcheck.sarif

预提交钩子

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/yourusername/mcpcheck
    rev: v0.1.0
    hooks:
      - id: mcpcheck

🐍 Python API

from mcpcheck import scan_manifest
from mcpcheck.domain.models import Severity

# Scan a manifest file
report = scan_manifest("~/.cursor/mcp.json")

# Check results
if not report.passed:
    for finding in report.findings_by_severity(Severity.CRITICAL):
        print(f"{finding.rule_id}: {finding.title}")

# Scan with custom options
from mcpcheck.engine.scanner import RuleEngine, parse_manifest_file

engine = RuleEngine()
manifest = parse_manifest_file("mcp.json")
report = engine.scan(manifest, severity_threshold=Severity.HIGH)

print(report.to_json())

🏗️ 建筑

MCPCheck遵循 六角形(端口和适配器) 架构:

src/mcpcheck/
├── domain/         # Core domain models (Pydantic, zero dependencies)
│   ├── models.py   # Finding, Severity, ToolDefinition, etc.
│   ├── report.py   # ScanReport, ScanSummary
│   └── policy.py   # Policy, PolicyRule
├── rules/          # Detection rules (Protocol-based)
│   ├── base.py     # Rule protocol & BaseRule
│   ├── tool_poison.py
│   ├── auth_exposure.py
│   └── ...
├── engine/         # Core logic
│   ├── scanner.py  # RuleEngine
│   ├── semantic.py # LLM analysis
│   └── policy_engine.py
├── adapters/       # External integrations
│   ├── fs.py       # File system
│   ├── http.py     # HTTP client
│   └── llm.py      # LiteLLM adapter
├── renderers/      # Output formatters
│   ├── terminal.py # Rich terminal
│   ├── json_renderer.py
│   └── sarif_renderer.py
└── cli/            # Typer CLI
    └── main.py

🤝 贡献

欢迎投稿!请参阅 贡献.md 作为指导方针。

# Clone the repo
git clone https://github.com/yourusername/mcpcheck.git
cd mcpcheck

# Install dev dependencies with uv
uv sync --dev

# Run tests
uv run pytest

# Run linting
uv run ruff check src tests
uv run mypy src

# Install pre-commit hooks
uv run pre-commit install

📜 许可证

MIT许可证——见 许可证 了解详情。

🔗 资源

目录标签

目录标签

安全PythonClaude静态分析安全扫描本地部署策略引擎漏洞检测MCP协议

支持客户端

ClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP