一个全面的模型上下文协议(MCP)服务器,用于漏洞赏金猎捕和网络应用渗透测试。此工具允许您通过与大型语言模型(LLM)进行自然语言对话来进行广泛的安全测试。
最简单的方法是使用Docker,它包含了所有依赖项和安全工具预安装。
克隆存储库:
git clone https://github.com/gokulapap/bugbounty-mcp-server.git
cd bugbounty-mcp-server
配置API密钥(可选但推荐):
# 复制环境模板
cp env.example .env
# 编辑.env文件以添加您的API密钥
nano .env
使用Docker Compose构建并运行:
# 构建并启动容器
docker-compose up --build -d
# 查看日志
docker-compose logs -f bugbounty-mcp
# 停止容器
docker-compose down
# 构建Docker镜像
docker build -t bugbounty-mcp:latest .
# 运行容器
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
# 查看日志
docker logs -f bugbounty-mcp-server
# 访问容器shell进行调试
docker exec -it bugbounty-mcp-server /bin/bash
# 停止并删除容器
docker stop bugbounty-mcp-server
docker rm bugbounty-mcp-server
您可以直接将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镜像包括:
克隆存储库:
git clone https://github.com/gokulapap/bugbounty-mcp-server.git
cd bugbounty-mcp-server
运行自动化安装:
# 将运行脚本设置为可执行
chmod +x run.sh
# 自动安装所有内容
./install.sh
或者手动安装:
创建虚拟环境:
python3 -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
安装依赖项:
pip install -r requirements.txt
pip install -e .
安装外部安全工具(可选但推荐):
# 在Ubuntu/Debian上
sudo apt update
sudo apt install nmap masscan nikto dirb sqlmap
# 在macOS上使用Homebrew
brew install nmap masscan nikto dirb sqlmap
# 安装基于Go的工具
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密钥(可选):
# 复制环境模板
cp env.example .env
# 编辑.env文件以添加您的API密钥
nano .env
下载字典:
# 下载所有字典(推荐)
./run.sh download-wordlists
# 或者下载特定类型的字典
./run.sh download-wordlists --type subdomains
./run.sh download-wordlists --type directories
./run.sh download-wordlists --type parameters
./run.sh download-wordlists --type files
# 查看可用选项
./run.sh download-wordlists --help
验证配置:
./run.sh validate-config
使用Docker Compose(最简单):
# 启动服务器
docker-compose up -d
# 实时查看日志
docker-compose logs -f bugbounty-mcp
# 停止服务器
docker-compose down
直接使用Docker:
# 启动服务器
docker run -d \
--name bugbounty-mcp \
-v $(pwd)/output:/app/output \
-v $(pwd)/.env:/app/.env:ro \
bugbounty-mcp:latest
# 检查服务器状态
docker exec bugbounty-mcp bugbounty-mcp validate-config
# 查看可用工具
docker exec bugbounty-mcp bugbounty-mcp list-tools
最简单的方法是使用提供的run.sh脚本来启动服务器:
# 导航到项目目录
cd bugbounty-mcp-server
# 启动MCP服务器
./run.sh serve
该脚本将:
.env文件加载环境变量# 列出所有可用命令
./run.sh --help
# 启动MCP服务器
./run.sh serve
# 列出所有92+可用工具
./run.sh list-tools
# 验证配置和工具可用性
./run.sh validate-config
# 执行快速安全扫描
./run.sh quick-scan --target example.com
# 下载安全字典
./run.sh download-wordlists --type subdomains
# 导出配置模板
./run.sh export-config --format yaml
bugbounty-mcp export-config --format yaml -o config.yaml
BugBounty MCP服务器实现了模型上下文协议(MCP),使与各种LLM应用程序无缝集成成为可能,用于自然语言渗透测试。
在您的Claude Desktop配置文件中添加:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%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"
}
}
}
}
要使用BugBounty MCP服务器与VS Code和GitHub Copilot:
先决条件:
配置步骤:
对于Docker部署(推荐):
首先确保您的Docker容器正在运行,并且端口3001已公开:
# 启动容器并自动启动MCP服务器
docker-compose up --build -d
# 验证服务器是否可以在端口3001上访问
nc -z localhost 3001 && echo "MCP服务器已准备好"
然后通过打开VS Code设置(Cmd/Ctrl + ,)并添加以下内容来配置VS Code MCP设置:
{
"mcp.servers": {
"bugbounty-docker": {
"command": "nc",
"args": ["localhost", "3001"],
"description": "在Docker中运行的BugBounty MCP服务器",
"env": {
"LOG_LEVEL": "info"
}
}
}
}
使用直接Docker exec的替代Docker配置:
{
"mcp.servers": {
"bugbounty-docker": {
"command": "docker",
"args": ["exec", "-i", "bugbounty-mcp-server", "bugbounty-mcp", "serve"],
"description": "通过Docker exec的BugBounty MCP服务器",
"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服务器",
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
验证连接:
Docker集成故障排除: 如果使用Docker网络方法遇到问题:
# 检查容器是否正在运行并且健康
docker-compose ps
# 测试网络连通性
nc -z localhost 3001 || echo "端口3001无法访问"
# 检查容器日志
docker-compose logs -f bugbounty-mcp
# 验证MCP服务器响应
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}, "id": 1}' | nc localhost 3001
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:
# 初始化会话
await session.initialize()
# 列出可用工具
tools = await session.list_tools()
print(f"可用工具:{len(tools)}")
# 调用工具
result = await session.call_tool(
"subdomain_enumeration",
{"domain": "example.com", "pass