使用说明
BugBounty MCP服务器
一个全面的模型上下文协议(MCP)服务器,用于漏洞赏金搜寻和web应用程序渗透测试。此工具允许您通过与LLM的自然语言对话执行广泛的安全测试。
🚀 特性
🔍 侦察(13种工具)
- 子域枚举:被动和主动子域发现
- DNS枚举:全面的DNS记录分析
- WHOIS查询:域名注册和所有权信息
- 证书透明度:SSL证书日志分析
- 谷歌恶作剧:自动搜索引擎侦察
- Shodan/Censys集成:物联网和服务发现
- GitHub侦察:代码库分析
- Archive.org搜索:历史网站分析
- 技术检测:Web堆栈指纹识别
- 社交媒体搜索:OSINT跨平台
- 电子邮件枚举:电子邮件地址发现
- 反向域名解析:IP到主机名解析
- WAF检测:Web应用程序防火墙标识
🌐 扫描(15个工具)
- 端口扫描:全面的网络端口分析
- 服务列举:详细的服务指纹识别
- Web目录扫描:隐藏文件/目录发现
- 网络爬虫:自动网站探索
- 参数发现:隐藏参数标识
- 子域名接管:漏洞检测
- SSL/TLS分析:证书安全评估
- CMS扫描:WordPress/Drupal/Joomla分析
- JavaScript分析:客户端安全审查
- HTTP方法测试:动词篡改检测
- CORS分析:跨来源政策测试
- 安全标头:HTTP标头安全分析
- 核心集成:漏洞模板扫描
- 模糊测试:输入验证测试
- API端点发现:REST/GraphQL/SOAP分析
🛡️ 漏洞评估(15种工具)
- SQL注入测试:自动SQLi检测
- XSS测试:跨站点脚本分析
- 命令注入:操作系统命令执行测试
- 文件包含(LFI/RFI):路径遍历分析
- XXE测试:XML外部实体检测
- SSRF测试:服务器端请求伪造
- IDOR测试:不安全的直接对象引用
- CSRF测试:跨站点请求伪造
- 认证绕过:登录机制测试
- 权限提升:权限边界测试
- JWT安全:JSON Web令牌分析
- 会话管理:会话安全评估
- 竞争条件:并发漏洞测试
- 业务逻辑:工作流安全分析
- 反序列化:不安全物体处理检测
🌍 Web应用程序(10个工具)
- 访问控制测试:授权边界测试
- 安全配置错误:配置弱点检测
- 敏感数据泄露:信息泄露分析
- API安全测试:REST/GraphQL安全评估
- 文件上传安全:上传机制测试
- 输入验证:数据净化分析
- Cookie安全:会话cookie分析
- WebSocket安全:实时通信测试
- GraphQL安全:查询语言漏洞测试
- 错误处理分析:通过错误披露信息
🔧 网络安全(10个工具)
- 网络发现:直播主机标识
- 防火墙检测:安全设备标识
- 负载平衡器检测:交通分布分析
- CDN检测:内容交付网络分析
- 代理检测:中介服务标识
- 路由分析:网络路径检查
- 带宽测试:网络性能分析
- 无线安全:WiFi网络评估
- 网络嗅探:数据包捕获和分析
- 横向移动:内部网络探索
🕵️ OSINT(10个工具)
- 人员调查:个人背景研究
- 公司调查:企业情报收集
- 暗网监控:隐藏服务监控
- 数据泄露检查:凭证风险分析
- 社交媒体调查:跨平台的配置文件分析
- 粘贴站点监控:泄漏信息检测
- 代码库搜索:源代码情报
- 地理位置调查:物理存在分析
- 威胁情报:IoC分析和归因
- 元数据抽取:文件取证
⚔️ 开发(10个工具)
- 漏洞利用搜索:漏洞数据库查询
- 有效载荷生成:自定义漏洞利用创建
- 权限提升:系统访问扩展
- 横向移动:网络传播技术
- 持久性机制:后门安装方法
- 数据渗漏:信息提取技术
- 凭证转储:密码获取方法
- 反取证:证据排除技术
- 回避技术:安全控制旁路
- 社会工程学:人为因素利用
📊 报告(10个工具)
- 漏洞报告:全面安全评估
- 摘要报告:以业务为重点的报告
- 查找跟踪:漏洞生命周期管理
- 指标仪表板:安全KPI可视化
- 数据导出:多格式结果导出
- 补救计划:优先修复路线图
- 合规性映射:框架对齐分析
- 风险评估:业务影响评估
- 扫描比较:历史趋势分析
- 概念验证:利用文档
📋 总计:92+安全测试工具
🛠️ 安装
先决条件
- Python 3.10或更高版本 (推荐使用Python 3.11+)
- Git
- 码头工人 (用于集装箱化部署)
- macOS、Linux或Windows与WSL
🐳 Docker安装(推荐)
最简单的入门方法是使用Docker,其中包括预安装的所有依赖项和安全工具。
快速启动Docker
-
克隆存储库:
git clone https://github.com/gokulapap/bugbounty-mcp-server.git cd bugbounty-mcp-server -
配置API密钥(可选但推荐):
# Copy environment template cp env.example .env # Edit .env with your API keys nano .env -
使用Docker Compose构建和运行:
# Build and start the container docker-compose up --build -d # View logs docker-compose logs -f bugbounty-mcp # Stop the container docker-compose down
手动Docker命令
# Build the Docker image
docker build -t bugbounty-mcp:latest .
# Run the container
docker run -d \
--name bugbounty-mcp-server \
-v $(pwd)/output:/app/output \
-v $(pwd)/data:/app/data \
-v $(pwd)/.env:/app/.env:ro \
bugbounty-mcp:latest
# View logs
docker logs -f bugbounty-mcp-server
# Access container shell for debugging
docker exec -it bugbounty-mcp-server /bin/bash
# Stop and remove container
docker stop bugbounty-mcp-server
docker rm bugbounty-mcp-server
Docker环境变量
您可以将API密钥和配置直接传递给Docker:
docker run -d \
--name bugbounty-mcp-server \
-e SHODAN_API_KEY="your_shodan_key" \
-e VIRUSTOTAL_API_KEY="your_vt_key" \
-e GITHUB_TOKEN="your_github_token" \
-e LOG_LEVEL="INFO" \
-v $(pwd)/output:/app/output \
bugbounty-mcp:latest
Docker镜像中包含了什么
Docker镜像包括:
- ✅ Python 3.11包含所有必需的包
- ✅ 所有20多种安全工具(nmap、nucleus、subinder、httpx等)
- ✅ 扫描必备单词表
- ✅ 针对安全性和性能进行了优化
- ✅ 非root用户,增强安全性
- ✅ 健康检查和监测
🔧 本地安装
快速开始
-
克隆存储库:
git clone https://github.com/gokulapap/bugbounty-mcp-server.git cd bugbounty-mcp-server -
运行自动安装:
# Make the run script executable chmod +x run.sh # Install everything automatically ./install.sh或手动安装:
-
创建虚拟环境:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt pip install -e . -
安装外部安全工具 (可选但推荐):
# On Ubuntu/Debian sudo apt update sudo apt install nmap masscan nikto dirb sqlmap # On macOS with Homebrew brew install nmap masscan nikto dirb sqlmap # Install Go-based tools go install github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install github.com/projectdiscovery/httpx/cmd/httpx@latest go install github.com/OJ/gobuster/v3@latest go install github.com/ffuf/ffuf@latest -
配置API密钥 (可选):
# Copy environment template cp env.example .env # Edit .env file with your API keys nano .env -
下载单词表:
# Download all wordlists (recommended) ./run.sh download-wordlists # Or download specific types ./run.sh download-wordlists --type subdomains ./run.sh download-wordlists --type directories ./run.sh download-wordlists --type parameters ./run.sh download-wordlists --type files # See available options ./run.sh download-wordlists --help -
验证配置:
./run.sh validate-config
🎯 用法
启动MCP服务器
� Docker用法(推荐)
使用Docker Compose(最简单):
# Start the server
docker-compose up -d
# View logs in real-time
docker-compose logs -f bugbounty-mcp
# Stop the server
docker-compose down
直接使用Docker:
# Start the server
docker run -d \
--name bugbounty-mcp \
-v $(pwd)/output:/app/output \
-v $(pwd)/.env:/app/.env:ro \
bugbounty-mcp:latest
# Check server status
docker exec bugbounty-mcp bugbounty-mcp validate-config
# View available tools
docker exec bugbounty-mcp bugbounty-mcp list-tools
🚀 run.sh的原生用法
本机启动服务器的最简单方法是使用提供的 run.sh 脚本:
# Navigate to the project directory
cd bugbounty-mcp-server
# Start the MCP server
./run.sh serve
脚本将:
- ✅ 自动激活虚拟环境
- ✅ 从加载环境变量
.env文件 - ✅ 显示服务器状态和可用工具
- ✅ 启动MCP服务器以进行LLM集成
📋 命令行接口
# List all available commands
./run.sh --help
# Start the MCP server
./run.sh serve
# List all 92+ available tools
./run.sh list-tools
# Validate configuration and tool availability
./run.sh validate-config
# Perform a quick security scan
./run.sh quick-scan --target example.com
# Download security wordlists
./run.sh download-wordlists --type subdomains
# Export configuration template
./run.sh export-config --format yaml
bugbounty-mcp export-config --format yaml -o config.yaml
🤖 MCP服务器与LLM的集成
BugBounty MCP服务器实现了 模型上下文协议(MCP),实现与各种LLM应用程序的无缝集成,用于自然语言渗透测试。
🔗 支持的LLM客户端
1. 克劳德桌面版 (推荐)
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
对于Docker(推荐):
{
"mcpServers": {
"bugbounty-mcp": {
"command": "docker",
"args": ["exec", "-i", "bugbounty-mcp-server", "bugbounty-mcp", "serve"],
"env": {
"DOCKER_HOST": "unix:///var/run/docker.sock"
}
}
}
}
对于本地安装:
{
"mcpServers": {
"bugbounty-mcp": {
"command": "/Users/your-username/Documents/bugbounty-mcp-server/run.sh",
"args": ["serve"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
2. VS代码与GitHub Copilot集成
要将BugBounty MCP服务器与VS代码和GitHub副本一起使用:
先决条件:
- 启用GitHub Copilot扩展的VS代码
- VS代码的MCP扩展(如果市场上有)
配置步骤:
-
对于Docker部署(推荐):
首先,确保你的Docker容器在暴露端口3001的情况下运行:
# Start the container with automatic MCP server startup docker-compose up --build -d # Verify the server is accessible on port 3001 nc -z localhost 3001 && echo "MCP server is ready"然后通过打开VS Code设置来配置VS Code MCP设置(
Cmd/Ctrl + ,)并添加:{ "mcp.servers": { "bugbounty-docker": { "command": "nc", "args": ["localhost", "3001"], "description": "BugBounty MCP Server running in Docker", "env": { "LOG_LEVEL": "info" } } } }使用直接Docker exec的替代Docker配置:
{ "mcp.servers": { "bugbounty-docker": { "command": "docker", "args": ["exec", "-i", "bugbounty-mcp-server", "bugbounty-mcp", "serve"], "description": "BugBounty MCP Server via Docker exec", "env": { "DOCKER_HOST": "unix:///var/run/docker.sock" } } } } -
对于本地安装:
{ "mcp.servers": { "bugbounty-native": { "command": "/Users/your-username/Documents/bugbounty-mcp-server/run.sh", "args": ["serve"], "description": "BugBounty MCP Server native installation", "env": { "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin" } } } } -
验证连接:
- 重新启动VS Code或重新加载MCP扩展
- 在VS Code中打开MCP面板(如果可用)
- 您应该看到BugBounty服务器已连接
- 通过询问GitHub Copilot进行测试:“列出BugBounty MCP的可用安全工具”
-
Docker集成故障排除:
如果使用Docker网络方法并遇到问题:
# Check if container is running and healthy docker-compose ps # Test network connectivity nc -z localhost 3001 || echo "Port 3001 not accessible" # Check container logs docker-compose logs -f bugbounty-mcp # Verify MCP server response echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}, "id": 1}' | nc localhost 3001
3. 自定义MCP客户端
import asyncio
from mcp.client.session import ClientSession
from mcp.client.stdio import stdio_client
async def use_bugbounty_mcp():
async with stdio_client(["./run.sh", "serve"]) as (read, write):
async with ClientSession(read, write) as session:
# Initialize the session
await session.initialize()
# List available tools
tools = await session.list_tools()
print(f"Available tools: {len(tools)}")
# Call a tool
result = await session.call_tool(
"subdomain_enumeration",
{"domain": "example.com", "passive_only": True}
)
print(result)
# Run the client
asyncio.run(use_bugbounty_mcp())
4. 集成示例
启动服务器并测试:
# Terminal 1: Start the MCP server
./run.sh serve
# Terminal 2: Test with any MCP client
# The server will be listening on stdio for MCP protocol messages
LLM对话示例:
User: "Please perform a comprehensive security assessment of example.com"
LLM: I'll help you conduct a comprehensive security assessment using the BugBounty MCP tools. Let me start by gathering information about the target.
[The LLM will automatically use tools like:]
- subdomain_enumeration to find subdomains
- port_scanning to identify open services
- vulnerability_scanning to detect security issues
- web_directory_scanning to find hidden files
- And 90+ other security tools as needed
🔧 MCP集成故障排除
如果服务器未在Claude Desktop中启动:
对于Docker部署:
-
确保Docker容器正在运行:
docker ps | grep bugbounty-mcp # Should show running container -
检查容器日志:
docker logs bugbounty-mcp-server -
测试Docker集成:
docker exec bugbounty-mcp-server bugbounty-mcp --help # Should show help output -
验证Docker套接字访问(macOS/Linux):
ls -la /var/run/docker.sock # Should be accessible
对于本机部署:
-
检查配置中的路径:
# Get the absolute path pwd # Use this full path in claude_desktop_config.json -
验证run.sh脚本是否可执行:
chmod +x run.sh -
手动测试服务器:
./run.sh serve # Should show "BugBounty MCP Server started successfully" -
检查克劳德桌面日志:
- macOS:
~/Library/Logs/Claude/ - 视窗:
%LOCALAPPDATA%\Claude\logs\
- macOS:
🐳 Docker高级用法
Docker开发
# Build development image with debugging tools
docker build -t bugbounty-mcp:dev --target builder .
# Run with volume mounts for live development
docker run -it --rm \
-v $(pwd):/app \
-v $(pwd)/output:/app/output \
bugbounty-mcp:dev bash
# Run specific tools
docker exec bugbounty-mcp nmap --version
docker exec bugbounty-mcp nuclei -version
docker exec bugbounty-mcp subfinder -version
性能调整
# Run with increased resources
docker run -d \
--name bugbounty-mcp \
--cpus="2.0" \
--memory="4g" \
-v $(pwd)/output:/app/output \
bugbounty-mcp:latest
# Monitor resource usage
docker stats bugbounty-mcp
备份和持久性
# Create data volume backup
docker run --rm \
-v bugbounty-data:/data \
-v $(pwd)/backup:/backup \
alpine tar czf /backup/data-backup-$(date +%Y%m%d).tar.gz -C /data .
# Restore data volume
docker run --rm \
-v bugbounty-data:/data \
-v $(pwd)/backup:/backup \
alpine tar xzf /backup/data-backup-XXXXXXXX.tar.gz -C /data
Docker管理脚本
为了简化Docker管理,请使用附带的 docker.sh 脚本:
# Make executable (first time only)
chmod +x docker.sh
# Build and run in one command
./docker.sh build && ./docker.sh run --api-keys
# Quick operations
./docker.sh logs --follow # View live logs
./docker.sh shell # Access container shell
./docker.sh validate # Validate setup
./docker.sh restart --force # Force restart
./docker.sh clean --force # Clean everything
# Data management
./docker.sh backup # Backup container data
./docker.sh restore backup/file.tar.gz # Restore data
# Development
./docker.sh build --dev # Build dev image
./docker.sh run --dev # Run with source mounting
配置示例
# bugbounty_mcp_config.yaml
api_keys:
shodan: "your_shodan_api_key"
virustotal: "your_virustotal_api_key"
github: "your_github_token"
tools:
nmap_path: "nmap"
nuclei_path: "nuclei"
max_concurrent_scans: 10
default_timeout: 30
scanning:
default_ports: ["21", "22", "23", "25", "53", "80", "443", "8080", "8443"]
max_crawl_depth: 3
max_pages_to_crawl: 100
output:
output_dir: "output"
report_format: "json"
create_html_report: true
safety:
safe_mode: true
allowed_targets: ["*.example.com", "192.168.1.0/24"]
blocked_targets: ["*.gov", "*.mil"]
🗣️ 自然语言示例
一旦与LLM集成,您就可以通过对话执行安全测试:
侦察
"Perform subdomain enumeration for example.com using both passive and active methods"
"Check if example.com uses a CDN and try to find the origin server"
"Search GitHub for any repositories mentioning example.com that might contain sensitive information"
漏洞测试
"Test the login form at https://example.com/login for SQL injection vulnerabilities"
"Scan https://example.com for XSS vulnerabilities in all input parameters"
"Check if https://example.com has any CORS misconfigurations"
综合测试
"Perform a complete security assessment of example.com including:
- Subdomain discovery
- Port scanning
- Web application testing
- SSL/TLS analysis
- Generate a detailed report"
OSINT聚会
"Investigate the company Example Corp for:
- Employee information
- Technology stack
- Recent data breaches
- Social media presence"
🔧 配置
环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
SHODAN_API_KEY |
用于设备发现的Shodan API密钥 | 否 |
VIRUSTOTAL_API_KEY |
病毒用于威胁情报的API密钥总数 | 否 |
CENSYS_API_ID |
用于证书/主机搜索的Censys API ID | 否 |
CENSYS_API_SECRET |
Censys API机密 | 否 |
GITHUB_TOKEN |
用于存储库搜索的GitHub令牌 | 否 |
SECURITYTRAILS_API_KEY |
DNS历史记录的SecurityTrails API | 否 |
HUNTER_IO_API_KEY |
用于电子邮件发现的Hunter.io API | 否 |
BINARYEDGE_API_KEY |
用于互联网扫描的BinaryEdge API | 否 |
刀具路径
服务器会自动检测PATH中的工具,但您可以指定自定义路径:
tools:
nmap_path: "/usr/local/bin/nmap"
masscan_path: "/opt/masscan/bin/masscan"
nuclei_path: "/home/user/go/bin/nuclei"
# ... other tools
安全功能
safety:
safe_mode: true # Enable safety checks
allowed_targets: # Whitelist of allowed targets
- "*.example.com"
- "192.168.1.0/24"
- "10.0.0.0/8"
blocked_targets: # Blacklist of forbidden targets
- "*.gov"
- "*.mil"
- "*.edu"
rate_limit_enabled: true # Enable rate limiting
requests_per_second: 10.0 # Request rate limit
📁 项目结构
bugbounty-mcp-server/
├── bugbounty_mcp_server/
│ ├── __init__.py
│ ├── server.py # Main MCP server
│ ├── config.py # Configuration management
│ ├── utils.py # Utility functions
│ ├── cli.py # Command-line interface
│ └── tools/
│ ├── __init__.py
│ ├── base.py # Base tool class
│ ├── recon.py # Reconnaissance tools
│ ├── scanning.py # Scanning tools
│ ├── vulnerability.py # Vulnerability assessment
│ ├── webapp.py # Web application tools
│ ├── network.py # Network security tools
│ ├── osint.py # OSINT tools
│ ├── exploitation.py # Exploitation tools
│ └── reporting.py # Reporting tools
├── wordlists/ # Wordlists for scanning
├── output/ # Scan results and reports
├── data/ # Persistent data storage
├── pyproject.toml # Project configuration
├── README.md # This file
├── LICENSE # MIT License
└── SECURITY.md # Security guidelines
🔒 安全考虑
负责任的使用
此工具专为 仅限授权安全测试用户必须:
- 获得明确许可 在测试任何系统之前
- 遵守当地法律 法规
- 遵守费率限制 并避免DoS条件
- 遵循负责任的披露 对于发现的任何漏洞
安全功能
- 目标白名单:配置允许的目标
- 速率限制:防止目标系统不堪重负
- 安全模式:启用额外的安全检查
- 日志记录:全面的审计跟踪
法律免责声明
用户全权负责确保其使用此工具符合适用的法律法规。戈库尔(apgokul008@gmail.com)对本软件造成的任何误用或损坏概不负责。
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
开发设置
-
在开发模式下克隆和安装:
git clone https://github.com/gokulapap/bugbounty-mcp-server.git cd bugbounty-mcp-server pip install -e ".[dev]" -
安装预提交挂钩:
pre-commit install -
运行测试:
pytest
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- 开放式Web应用程序安全项目 安全测试方法
- 项目发现 优秀的安全工具
- 机密列表 用于综合单词表
- 漏洞赏金和安全研究社区
📚 文档
- RUN_SCRIPT.md -详细
run.sh脚本文档 - 用法.md -全面的使用示例和工作流程
- 安全.md -安全准则和最佳做法
- env.example -环境配置模板
📞 支持
🚀 路线图
- []基于Web的仪表板
- []与流行的漏洞赏金平台集成
- []基于机器学习的漏洞检测
- []协作测试功能
- []先进的躲避技术
- []移动应用程序测试工具
- []云安全评估工具
- []区块链安全测试
⚠️ 警告:此工具仅用于授权的安全测试。未经授权使用您不拥有或没有明确许可进行测试的系统是非法和不道德的。