使用说明
MCP安全扫描器
用于扫描本地开发环境中的安全风险的Chrome扩展程序。
检测范围:MCP服务器、Web开发服务器、数据库、API服务等等。
⚠️ 免责声明
仅用于安全研究和测试您自己的系统。
快速开始
- 安装依赖项:
npm install - 生成图标:
npm run generate-icons(或使用create-icons.html) - 启动测试服务器:
npm start - 在Chrome中加载扩展程序:
- 打开
chrome://extensions/ - 启用“开发人员模式”
- 点击“加载解包”,选择项目目录
- 打开
- 单击扩展图标开始扫描
有关详细说明,请参阅 QUICKSTART.md
特性
- 🔍 扫描本地开发服务(MCP、web服务器、数据库等)
- 🔐 检测SSE和HTTP端点
- ⚠️ 识别未经身份验证的服务器
- 📋 检索暴露的工具列表
- 🎯 支持30+通用开发端口
用例
- 安全审计:检查开发环境中意外暴露的服务
- 学习与研究:了解Chrome扩展程序的安全边界
- 团队协作:跨团队标准化安全扫描实践
背景
这个项目的灵感来自 Koi.ai对Chrome扩展程序和MCP安全性的研究在试图复制这些发现时,我们发现实际风险比描述的要小,因为大多数MCP服务器使用stdio模式(Chrome扩展程序无法访问),而不是基于网络的传输。
因此,该项目发展成为一个通用的开发环境安全审计工具。
技术细节
什么是MCP?
MCP(模型上下文协议)是AI代理与系统工具和资源交互的协议。它支持三种运输方式:
- 标准 (主流~90%)-通过标准输入/输出进行通信,无网络端口
- 服务器发送事件(SSE) -基于HTTP的服务器推送
- 可流式传输的HTTP -标准HTTP POST请求
运作原理
扩展程序扫描常见的开发端口(3000-9000),并尝试:
- 使用SSE和HTTP协议建立连接
- 识别MCP服务器和其他开发服务
- 检测身份验证状态
- 检索可用的工具和功能
建筑
┌─────────────────┐
│ popup.html/js │ ← User Interface
└────────┬────────┘
│
▼
┌─────────────────┐
│ background.js │ ← Scanner Logic
└────────┬────────┘
│
▼
┌─────────────────┐
│ localhost:* │ ← Local Services
└─────────────────┘
项目结构
mcp-security-scanner/
├── manifest.json # Chrome extension manifest
├── popup.html/js # Extension UI
├── background.js # Background scanner
├── test-mcp-server.js # Test MCP server (demo)
├── generate-icons.js # Icon generator
└── enhanced-scanner.js # Enhanced scanner (future)
发展
先决条件
- Node.js 16+
- Chrome/Edge浏览器
运行测试
# Start test server
npm start
# The test server will run on localhost:3001
# It exposes intentionally vulnerable endpoints for testing
建筑
# Install dependencies
npm install
# Generate icons
npm run generate-icons
安全考虑
现实世界风险评估
根据我们的研究,实际的安全风险低于最初的假设:
| 场景 | 传输模式 | 普及率 | Chrome可访问性 | 实际风险 |
|---|---|---|---|---|
| 克劳德桌面等。 | 标准偏差 | ~90% | ❌ 否 | 无 |
| 远程MCP服务 | SSE/HTTP | ~8% | ❌ 否 | 无 |
| 本地开发 | SSE/HTTP | ~2% | ✅ 是 | 低 |
建议
- ✅ 使用stdio模式 (最安全)
- ✅ 添加身份验证 如果使用SSE/HTTP模式
- ✅ 关闭测试服务器 开发后
- ✅ 审核Chrome扩展程序 定期
- ⚠️ 别慌,但要保持警惕
相关研究
未来想法
如果您想扩展此项目:
- 添加更多服务指纹(数据库、消息队列等)
- 实施历史跟踪和比较
- 导出扫描报告(JSON/CSV/HTML)
- 支持自定义扫描规则和端口范围
- Firefox扩展支持
备注:该项目作为研究报告存档。请随意分叉和扩展它以供自己使用。
项目状态
版本: 1.0.0 | 状态:已存档/研究完成
该项目是作为安全研究和学习练习完成的。主要发现:
- MCP的实际安全风险低于预期(大多数使用stdio模式)
- Chrome扩展程序可以访问本地主机,但现实世界的威胁情况有限
- 项目演变为通用的开发环境安全审计工具
如果你需要额外的功能,可以随意分叉和扩展。
许可证
MIT许可证-有关详细信息,请参阅许可证文件
免责声明
仅用于研究和教育目的。未经授权访问您不拥有的系统是非法的。
备注:此工具用于安全研究和审核您自己的开发环境。在扫描任何系统之前,始终获得适当的授权。