BugbountiesMCP
一个专为漏洞赏金、渗透测试和信息安全研究设计的Model Context Protocol (MCP) 服务器综合列表资源库。
功能特性
- 多样化工具集成:整合了Browser MCP、Burp Suite扩展、CLI工具等多种MCP服务器
- 专业安全测试:支持Web应用安全测试、API安全评估、漏洞研究等核心安全场景
- 自动化工作流:提供代码安全扫描、仓库漏洞评估、安全流程自动化等高级功能
- 威胁情报整合:包含CVE数据库查询、威胁建模、攻击面发现等威胁情报能力
- 可视化调试:集成MCP Inspector等可视化测试工具,便于调试安全场景
安装指南
系统要求
- Python 3.8+
- Node.js (部分服务器需要)
- 支持MCP协议的客户端环境
基础安装
# 克隆资源库
git clone https://github.com/your-username/bugbountiesmcp.git
cd bugbountiesmcp
# 安装核心依赖
pip install -r requirements.txt
特定服务器安装
# 安装Burp MCP扩展
# 通过Burp Suite的BApp Store安装
# 或从GitHub仓库手动安装
# 安装CLI MCP服务器
git clone https://github.com/MladenSU/cli-mcp-server
cd cli-mcp-server
npm install
使用说明
基础配置示例
# MCP服务器连接配置示例
mcp_servers = {
"browser_mcp": {
"url": "https://browsermcp.io",
"features": ["web_security_testing", "client_side_vuln_research"]
},
"burp_mcp": {
"url": "burp://localhost:8080",
"features": ["api_security", "request_manipulation"]
}
}
安全测试工作流
# 集成安全测试示例
def run_security_scan(target_url):
# 初始化MCP连接
with MCPClient("security_mcp") as client:
# 执行威胁建模
threat_model = client.threat_modeling(target_url)
# 运行漏洞扫描
vulnerabilities = client.vulnerability_scan(target_url)
# 生成安全报告
report = client.generate_report(threat_model, vulnerabilities)
return report
核心代码
MCP服务器连接管理
class MCPClient:
"""MCP客户端连接管理类"""
def __init__(self, server_name: str, config: dict = None):
"""
初始化MCP客户端连接
Args:
server_name: 服务器名称
config: 连接配置参数
"""
self.server_name = server_name
self.config = config or {}
self.connection = None
def connect(self):
"""建立与MCP服务器的连接"""
try:
# 根据服务器类型建立相应连接
if self.server_name == "burp_mcp":
self.connection = BurpConnection(self.config)
elif self.server_name == "browser_mcp":
self.connection = BrowserConnection(self.config)
# 其他服务器类型...
logging.info(f"成功连接到 {self.server_name}")
return True
except ConnectionError as e:
logging.error(f"连接失败: {e}")
return False
安全测试功能实现
class SecurityTester:
"""安全测试功能核心类"""
def __init__(self, mcp_client: MCPClient):
self.client = mcp_client
def run_web_security_test(self, target_url: str) -> dict:
"""
执行Web应用安全测试
Args:
target_url: 目标URL地址
Returns:
dict: 安全测试结果
"""
test_results = {
"vulnerabilities": [],
"security_headers": {},
"recommendations": []
}
# 使用MCP服务器进行安全测试
if self.client.connect():
# 检查安全头信息
headers = self.client.check_security_headers(target_url)
test_results["security_headers"] = headers
# 扫描常见漏洞
vulns = self.client.scan_vulnerabilities(target_url)
test_results["vulnerabilities"].extend(vulns)
# 生成修复建议
recommendations = self.client.generate_recommendations(vulns)
test_results["recommendations"].extend(recommendations)
return test_results
CVE数据库查询功能
class CVESearcher:
"""CVE数据库查询功能类"""
def __init__(self, cve_mcp_url: str = "https://cve-search-mcp.example.com"):
self.base_url = cve_mcp_url
def search_cve(self, keyword: str, limit: int = 10) -> list:
"""
搜索CVE漏洞信息
Args:
keyword: 搜索关键词
limit: 返回结果数量限制
Returns:
list: CVE漏洞信息列表
"""
params = {
"keyword": keyword,
"limit": limit,
"format": "json"
}
try:
response = requests.get(f"{self.base_url}/search", params=params)
response.raise_for_status()
return response.json().get("results", [])
except requests.RequestException as e:
logging.error(f"CVE搜索失败: {e}")
return []
注意: 所有MCP服务器仅限在获得授权的情况下用于合法的安全研究和测试工作。