Bug赏金MCP服务器
一个干净、专注的服务器,包含漏洞奖励搜寻工作流和REST API端点。
有关AI编码助手,请参阅 AGENTS.md 获取特定于存储库的指导。
特性
- 清洁建筑:在保持核心功能的同时,删除了臃肿和不必要的依赖关系
- 以Bug赏金为重点:侦察、漏洞搜寻、业务逻辑测试、OSINT和文件上传测试的专用工作流程
- REST API端点:用于工作流生成和管理的简单HTTP API
- 综合评估:结合多个工作流程进行完整的漏洞赏金评估
建筑
核心组件
- REST API服务器 (
src/rest_api_server/app.py)-基于Flask-based HTTP API服务器,带有bug奖励工作流端点 - MCP服务器 (
src/mcp_server/app.py)基于FastMCP的服务器,用于AI代理通信 - Bug赏金工作流 (
src/rest_api_server/workflows/)-为不同阶段的测试生成专门的工作流程 - 工具集成 (
src/rest_api_server/tools/)-整合的安全工具包装器 - 共享公用设施 (
src/rest_api_server/utils/&src/rest_api_server/logger.py)-跨端点共享的注册表、日志记录和助手实用程序
快速开始
1.安装依赖项并启动服务器
# Install dependencies with uv
uv sync
# Install development dependencies (optional)
uv sync --dev
# Set up pre-commit hooks (recommended for development)
uv run pre-commit install
# Start the server
uv run -m src.rest_api_server
# Or with environment variables
DEBUG=true BUGBOUNTY_MCP_PORT=8888 uv run -m src.rest_api_server
# Or use the launcher script
./start-server.sh --debug --port 88882.测试API
# Create reconnaissance workflow
curl -X POST http://127.0.0.1:8888/api/bugbounty/reconnaissance-workflow \
-H "Content-Type: application/json" \
-d '{"domain": "example.com", "program_type": "web"}'配置
环境变量
BUGBOUNTY_MCP_PORT:服务器端口(默认值:8888)BUGBOUNTY_MCP_HOST:服务器主机(默认值:127.0.0.1)DEBUG:启用调试模式(默认值:false)
使用示例
# Start with default configuration
uv run -m src.rest_api_server
# Start with custom configuration
DEBUG=true BUGBOUNTY_MCP_PORT=9999 BUGBOUNTY_MCP_HOST=0.0.0.0 uv run -m src.rest_api_server主要特点
- Bug赏金工作流管理:为漏洞赏金搜寻的不同阶段生成完整的工作流程
- 漏洞优先级:基于影响和赏金潜力的情报驱动优先级
- 文件上传测试:文件上传漏洞测试专用框架
- OSINT集成:全面的OSINT收集工作流程
- 业务逻辑测试:业务逻辑漏洞发现的结构化方法
Spec Kit集成和人工智能辅助开发
此存储库与 用于规范驱动的开发工作流程,在人工智能的帮助下进行代码库探索、规划和验证。
Gemini CLI集成
该存储库包括与谷歌Gemini CLI的集成,以增强人工智能驱动的开发辅助:
# Install Gemini CLI (nightly version for latest features)
npx @google/gemini-cli@nightly关键用例
代码库探索
- 分析复杂的漏洞赏金工具集成和工作流程
- 了解MCP服务器组件和REST API端点之间的关系
- 浏览安全工具配置和漏洞检测模式
规划和规范
- 为新的漏洞赏金工作流程制定全面的实施计划
- 为安全工具集成创建详细的规范
- 规划漏洞检测能力的测试策略
代码审查与验证
- 根据安全最佳实践验证实施质量
- 检查漏洞赏金工作流逻辑的完整性和准确性
- 验证API端点安全性和错误处理
- 分析工具输出解析和漏洞分类
与Spec Kit工作流集成
Gemini CLI补充了现有的spec kit命令:
- 指定阶段 (
.claude/commands/specify.md)
# Use Gemini CLI to analyze requirements and generate specifications
npx @google/gemini-cli@nightly analyze-requirements --input "feature_description"- 规划阶段 (
.claude/commands/plan.md)
# Use Gemini CLI to validate and enhance implementation plans
npx @google/gemini-cli@nightly review-plan --spec-file "path/to/spec.md"- 实施验证
# Use Gemini CLI as a code reviewer and security auditor
npx @google/gemini-cli@nightly audit-security --focus bug-bounty-workflows推荐工作流程
# 1. Explore codebase before making changes
npx @google/gemini-cli@nightly explore --focus "bug bounty tools integration"
# 2. Plan new features with AI assistance
npx @google/gemini-cli@nightly plan --spec-driven --security-focused
# 3. Verify implementations against security standards
npx @google/gemini-cli@nightly verify --check-security --validate-workflows依赖项
项目用途 uv 为了实现快速、可靠的依赖关系管理:
核心依赖关系
- 烧瓶:REST API的Web框架
- FastMCP:MCP服务器框架
- 请求::HTTP客户端库
- Python 3.11+:核心运行时(支持Python 3.11、3.12、3.13)
发展依赖性
- 拉夫:快速Python linter和格式化程序
- 匪徒:安全漏洞扫描程序
- Pydocstyle:文件质量检查员
- 吡啶:静态类型检查器
- 预承诺:Git预提交钩子框架
安装依赖项:
uv sync # Core dependencies only
uv sync --dev # Include development tools添加新的依赖关系:
uv add package-name代码质量
此项目通过自动预提交挂钩来强制执行代码质量:
# Install pre-commit hooks
uv run pre-commit install
# Run checks on all files
uv run pre-commit run --all-files
# Run specific checks
uv run ruff check # Linting
uv run ruff format # Formatting
uv run bandit -c pyproject.toml # Security scan
uv run pydocstyle # Documentation check标准:
- 行长:88个字符
- 文档:谷歌文档字符串约定
- 类型提示:公共API必需
- 安全:启用Bandit安全扫描
贡献
我们欢迎捐款。请看 CONTRIBUTING.md 作为指导方针。
使用AI编码助手?从开始 AGENTS.md 获取特定于存储库的指导。
