Skip to content

v1.2.0 — Browser-driven real-traffic capture, per-program headers, two-agent workflow - #4

Merged
DevCop95 merged 1 commit into
mainfrom
feature/v1.2.0-browser-capture
Oct 14, 2026
Merged

DevCop95 merged 1 commit into
mainfrom
feature/v1.2.0-browser-capture

Conversation

@DevCop95

@DevCop95 DevCop95 commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Closes #3.

What this adds

  • auto-scanner/integrations/browser_capture.js — drives a real headless Chromium (Playwright) against one authorized URL and records every request/response/WebSocket frame the SPA actually makes, with real headers. Sees the requests a modern JS SPA issues past client-gating walls (dynamic client-id, Client-Version, anti-automation) that a static curl can't reproduce.
  • auto-scanner/integrations/browser_capture.sh — scope-enforced wrapper. Refuses any URL not authorized in programs/ before the browser launches, and resolves + injects the mandatory per-program research header (BB_EXTRA_HEADERS / BB_RESEARCH_HEADER / auto-detected from programs/*.md) into every request.
  • Wired into bugbounty-hunter.sh recon as stage [1.4d], skipped under --passive-only, gracefully skipped when node/Playwright are absent.
  • docs/agent-workflow.md — the two-agent investigator/reviewer methodology (every claim executed, severity never inflated, reviewer sign-off before submission).
  • CHANGELOG + BB_VERSION bumped to 1.2.0.

Validation (run in an isolated VM against an authorized test page)

  • JS core: captured ~100 real requests / ~99 distinct endpoints, surfacing live API endpoints that a static curl with guessed headers never saw.
  • Policy compliance: all outgoing requests carried the configured mandatory research header, confirmed in the raw capture.
  • Scope gate: wrapper refuses an out-of-scope URL with exit 1 before launching the browser.
  • Header auto-detection from programs/*.md validated end-to-end.
  • No secrets, no target-specific endpoints, and no captured traffic committed (.gitignore already excludes reports/).

…s, agent workflow (v1.2.0)

Add a Playwright-based capture module that drives a real headless Chromium
against one authorized URL and records every request/response/WebSocket frame
the SPA actually makes, with real headers — past client-gating walls (dynamic
client-id, Client-Version, anti-automation) that a static curl can't reproduce.

- auto-scanner/integrations/browser_capture.js: the capture core.
- auto-scanner/integrations/browser_capture.sh: scope-enforced wrapper that
  resolves and injects the mandatory per-program research header
  (BB_EXTRA_HEADERS / BB_RESEARCH_HEADER / auto-detected from programs/*.md).
- Wired into bugbounty-hunter.sh recon as stage [1.4d], skipped under
  --passive-only, gracefully skipped when node/Playwright are absent.
- docs/agent-workflow.md: the two-agent investigator/reviewer methodology
  (every claim executed, severity never inflated, reviewer sign-off before
  submission).
- CHANGELOG + BB_VERSION bumped to 1.2.0.

Closes #3
@DevCop95
DevCop95 merged commit 27d8233 into main Oct 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Browser-driven real-traffic capture (Playwright) + per-program headers, nuclei & EyeWitness integration (v1.2.0)

1 participant