skills/brainstorm-spec/SKILL.md
Use when creating, editing, summarizing, or importing a target-lane brainstorm spec with /brainstorm-spec so zero_day_team, apk_team, and future harness modules can consume hypothesis-driven dynamic agents.
npx skillsauth add ghostonbutterbread/bug-bounty-harness brainstorm-specInstall 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.
Create and maintain a durable brainstorm/spec.md for a target lane.
/brainstorm-spec <program> [--family <family>] [--lane <lane>] [--target-kind <kind>] [--target-path <path>]
/brainstorm-spec <program> --add-hypothesis
/brainstorm-spec <program> --summarize-gaps
/brainstorm-spec <program> --from-report <report.md>
Examples:
/brainstorm-spec canva --family binaries --lane exe --target-kind electron-exe
/brainstorm-spec canva --add-hypothesis
/brainstorm-spec canva --summarize-gaps
/brainstorm-spec canva --from-report /home/ryushe/Shared/binaries/canva/exe/reports/dormant/index.md
Read shared state before changing the brainstorm spec:
brainstorm/spec.md, if presentbrainstorm/coverage.jsonl, if presentnotes/summary.md, notes/observations.md, checklist.md, and todo.md when they exist$HARNESS_ROOT/prompts/brainstorm-spec-playbook.md$HARNESS_ROOT/prompts/brainstorm-spec-playbook.md~/Shared/{family}/{program}/{lane}/brainstorm/spec.md~/Shared/{family}/{program}/{lane}/brainstorm/coverage.jsonl$HARNESS_SHARED_BASE/{program}/brainstorm/spec.md (read-only discovery/migration source only)$HARNESS_ROOT/agents/brainstorm_spec.pyUse the existing target lane root when one is obvious from reports, team output, or the requested --family, --lane, or --target-path.
Do not create or update new specs under $HARNESS_SHARED_BASE; write to the lane-local ~/Shared/{family}/{program}/{lane}/brainstorm/ path unless the user explicitly overrides the spec path.
brainstorm/spec.md if missing.$HARNESS_ROOT/prompts/brainstorm-spec-playbook.md.--add-hypothesis, ask for or infer the surface, entry point, expected chain, priority, suggested agents, tags, focus files, and evidence.--from-report, extract impact primitives and hypothesis candidates from the report, then add only source-backed entries.--summarize-gaps, use BrainstormSpecStore.coverage_summary or summarize_coverage to report authoritative statuses and outcomes from coverage.jsonl, then list remaining untested or blocked hypotheses.BrainstormSpecStore.load or agents.brainstorm_spec.parse_brainstorm_spec when possible.zero_day_team --brainstorm-spec or apk_team --brainstorm-spec.When the user wants to run hypotheses, pass the spec to the team runtime instead of implementing execution here:
cd "${HARNESS_ROOT:-$HOME/projects/bug_bounty_harness}"
PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
python3 agents/zero_day_team.py <program> <target> --brainstorm-spec <spec-path>
cd "${HARNESS_ROOT:-$HOME/projects/bug_bounty_harness}"
PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
python3 agents/apk_team.py <program> <target> --brainstorm-spec <spec-path>
Use focused runtime flags only when explicitly requested:
--brainstorm-only
--brainstorm-hypothesis H001
Lightweight validation:
cd "${HARNESS_ROOT:-$HOME/projects/bug_bounty_harness}"
SPEC_PATH="PATH_TO_BRAINSTORM_SPEC" \
PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
python3 - <<'PY'
import os
from agents.brainstorm_spec import BrainstormSpecStore
spec = BrainstormSpecStore.load(os.environ["SPEC_PATH"])
coverage = spec.path.with_name("coverage.jsonl")
summary = BrainstormSpecStore.coverage_summary(coverage, spec=spec)
print(f"loaded {len(spec.hypotheses)} hypotheses from {spec.path}")
print(f"status counts: {summary['counts_by_status']}")
print(f"outcome counts: {summary['counts_by_outcome']}")
PY
Do not move brainstorm code into bounty_core from this skill.
documentation
Use when attacker-controlled input is saved and rendered later in a profile, comment, title, notification, admin view, export, email, feed, upload metadata, or other stored render surface.
content-media
Use when attacker-controlled input appears in the immediate HTTP response or browser-rendered page and needs reflected XSS context classification, payload selection, mutation, and browser verification.
data-ai
Use when inspecting proxy traffic from PwnFox-profiled browser sessions, filtering Caido/Burp/proxy history by X-PwnFox-Color, or interpreting user phrases like 'Red session' as a distinct browser/auth/profile lane.
tools
# LFI — Local File Inclusion Bypass ## What It Does Tests LFI bypass techniques: path traversal, null bytes, wrappers, log poisoning. Load `general-security-testing-policy`, `live-testing-policy`, and `injection-testing-policy` before live testing. For file/path sinks, absence of an immediate file read or response delta is not a stop reason by itself; use the policy to reason about path normalization, extension allowlists, wrappers, encoding, parser differences, and stack-specific proof ladder