skills/recon-ry/SKILL.md
Run Ryushe's recon-ry on Hoster and ingest completed outputs into canonical recon artifact directories.
npx skillsauth add ghostonbutterbread/bug-bounty-harness recon-ryInstall 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 when Ryushe asks to run recon-ry, install/check the Hoster recon box, find recon-ry artifacts for a program, or import/index a completed recon-ry project into the Ghost bounty pipeline.
This skill is a long-running recon wrapper and directory map. Start scans and return the PID/log path; do not watch the scan until completion. When agents need recon data, point them to the recon-ry project location and artifact map instead of copying bulk output.
$HARNESS_ROOT/prompts/recon-ry-playbook.md./pullscope artifacts.ryushe@hoster and /home/ryushe/.ssh/hoster.agents/recon_ry.py for start/status/ingest actions.Start a remote run and return immediately:
python3 agents/recon_ry.py start <program> --url <scoped-domain-or-url> --profile full
The start command fails closed if saved scope is missing or the URL is out of scope. It also writes a project-local rate_limit.conf before launch. Use --rate-limit-rps only after checking the program policy; use --allow-unscoped only after explicit Ryushe approval.
Before launch, the wrapper stages recon seed files into the remote project:
/home/ryushe/bounties/{program}/urls.txt/home/ryushe/bounties/{program}/wild.txturls.txt receives exact URLs and exact host/domain entries. wild.txt
receives wildcard base domains with *. removed.
Check remote status/log names:
python3 agents/recon_ry.py status
Ingest a completed Hoster project:
python3 agents/recon_ry.py ingest <program> \
--source ryushe@hoster:/home/ryushe/bounties/<program> \
--target <target-host>
Active and durable recon-ry project directories use:
/home/ryushe/bounties/{program}/
Legacy local examples may also exist at:
~/Shared/bounty_recon/{program}/
~/projects/bounties/{program}/
Use the newest history/ snapshot when the question is about a specific run. Use the root files when the question is about the latest deduped current state.
{project}/
├── urls.txt # all known URLs and exact host/domain seed entries; deduped current state
├── wild.txt # discovered/input subdomains or wildcard bases; deduped current state
├── alive.txt # live HTTP(S) hosts/URLs after probing; primary list for browser/live-map/nuclei follow-up
├── params_raw.txt # raw parameterized endpoint candidates from discovery tools
├── params.txt # normalized/deduped URLs with parameters; primary list for XSS, SQLi, SSRF, redirect, IDOR-style endpoint review
├── jsfiles.txt # JavaScript URLs extracted from parameter/url discovery; primary list for JS/secrets/sink analysis
├── secrets.txt # secret-scanner findings; treat as sensitive until manually validated and sanitized
├── dorks.txt # dork/query leads generated by recon stages
├── dirs.txt # directory/content discovery results when present
├── rate_limit.conf # per-project rate configuration written by the wrapper
├── history/
│ └── {timestamp}/ # per-run snapshots; newest timestamp is the most recent run
└── screenshots/ or eyewitness/ # visual artifacts when present
Recon-ry merges line-based outputs into the root files during runs, so root files are the current deduped view. history/{timestamp}/ preserves what existed during that run.
On Hoster:
PROJECT=/home/ryushe/bounties/<program>
ls -1t "$PROJECT/history" | head -1
For legacy local data:
PROJECT=~/Shared/bounty_recon/<program>
ls -1t "$PROJECT/history" | head -1
If history/ does not exist, read the project root files directly.
Ingest writes:
~/Shared/web_bounty/{program}/web/recon/recon-ry/{target}/runs/{YYYY-MM-DD}/{run_id}/
├── command.txt
├── stdout.txt
├── stderr.txt
├── raw/
├── parsed/
└── manifest.json
Use ingest/indexing for manifests, counts, and small parsed artifacts. Do not copy 10GB+ raw recon trees by default when agents can read the recon-ry location directly.
recon-ry outputs as recon artifacts, not confirmed vulnerabilities.history/{timestamp}/ for run-specific snapshots.testing
Route account takeover testing across password reset, recovery, SSO/OAuth, account linking, MFA, email change, session, invite, and identity-binding flows.
testing
Use when importing, indexing, filtering, queueing, checking, or marking recon URLs in the SQLite-backed per-lane URL review tracker.
testing
Route checkout, billing, subscriptions, coupons, credits, gift cards, invoices, refunds, payment authorization, and paid-entitlement testing into safe zero-dollar-first workflows.
data-ai
Launch scoped browsers through the correct Caido proxy, enable live intercept or Tamper one lane at a time, modify selected requests, forward them, then disable intercept.