渗透测试控制台

BearStrike AI是一款专为高效渗透测试和漏洞赏金工作流设计的高信号控制台,提供智能AI编排、队列优先执行和150+安全工具集成。

  • by Roshu18
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 Roshu18/bearstrike-ai

使用说明

BearStrike AI

高信号渗透测试控制台(MCP优先,型号不可知)

通过队列优先执行、技能意识规划和生产级运行时状态构建快速、低噪音的安全工作流。

🚀 BearStrike AI亮点

BearStrike AI 专为 高信号渗透测试 和 bug赏金工作流,通过智能AI编排消除噪音。以下是它脱颖而出的原因:

  • 🎯 目标控件+WAF上下文:一目了然地了解目标的防御。
  • 🧠 智能计划器面板:人工智能驱动的规划优先考虑高价值的攻击路径。
  • ⏱️ 异步作业+输出时间线:使用详细日志实时监控扫描。
  • 🛠️ 带类别/状态筛选的工具列表轻松管理150多种集成安全工具。
  • 🧹 保留/清理维护面板:保持你的工作空间干净高效。

✨ 推荐时间:


目录


为什么BearStrike

BearStrike是为信号比扫描噪声更重要的实际bug搜索而构建的:

  • 排队优先执行以防止MCP请求停滞。
  • 请求重复数据消除+响应缓存,以减少重复扫描和令牌浪费。
  • 在进攻步骤之前进行规划的技能第一工作流程。
  • 耐用的控制平面(SQLite + file artifacts)在会话期间保持稳定状态。
  • 与模型/客户端无关的MCP兼容性(Claude Desktop、VS Code、Cursor等)。
  • 默认情况下,用户驱动的狩猎模式(没有强制的自主聊天循环)。

建筑

flowchart TD
    U["User / MCP Client"] --> M["BearStrike MCP Server"]
    U --> D["Flask Dashboard"]
    U --> T["Rich Terminal UI"]

    M --> Q["Queue + Guardrails"]
    Q --> R["Tool Runner (subprocess)"]
    R --> X["Security Tools"]

    M --> S["Skills Loader"]
    M --> P["Scan Planner + Endpoint Scoring"]

    M --> C["Control Plane (SQLite)"]
    D --> C
    T --> C

    C --> O["reports/output/<target>/..."]

核心能力

1) MCP控制层

  • stdio + sse 运输。
  • 队列优先直接呼叫,等待时间短+异步回退。
  • 并发限制、繁重的扫描冷却和工具超时配置文件。
  • 通过以下方式进行精确的暴露检查 mcp_tool_inventory.

2) 智能执行护栏

  • 指纹重复数据消除(tool + target + params + mode + scope_tag).
  • 缓存TTL配置文件(low_noise, balanced, aggressive).
  • 每目标重型工具控制,以减少速率限制峰值。

3) 情报+规划

  • 确定性终点评分(1-10)。
  • 高价值路径的优先带驱动规划。
  • 精心策划的研究摄入和查询支持。

4) 仪表板操作

  • 带有类别/状态过滤器的工具注册表。
  • 异步作业面板,带有队列状态和输出预览。
  • Planner+优先级端点面板。
  • 缓存/重复数据消除/队列指标+维护控制。

安装

需求

  • python 3.10+
  • 建议使用Linux/WSL以实现完全的工具兼容性
  • 类似工具链 nmap, httpx, subfinder, wafw00f, nuclei (根据需要)

设置

git clone <your-repo-url> bearstrike-ai
cd bearstrike-ai
python3 -m pip install -r requirements.txt

配置

编辑 config.json:

{
  "ai_provider": "anthropic",
  "anthropic_api_key": "your-key-here",
  "claude_model": "claude-sonnet-4-20250514",
  "openai_api_key": "",
  "openai_model": "gpt-4o-mini",
  "openai_base_url": "https://api.openai.com/v1",
  "dashboard_port": 3000,
  "mcp_port": 8888,
  "auto_hunt": false,
  "default_target": "",
  "queue_max_concurrency": 2,
  "heavy_scan_per_target": 1,
  "heavy_scan_cooldown_seconds": 45,
  "mcp_direct_wait_seconds": 6,
  "research_refresh_interval_hours": 24,
  "cache_ttl_profile": {
    "low_noise": 7200,
    "balanced": 2400,
    "aggressive": 600
  },
  "endpoint_score_thresholds": {
    "high": 8,
    "medium": 5
  }
}

快速开始

全栈(终端+仪表板+MCP)

python3 main.py

从目标开始

python3 main.py example.com

独立模式(无MCP/AI回路)

python3 main.py --standalone

帮助

python3 main.py --help

MCP客户端设置

BearStrike支持两种MCP传输:

  • stdio 适用于Claude Desktop、Cursor和VS Code MCP客户端。
  • sse 适用于支持HTTP/SSE的MCP客户端。

1) 标准(推荐)

手动运行:

python3 /home/himanshu/xHunt/bearstrike-ai/core/mcp_server.py --transport stdio

2) 克劳德桌面(Windows+WSL)

打开Claude Desktop MCP配置并添加:

{
  "mcpServers": {
    "bearstrike-ai": {
      "command": "wsl",
      "args": [
        "-d",
        "kali-linux",
        "python3",
        "/home/himanshu/xHunt/bearstrike-ai/core/mcp_server.py",
        "--transport",
        "stdio"
      ]
    }
  }
}

然后重新启动Claude Desktop并检查开发人员->本地MCP服务器。

3) 光标MCP配置

在Cursor的MCP JSON中添加BearStrike:

{
  "mcpServers": {
    "bearstrike-ai": {
      "command": "wsl",
      "args": [
        "-d",
        "kali-linux",
        "python3",
        "/home/himanshu/xHunt/bearstrike-ai/core/mcp_server.py",
        "--transport",
        "stdio"
      ]
    }
  }
}

4) VS代码MCP配置

使用相同 mcpServers 在VS代码MCP设置中输入。

5) 通用本地Linux配置

{
  "mcpServers": {
    "bearstrike-ai": {
      "command": "python3",
      "args": [
        "/home/himanshu/xHunt/bearstrike-ai/core/mcp_server.py",
        "--transport",
        "stdio"
      ]
    }
  }
}

6) SSE(HTTP客户端)

python3 /home/himanshu/xHunt/bearstrike-ai/core/mcp_server.py --transport sse --port 8888

SSE端点: http://127.0.0.1:8888/sse


工具使用模式

BearStrike支持两个维度的控制:

A) 扫描模式(mode)

  • low_noise:最安全的配置文件,最长的缓存TTL,更少的攻击性调用。
  • balanced:默认配置文件,速度和安全的实用组合。
  • aggressive:TTL最短,探测速度更快;更高的区块/速率限制风险。

使用 low_noise 对于受保护的目标和赏金计划。

B) 狩猎策略(strategy)

  • adaptive:分阶段和智能(推荐)。运行1-2个关键工具,分析信号,然后选择下一个工具。
  • diversified:类别覆盖范围更广,但仍受控制。
  • all:快速排队一系列兼容的工具(大量)。

默认建议:

  • 开始: mode=low_noise, strategy=adaptive
  • 展开: mode=balanced, strategy=diversified
  • 仅在需要时: strategy=all

检查模式选项(MCP)

使用 hunt_options 查看当前默认值和可用策略/模式值。


常见工作流

1) 最小安全流量(推荐)

  1. set_target
  2. detect_waf
  3. plan_scan
  4. full_hunt 和 strategy=adaptive
  5. 跟踪与 list_jobs那么 job_result
  6. 生成报告 get_target_report

2) 异步大流量(防止MCP超时)

  • 队列: start_tool
  • 监视器: job_status
  • 读取输出: job_result

这是长工具的首选(subfinder, nuclei,大型爬行)。

3) 完整的活动流程(广泛)

{
  "target": "example.com",
  "mode": "balanced",
  "include_subdomains": true,
  "max_subdomains": 60,
  "max_tools": 0,
  "strategy": "all",
  "fanout_tools_per_target": 8,
  "verbose": false
}

笔记:

  • max_tools=0 指所有兼容的已安装工具。
  • verbose=false 减少MCP响应抖动和令牌烧坏。
  • 如果速率受限,请切换到 strategy=adaptive 和 mode=low_noise.

仪表盘

打开启动时打印的URL(例如 http://127.0.0.1:3001).

特征:

  • 目标控件+WAF上下文。
  • 智能计划器面板。
  • 异步作业+输出时间线。
  • 带有类别/状态过滤的工具列表。
  • 用于保留/清理的维护面板。

主要API:

  • GET /api/tools
  • GET /api/dashboard
  • GET /api/jobs
  • POST /api/jobs/start
  • POST /api/target
  • GET /api/endpoints/prioritized
  • GET /api/research/summary
  • POST /api/research/refresh
  • GET /api/cache/stats
  • GET /api/dedupe/stats
  • POST /api/maintenance/purge

工具

BearStrike包括150多种不同类别的工具配置文件:

  • 侦察
  • 网络
  • 利用
  • 云
  • 二进制
  • 法医学
  • 杂项

核心MCP辅助工具:

  • health
  • list_tools
  • mcp_tool_inventory
  • tools_status
  • set_target
  • detect_waf
  • execute_tool
  • start_tool
  • job_status
  • job_result
  • list_jobs
  • plan_scan
  • smart_scan
  • full_hunt
  • score_endpoint
  • research_refresh
  • research_query
  • cache_stats
  • dedupe_stats
  • queue_stats
  • purge_old_data

广泛的活动示例(full_hunt)

使用一个调用在主要目标和发现的子域上排队一个广泛的、无提示的活动:

{
  "target": "example.com",
  "mode": "balanced",
  "include_subdomains": true,
  "max_subdomains": 60,
  "max_tools": 0,
  "strategy": "diversified",
  "fanout_tools_per_target": 12
}

笔记:

  • max_tools=0 指所有兼容的已安装工具。
  • strategy=all 使用纯优先级顺序。
  • strategy=diversified 将覆盖范围扩展到各个类别。

技能手册

BearStrike包括一个技能优先的剧本层 skills/.
这些被设计为在重扫描之前读取,因此MCP客户端首先选择高信号步长。

当前技能模块:

  • planning -预扫描决策流程和优先级
  • recon -recon测序和终点发现
  • pentest-tools -基于目标和风险的工具选择策略
  • bug-hunting -端到端的bug搜寻方法
  • exploitation -PoC质量和假阳性消除
  • reporting -结构化报告模板和证据标准
  • research-notes -最新的研究模式和bug类
  • traffic-proxy -拦截工作流(mitmproxy/ZAP风格使用)
  • xray-suite -xray/crawergo/headless浏览器特定指南

建议的MCP行为:

  • 负载 planning + research-notes 第一。
  • 使用 mode=low_noise + strategy=adaptive 默认情况下。
  • 只有在发现信号后,才能升级到更广泛的工具集。
  • 保持 verbose=false 在长时间狩猎中,减少回应喋喋不休/烧钱。

数据和保留

控制平面数据库: data/bearstrike.db
人工产品: reports/output/<target_slug>/...

保留控制:

  • 清除超过N天的运行时数据(建议:7天)。
  • 可选的从仪表板/API完全清除所有重置。

示例:

  • purge_old_data(days=7, include_research=false, vacuum=true)
  • purge_old_data(clear_all=true, vacuum=true)

项目结构

bearstrike-ai/
├── core/
│   ├── mcp_server.py
│   ├── control_plane.py
│   ├── scan_planner.py
│   ├── reporting.py
│   ├── strategist.py
│   ├── tool_registry.py
│   └── tool_runner.py
├── dashboard/
│   ├── server.py
│   ├── templates/index.html
│   └── static/
├── terminal/
│   ├── display.py
│   ├── live_feed.py
│   └── colors.py
├── skills/
├── tools/
├── reports/
├── data/
├── docs/images/
├── main.py
├── config.json
└── README.md

视觉识别


故障排除

仅显示少数MCP工具

  • 在不使用压缩模式的情况下启动MCP服务器。
  • 重新启动MCP客户端应用程序(可以缓存工具模式)。
  • 跑 mcp_tool_inventory 从服务器端验证暴露的工具。

MCP超时

  • 使用异步流进行大量扫描: start_tool -> job_status -> job_result.
  • 更喜欢 mode="low_noise" 对于WAF保护的目标。
  • 避免对同一目标进行并行重扫描。

仪表板端口冲突

  • BearStrike自动选择下一个空闲端口并打印最终URL。

法律与安全

仅在您拥有或明确授权测试的系统上使用BearStrike。

  • 不得进行未经授权的测试。
  • 遵循程序策略(HackerOne、Bugcrowd、TryHackMe、私有范围)。
  • 遵守费率限制和安全披露规则。

许可证

MIT许可证。看 许可证.