漏洞检测服务器

VulneraMCP是一款AI驱动的漏洞赏金MCP服务器,集成了多种安全测试工具,用于侦察、漏洞测试、API/认证/云扫描、图分析和报告生成,适用于安全研究人员和漏洞赏金猎人。

  • by telmon95
  • TypeScript
  • 本地部署
  • 49 星标
  • 更新于
在 GitHub 查看 telmon95/VulneraMCP

使用说明

VulneraMCP

基于人工智能的Bug赏金MCP服务器 -reco、漏洞测试、API/auth/云扫描、图形分析,以及为安全研究人员和漏洞赏金猎人提供报告。

VulneraMCP是一个用于漏洞赏金搜寻和安全测试的模型上下文协议(MCP)服务器。它集成了OWASP ZAP、可选的Caido/Burp Suite和CLI工具(subfinder、httpx、gau、ffuf),用于侦察、JavaScript分析、XSS/SQLi/IDOR/CSRF测试、API和auth错误配置检查、云存储桶和秘密扫描、精心安排的扫描流、知识粒度分析、单词表生成和Markdown报告,以及用于结果和测试结果的PostgreSQL存储。

🎬 演示

在YouTube上观看VulneraMCP演示: https://youtu.be/wlUvBVNyh74

🌟 特性

🔍 侦察工具

  • 子域发现:Subfinder,Amass集成
  • 实时主机检测:用于检查活动端点的HTTPx
  • DNS解析:DNS记录枚举(A、AAAA、CNAME、MX、TXT)
  • URL发现:从档案和爬虫获取所有URL
  • 模糊测试:ffuf用于目录、文件和参数发现
  • 完整的侦察工作流程:自动化多工具侦察

🔐 安全性测试

  • XSS测试:自动跨站点脚本检测
  • SQL注入:使用sqlmap回退进行SQLi漏洞测试
  • IDOR检测:不安全的直接对象引用测试
  • CSP分析:内容安全策略配置错误检测
  • 绕过身份验证:身份验证绕过尝试测试
  • CSRF测试:采用先进技术进行跨站点请求伪造检测

🌐 API测试

  • 图查询语言:反思和配置错误检查
  • 速率限制:端点速率限制测试
  • 博拉 / IDOR:对象级授权测试已损坏
  • 批量赋值:不安全字段分配检测
  • Swagger/OpenAPI:API文档列举

🔑 认证测试

  • JSON Web 令牌:无算法和算法混淆攻击
  • OAuth:配置错误检测
  • 场次:固定和cookie标志分析
  • 密码重置:主机头中毒测试
  • 多因素认证:旁路信号检测和测试

☁️ 云安全

  • 存储:S3/AAzure/GCP桶枚举和权限探测
  • 秘密:JS、HTML和env文件中的暴露密钥扫描
  • 地形:状态文件泄漏检测

🎯 扫描仪编排

  • 目标标准化:标准化多工具流程的目标
  • 运行流程:在API、身份验证和云工具之间进行协调扫描
  • 寻找相关性:跨测试链接和关联结果

📈 图形分析

  • 知识图谱:在PostgreSQL中存储目标、发现和关系
  • 模式检测:提取模式并找到类似的发现
  • 攻击图:生成、排序和导出攻击路径(JSON、GraphML)

📝 报告和单词表

  • 报告生成:Markdown报告调查结果
  • 单词列表生成:目录、文件、参数和组合列表

📜 JavaScript分析

  • JS下载:下载并分析JavaScript文件
  • 代码美化:格式化和美化缩小的JS
  • 端点提取:在JS中查找API端点和URL
  • 秘密侦查:启发式API密钥和令牌提取
  • 全面分析:组合下载、美化和分析工作流程

🕷️ 集成

  • 蜘蛛扫描:自动网络爬行
  • 主动扫描:漏洞扫描
  • 代理集成:通过ZAP代理处理请求
  • 警报管理:检索和分析安全警报
  • 上下文管理:定义扫描上下文

💾 数据库集成

  • PostgreSQL:存储发现、测试结果和分数
  • 瑞迪斯:工作内存和缓存(可选)
  • 寻找管理:保存和检索错误发现
  • 测试结果存储:使用统计数据跟踪所有安全测试

🖼️ 渲染工具

  • 截图:使用Puppeteer截取网页截图
  • DOM提取:提取并分析页面结构
  • 表单提取:查找和分析web表单
  • JavaScript执行:在页面上下文中执行JS

🤖 人工智能训练与模式匹配

  • 训练数据导入:从HTB、PortSwigger实验室进口
  • 模式匹配:从成功的漏洞中学习
  • 撰写分析:从bug赏金报告中提取模式
  • CSRF模式:预加载CSRF利用模式

📊 网络仪表板

  • 实时统计:查看测试结果和发现
  • 寻找管理:浏览和分析发现的漏洞
  • 可视化分析:跟踪测试进度和成功率

🚀 快速开始

先决条件

  • Node.js 20+和npm
  • PostgreSQL 18+(或Docker)
  • 瑞迪斯 (可选,用于缓存)
  • 电击 (可选,用于主动扫描)
  • Caido (可选,用于流量分析)

安装

# Clone the repository
git clone https://github.com/telmon95/VulneraMCP.git
cd VulneraMCP

# Install dependencies
npm install

# Build the project
npm run build

配置

  1. 复制环境模板:

    cp mcp.json.example mcp.json
    
  2. 配置环境变量:

    • 设置PostgreSQL连接详细信息
    • 配置Caido API令牌(如果使用)
    • 设置ZAP API URL(默认值:http://localhost:8081)
  3. 初始化数据库:

    node init-db.js
    

运行服务器

# Start the MCP server
npm start

# Start the dashboard (in another terminal)
npm run dashboard

# Access dashboard at http://localhost:3000

Docker设置

# Start all services with Docker Compose
docker-compose up -d

# Or use the startup script
./start-services.sh

📖 用法

通过MCP客户端(光标、克劳德桌面等)

服务器提供可通过任何MCP兼容客户端调用的MCP工具:

侦察:

recon.subfinder domain: example.com
recon.httpx input: example.com,subdomain.example.com
recon.full domain: example.com

安全测试:

security.test_xss url: https://example.com/search?q=<script>
security.test_sqli url: https://example.com/user?id=1
security.test_csrf url: https://example.com/profile/update

JavaScript分析:

js.analyze url: https://example.com/static/app.js
js.extract_secrets source: <javascript_code>

ZAP集成:

zap.start_spider url: https://example.com
zap.start_active_scan url: https://example.com
zap.get_alerts baseURL: https://example.com

Caido集成:

caido.query httpql: "req.host.cont:\"example.com\" AND req.path.cont:\"api\""
caido.agent_discover_endpoints host: example.com

利率限制和最佳实践

在测试漏洞赏金计划时,始终遵守费率限制:

// Example: 2 requests/second limit
const rateLimiter = require('./hunting/rate-limiter');
const limiter = rateLimiter(2); // 2 req/sec

await limiter();
// Make your request

🏗️ 项目结构

VulneraMCP/
├── src/
│   ├── integrations/    # External service integrations
│   │   ├── zap.ts       # OWASP ZAP integration
│   │   ├── caido.ts     # Caido integration
│   │   ├── postgres.ts  # PostgreSQL database
│   │   └── redis.ts     # Redis caching
│   ├── tools/           # MCP tools (recon, security, etc.)
│   ├── mcp/             # MCP server implementation
│   └── index.ts         # Main entry point
├── public/              # Dashboard frontend
├── hunting/             # Bug bounty hunting scripts
├── dist/                # Compiled TypeScript output
└── dashboard-server.js  # Dashboard API server

🔧 配置

MCP服务器配置(mcp.json)

{
  "name": "vulneramcp",
  "command": "node",
  "args": ["dist/index.js"],
  "env": {
    "POSTGRES_HOST": "localhost",
    "POSTGRES_PORT": "5433",
    "POSTGRES_USER": "postgres",
    "POSTGRES_DB": "bugbounty"
  }
}

环境变量

# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_PORT=5433
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_password
POSTGRES_DB=bugbounty

# ZAP
ZAP_API_URL=http://localhost:8081

# Caido
CAIDO_API_TOKEN=your_token

# Redis (optional)
REDIS_HOST=localhost
REDIS_PORT=6379

📊 仪表板

web仪表板提供:

  • 统计:测试结果、成功率、漏洞分布
  • 研究结果:发现漏洞的详细视图
  • 搜索和筛选:按目标、类型、严重程度查找具体发现

访问地址: http://localhost:3000

💖 赞助商

如果VulneraMCP有助于您的漏洞赏金或安全研究工作流程,请考虑赞助 GitHub赞助商.

您的支持有助于为这个开源项目的新功能、文档、安全测试和长期维护提供资金。

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

⚠️ 免责声明

此工具仅用于授权的安全测试。始终:

  • 测试前获得适当授权
  • 遵守费率限制和服务条款
  • 遵循负责任的披露做法
  • 切勿在您不拥有或没有明确测试权限的系统上使用

🙏 致谢

  • ZAP用于漏洞扫描
  • bug赏金社区提供灵感和反馈

📚 文档

🐛 问题

发现bug了吗?有功能请求吗?请打开一个问题 GitHub.

📧 联系