skills/live-map/SKILL.md
Build runtime application maps from browser exploration, proxy traffic, manual observations, or hybrid source/runtime evidence.
npx skillsauth add ghostonbutterbread/bug-bounty-harness live-mapInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this when an agent needs to explore a live app without being told the vulnerability class.
/live-map complements /appmap:
/appmap maps local source or extracted binaries./live-map maps runtime behavior from browser navigation, proxy traffic, and manual observations./mental-map remains the detailed flow-note workflow; /live-map writes the universal JSONL map that other skills can query.$HARNESS_ROOT/prompts/live-map-playbook.md.$HARNESS_SHARED_BASE/{program}/agent_shared/application-map/.cd "${HARNESS_ROOT:-$HOME/projects/bug_bounty_harness}"
python3 agents/live_map.py init <program>
python3 agents/live_map.py add-route <program> --url https://target.example/my-account?id=123 --auth-state user-a --source browser
python3 agents/live_map.py add-route <program> --url https://target.example/admin --source browser --blind-mode
python3 agents/live_map.py ingest <program> --input observations.jsonl --source proxy
python3 agents/live_map.py ingest <program> --input observations.jsonl --source browser --blind-mode
python3 agents/live_map.py build-handoffs <program> --skill access-control
python3 agents/live_map.py build-handoffs <program> --skill access-control --blind-mode
python3 agents/live_map.py summary <program>
Writes to:
$HARNESS_SHARED_BASE/{program}/agent_shared/application-map/
Primary artifacts:
routes.jsonlflows.jsonlobjects.jsonlauth-boundaries.jsonlstate-actions.jsonlhypotheses.jsonlhandoffs/*.jsonsummary.mdDo not pass page titles, lab titles, external Academy/training-platform hrefs, solution text, raw proxy dumps, cookies, bearer tokens, passwords, or broad app history to child agents.
For PortSwigger or any training target that exposes the lab name in the page chrome, use --blind-mode while ingesting observations and while building packets. The map should store neutral runtime observations, not lab titles or challenge hints. Blind packets also include browser redaction JavaScript that the parent/scout can run before child snapshots.
When extracting links in blind mode, keep same-origin links only. Discard external Academy/training-platform URLs before logging or handing data to child agents; their slugs can reveal the lab.
Pass only the handoff packet plus the relevant skill pack. The child should treat map entries as exploration leads, not proof.
testing
Systematic live request mutation: flip booleans, field ops, headers, content-type, parser differentials, replay vs intercept, null/empty testing. Inherits live-testing-policy scope/rate/ownership rules.
development
Test password reset, forgot-password, reset-token, email reset, and account recovery flows for account takeover risks.
tools
Targeted param/field discovery using tech stack clues, naming conventions, and controlled-rate ffuf — then feeds findings into request-exploration for mutation. Not brute-force; informed and scoped.
testing
Ghost-only workflow for creating approved bug bounty test accounts and saving credential references.