Token导航 LogoToken导航TokenDH.com
MCP Automatic Review logo
AI代理stdio官方级别未说明来源级核验

MCP Automatic Review

MCP Server

MCP恶意软件沙箱是一个全面的安全分析工具,用于对MCP服务器进行静态检查、隔离动态执行和行为审计。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全分析PythonAI代理

安装说明

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

作者 / 组织

vvatta

提供方

vvatta

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

MCP恶意软件沙盒

![MCP Automated Testing](https://github.com/vvatta/mcp-automatic-review/actions/workflows/mcp-testing.yml) ![Security Scan](https://github.com/vvatta/mcp-automatic-review/actions/workflows/security-scan.yml)

一个全面的安全沙箱,用于分析MCP(模型上下文协议)服务器,具有用于静态检查、隔离动态执行和行为审计的分层架构。

🎯 概述

MCP恶意软件沙盒将不受信任的MCP服务器视为可疑软件:它不信任他们的声明,隔离他们的环境,并记录他们的每一个动作。

此版本新增:沙盒现在支持从多个来源获取和分析MCP服务器:

  • 📁 本地文件系统 -分析磁盘上已有的MCP服务器
  • 🐙 GitHub 仓库 -从GitHub克隆和分析
  • 📦 npm 注册表 -安装并分析npm包
  • 🐍 PyPI注册表 -安装并分析Python包
  • 🤖 GitHub操作集成 -通过Pull Requests进行自动测试(请参阅 MCP列表/README.md)

🏗️ 建筑

第0阶段:来源摄入(新)

  • 源检测:从引用字符串中自动检测源类型
  • GitHub集成:克隆支持分支/标记/提交的存储库
  • 注册表支持:从npm和PyPI注册表安装
  • 临时工作区:自动清理下载的源

第一阶段:隔离发动机(“引爆”室)

  • 运行时:Docker与gVisor运行时(runsc)用于内核级隔离
  • 虚拟文件系统:带有真实诱饵文件的虚拟目录(蜜罐检测)
  • 网络卫士:使用iptables日志记录的受限网桥

第2阶段:静态和依赖性分析(飞行前)

  • 依赖性审计:Trivy/OSV扫描仪集成用于CVE检测
  • 权限清单:分析package.json/pyproject.toml的可疑功能
  • SBOM生成:完整的软件物料清单

第三阶段:动态询问(LLM引信)

  • 工具发现:自动MCP工具枚举
  • 对抗性模糊:LLM生成的用于安全测试的有效载荷
  • 攻击向量:命令注入、路径遍历、SQL注入、XSS、SSRF

第4阶段:行为监控(内核级遥测)

  • 网络监控:记录所有DNS查询和出站连接
  • 文件系统监控:跟踪对诱饵文件和系统路径的访问
  • 过程监控:检测可疑的进程执行

📦 安装

先决条件

  • Python 3.10+
  • 码头工人
  • Trivy(漏洞扫描程序)
  • gVisor(可选,用于增强隔离)

再进行

# Clone the repository
git clone https://github.com/vvatta/mcp-automatic-review.git
cd mcp-automatic-review

# Install Python dependencies
pip install -r requirements.txt

# Or use pip with pyproject.toml
pip install -e .

设置环境

# Run setup to check dependencies
python -m src.cli setup

# Build the sandbox Docker image
python -m src.cli build

🚀 用法

快速开始

MCP扫描仪现在支持多种源类型:

# Analyze local MCP server
python -m src.cli analyze /path/to/mcp-server

# Analyze from GitHub repository
python -m src.cli analyze https://github.com/owner/repo
python -m src.cli analyze owner/repo --ref main

# Analyze from npm registry
python -m src.cli analyze npm:package-name
python -m src.cli analyze package-name@1.0.0

# Analyze from PyPI registry
python -m src.cli analyze pypi:package-name
python -m src.cli analyze package-name==1.0.0

高级用法

# Analyze with live server testing
python -m src.cli analyze /path/to/mcp-server \
    --server-url http://localhost:8000 \
    --anthropic-key YOUR_API_KEY \
    --output results.json

# Analyze GitHub repo with specific branch
python -m src.cli analyze https://github.com/owner/repo \
    --ref develop \
    --anthropic-key YOUR_API_KEY

# Analyze npm package with version
python -m src.cli analyze npm:@modelcontextprotocol/server-example \
    --version "1.0.0" \
    --output npm-analysis.json

# Explicitly specify source type
python -m src.cli analyze my-package \
    --source-type npm \
    --version "latest"

# Run static analysis only (backward compatible)
python -m src.cli scan /path/to/mcp-server

# Check version
python -m src.cli version

通过GitHub操作进行自动化测试

您可以通过打开带有配置文件的Pull Request来自动化MCP测试:

# 1. Create a folder for your MCP in MCP-list/
mkdir -p MCP-list/my-mcp

# 2. Create a config.txt file with your MCP details
cat > MCP-list/my-mcp/config.txt =、\=1.0.0"

自动检测

沙盒会根据引用格式自动检测源类型:

  • 以开头的路径 /, ./,或 ../ → Local
  • URL与 github.com → GitHub
  • 格式 owner/repo (如果不是本地路径)→ GitHub
  • 前缀 npm: 或包含 @version → npm
  • 前缀 pypi: 或包含版本运算符→ PyPI
  • 明确的 --source-type 参数覆盖自动检测

📊 输出

沙盒生成全面的报告,包括:

  • 漏洞报告:在依赖项中发现CVE
  • 软件物料清单:完整的软件物料清单
  • 模糊结果:对抗性有效载荷的测试结果
  • 行为报告:系统调用、网络活动、文件访问
  • 风险评分:总体安全评估(0-100)
  • 建议:可采取行动的安全建议

示例输出

{
  "status": "COMPLETED",
  "overall_risk_score": 35.0,
  "recommendations": [
    "✓ Moderate risk level",
    "🔧 Address minor issues before deployment",
    "🐛 Fix 2 critical vulnerabilities"
  ],
  "scan_summary": {
    "total": 15,
    "critical": 2,
    "high": 5
  },
  "fuzzing_summary": {
    "total_tests": 50,
    "leaked_data": 0,
    "suspicious": 3
  }
}

🛠️ 配置

创建一个 .env 配置文件:

# Anthropic API key (optional, for LLM fuzzing)
ANTHROPIC_API_KEY=your-key-here

# Container settings
CONTAINER_RUNTIME=runsc
CONTAINER_MEMORY_LIMIT=512m
CONTAINER_CPU_LIMIT=1.0

# Network monitoring
ENABLE_NETWORK_MONITORING=true
ALLOW_OUTBOUND_NETWORK=true

# Fuzzing settings
NUM_VALID_PAYLOADS=5
NUM_MALICIOUS_PAYLOADS=10
ENABLE_LLM_FUZZING=false

🔒 安全功能

集装箱隔离

  • 非root用户执行
  • 只读文件系统(/tmp除外)
  • 性能下降(CAP_DROP ALL)
  • 没有新特权
  • gVisor内核隔离运行时

蜜罐检测

植入诱饵文件以检测渗透企图:

  • .ssh/id_rsa -伪造SSH私钥
  • .env -伪造的环境变量
  • .aws/credentials -伪造的AWS凭据

网络监控

  • 记录所有DNS查询
  • 跟踪出站连接
  • 用于法医分析的PCAP文件
  • iptables交通检查规则

攻击模拟

测试包括:

  • 指令注入: ; ls -la, | cat /etc/passwd
  • 路径遍历: ../../../../etc/passwd
  • SQL注入: ' OR '1'='1
  • SSRF尝试
  • XSS有效载荷

📁 项目结构

mcp-automatic-review/
├── src/
│   ├── orchestrator/      # Main workflow coordinator
│   ├── inspector/         # Static analysis & Trivy
│   ├── interrogator/      # LLM fuzzing & payload generation
│   ├── monitor/           # Behavioral monitoring
│   ├── utils/            # Configuration & utilities
│   └── cli.py            # Command-line interface
├── docker/
│   ├── Dockerfile.sandbox # Sandbox container
│   ├── docker-compose.yml # Full environment
│   └── network-rules.sh   # iptables configuration
├── tests/                # Test suite
├── examples/             # Example MCP servers
├── config/               # Configuration files
└── reports/              # Generated reports

🧪 发展

运行测试

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/

# Run with coverage
pytest --cov=src tests/

代码质量

# Format code
black src/ tests/

# Lint code
ruff check src/ tests/

# Type checking
mypy src/

📚 实现工作流

阶段组件工具/技术
1.摄取编排器Python(FastAPI/Typer)
2.检查静态扫描仪Trivy+Semgrep
3.隔离沙盒容器Docker+gVisor(runsc)
4.监视器遥测eBPF+tcpdump
5.攻击LLM询问器LangChain+MCP Python SDK
6.报告结果收集器JSONL+PCAP导出

🤝 贡献

欢迎投稿!请阅读我们的投稿指南并提交pull请求。

📄 许可证

该项目根据MIT许可证获得许可。

⚠️ 免责声明

此工具仅用于安全研究和测试目的。在测试任何你不拥有的系统之前,一定要获得适当的授权。

🔗 参考文献

📞 支持

有关问题、疑问或贡献,请访问我们的 .

目录标签

目录标签

安全分析PythonAI代理本地部署恶意软件检测MCP协议静态检查动态执行

接入字段

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

stdio

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

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP