Imported from ITroyeSivan/Saker (
shared/skills/browser-recon/SKILL.md). Install upstream withnpx skills add ITroyeSivan/Saker --skill browser-recon. Copyright stays with the author.
浏览器侦察(browser-recon)
位置:Saker 模式包
shared/skills/,各预设(pentest / code-audit)共同加载。 适用:SPA / 客户端富应用 / 复杂登录口 / 需人机交互的页面(验证码、短信、扫码、OAuth 跳转)。
通道前提(浏览器运行时不由本技能提供)
本技能是操作指令文本,本身不含浏览器运行时。真实浏览器自动化优先使用宿主
0.1.6-alpha.1 提供的能力:
- 若 profile 已启用实验性 Browser Use,优先使用宿主
mcp__playwright-mcp__*/mcp__chrome-devtools-mcp__*工具或 Stagehand 的stagehand_*工具。 - 若没有 Browser Use,使用 Saker「MCP 工作台」接入 Chrome DevTools、Playwright
或 Burp/Yakit 浏览器 MCP;
auto/proxy 模式优先,避免 29 个浏览器工具全部进入提示词。 - 只有在上述通道都不可用时,才按「通道阶梯」降级到静态/CLI 抓取 (curl/httpx/接口枚举),不得谎称“打开了浏览器”。
通道阶梯
| 场景 | 默认通道 | 降级链(缺失时) |
|---|---|---|
| 自动化巡页 / 抓 JS / 提取 API | 宿主 Browser Use 或 Chrome MCP(真实浏览器指纹,免 webdriver 标记) | webdriver 消指纹链(--disable-blink-features=AutomationControlled + 真实 UA/分辨率)→ curl 拉首屏 HTML(异步 chunk 缺失需标注) |
| 登录后改包 / 拦截重放 | burp / yakit MCP(保 Cookie,可改可重放) | mitmproxy → curl 带凭据直发(能发不能拦,登记损失) |
| 客户端加密 / 签名抓取 | frida hook 关键函数离线重放 | 反编译静态分析(wxapkg / apk / asar)→ 加密流量侧录 |
落地产物(必登记 evidence-index)
- JS 资产表:
scripts/<target>/js-files.md——路径 / 大小 / sha256 / 关键导出 / 路由命中。 - API 入口表:
scripts/<target>/api-endpoints.md——方法 / 路径 / 入参 / 鉴权要求 / 触发 URL。 - 登录态会话:
scripts/<target>/session.json(只存 cookie + csrf,禁存明文账密), 供后续 burp/yakit 复用。
纪律
- 真实浏览器指纹优先:自动化扫描流量在 WAF/蜜罐前会"自报家门",先消指纹。
- JS 异步 chunk 缺失必须显式标注——拿到首屏 HTML 不等于拿到全部前端代码。
- 抓到的接口与 JS 路由 = 后续 pentest 漏洞类全集的输入面,别抓完即丢。
- 客户端侧反编译产物(wxapkg / apk / asar)按 preset/pentest/skills/pentest-playbook 「客户端侧作战线」章登记。
与其他技能的关系
- 入口面盘点的"客户端入口"维度(小程序 / app / 桌面)由
pentest-playbook客户端侧作战线承接,本技能提供"浏览器抓取 + 抓包"通道子集。 - 抓到的接口进入
pentest-playbook的形态作战线 A(纯 API 型)继续打。 - 凭证/会话复用 =
red-team-command-doctrine的最小化纪律(不持久化账密)。