Skip to main content

Cyberstrike is now open source! AI-powered penetration testing for security professionals. Star on GitHub

Hacker Browser

HackBrowser 是一个自主的 AI 驱动 Web 爬虫。它启动 Chromium 浏览器,使用您的凭据登录,遍历应用程序,并将捕获的 HTTP 流量传入 proxy-agent 测试流水线——不需要人工驾驶。

🎬 GIF: g06-browser-scanning.gif

HackBrowser 自主爬取目标应用(25秒)

这是自主捕获路径——AI 驱动浏览器。如需手动浏览器驱动的方式,请参阅 Chrome 扩展。两种路径都通过相同的 proxy-agent 流水线。

入口点

有三种方式启动 HackBrowser:

入口点用法
CLIcyberstrike hackbrowser <target>
斜杠命令在 TUI 中输入 /hackbrowser <target>
工具调用代理在评估过程中自动调用 hackbrowser 工具

所有三种方式最终到达相同的运行器。CLI 和斜杠命令适合手动启动;工具调用发生在代理决定需要爬取应用时。

基本用法

CLI

Terminal window
cyberstrike hackbrowser https://shop.example.com

斜杠命令

/hackbrowser https://shop.example.com

工具调用(代理自动)

{
"tool": "hackbrowser",
"input": {
"target": "https://shop.example.com",
"session_id": "session-abc123"
}
}

爬取阶段

HackBrowser 分两个阶段运行:

阶段 1:确定性发现

在 AI 参与之前,HackBrowser 运行快速确定性检测器来构建初始站点地图:

  • /robots.txt、/sitemap.xml、/openapi.json
  • 常见框架路由(Next.js manifest、Nuxt payload、SPA 路由等)
  • <a>、<form> 和 JS 包中提取的链接

这会创建一个路由的基线列表,而无需花费 AI token。

阶段 2:AI 导航

导航器模型接管并自主驱动浏览器:

  1. 读取当前 DOM + 阶段 1 的站点地图
  2. 决定点击哪里、提交什么表单
  3. 执行操作并捕获流量
  4. 重复直到覆盖范围达到饱和

导航器使用与您配置的相同 AI 提供商运行。

凭据和多凭据爬取

注册凭据

在启动之前,通过 TUI 注册凭据:

/web credentials add --label admin --username [email protected] --password s3cret
/web credentials add --label user --username [email protected] --password pass123

多凭据流程

凭据 1 (admin) → 登录 → 爬取 → 捕获流量
凭据 2 (user) → 登录 → 爬取 → 捕获流量

每个凭据的流量在 proxy-agent 上下文中标记所属凭据,从而实现跨角色测试(IDOR、权限提升)。

UI 上下文载荷

v1.1.12+

HackBrowser 的登录流程可以接收来自 Web UI 的 上下文载荷——一份在爬取启动前由用户在 Web UI 中填写的数据包(凭据、范围等)。

当从 Web UI 启动爬取时,UI 将此载荷连同启动请求一起发送。CLI 和斜杠命令入口点不使用此路径——它们从注册的会话凭据中读取。

网络范围

HackBrowser 仅捕获匹配目标范围的请求——与 Chrome 扩展中配置的范围工作方式相同。

默认范围是启动 URL 的域名:

目标: https://shop.example.com
范围: shop.example.com

对第三方域名(CDN、分析、身份提供商)的请求会被自动过滤。

实时遥测面板

📸 SCREENSHOT: hackbrowser-telemetry.png

HackBrowser 实时遥测面板

在 TUI 中运行时,HackBrowser 显示实时遥测:

指标描述
已访问页面已爬取的唯一 URL 数
捕获的请求已转发到 proxy-agent 的 HTTP 请求数
当前 URL浏览器当前所在页面
凭据活跃的凭据标签
阶段当前爬取阶段(发现/导航)

取消

在 TUI 中按 Ctrl+C 或通过 API 发送停止信号取消正在运行的爬取。

取消是优雅的:已捕获的流量保持可用于 proxy-agent,浏览器干净地关闭。

重入规则

HackBrowser 每个会话一次只运行一个爬取实例。如果在爬取已经运行时请求新的爬取:

  • 相同目标:请求被忽略(重复启动)
  • 不同目标:当前爬取被停止,新爬取接管

这防止了针对同一目标的意外并行爬取。

去重

HackBrowser 与 Chrome 扩展使用相同的服务器端去重。如果一个请求的方法、标准化路径和参数结构已经被处理过,它会被跳过。这意味着您可以在同一会话中混合使用 HackBrowser 爬取和手动 Chrome 浏览——proxy-agent 不会重复测试重叠的流量。

故障排除

浏览器不启动

确保已安装 Chromium/Chrome。HackBrowser 使用 Playwright,它会在首次运行时下载自己的 Chromium:

Terminal window
bunx playwright install chromium

登录失败

  • 验证凭据已正确注册
  • 检查目标是否有 CAPTCHA 或多因素认证(目前不支持)
  • 查看诊断日志:~/.local/share/cyberstrike/log/hackbrowser/<session>.jsonl

爬取覆盖率低

  • 确保范围足够宽以涵盖所有应用子域名
  • 检查应用是否需要特定的请求头或 Cookie
  • 考虑为发现的但爬虫未到达的路由提供额外的种子 URL

诊断日志

v1.1.14+

HackBrowser 将跨层 JSONL 诊断日志写入:

~/.local/share/cyberstrike/log/hackbrowser/<session>.jsonl

当 AI 协同驾驶静默或爬取看起来卡住时,读取此日志进行问题定位。

相关文档