feat(arsenal): HackerOne disclosed-reports reference agent + methodology trim#3
Conversation
…55 lines - Compress implementation-detail sections to offensive-osint pointers - Remove duplicate content covered by companion skill - Retain core framework: confidence levels, pipeline, asset graph, severity rubric
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Adds scripts/h1_reference.py — a stdlib-only script that queries HackerOne's public GraphQL API for disclosed reports, surfacing community-validated findings during recon without requiring an API key. Supports top-voted, top-bounty, keyword search (with pagination), severity filter, CWE filter, and program-specific lookups. Works around three empirically discovered H1 server crashes (named vars + substate filter, disclosed_at field + substate filter, sort + substate filter). Documents the tool in offensive-osint §29.3 so it loads automatically into context during recon sessions. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Five gaps found when reviewing repo governance docs before proposing upstream: 1. Script was at scripts/ (root) — moved to skills/offensive-osint/scripts/ to match the established secret_scan.py pattern. 2. §29.3 path references updated throughout SKILL.md to match new location. 3. Six trigger phrases added to offensive-osint YAML frontmatter: hackerone reference, h1 hacktivity, disclosed reports, community bug reports, prior disclosures, bug bounty reference. 4. CHANGELOG.md updated under [Unreleased] with full feature description. 5. README.md updated: directory tree and Secret & Credential Hunting capability table both reference h1_reference.py. 6. Smoke-test prompt #33 added to tests/smoke-test-prompts.md with expected behavior and pass criteria. Aggregate updated to 36 prompts. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Example commands used a specific program handle that could reveal an active engagement target. Replaced with 'gitlab' (a well-known public H1 program) throughout script docstring and §29.3. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
95e276e to
41b150a
Compare
Overview of changesThis PR contributes two independent improvements. Happy to split into separate PRs if that is preferred. 1.
|
| Flag | Purpose |
|---|---|
--top-voted |
Community-validated techniques, sorted by upvotes |
--top-bounty |
Highest-paid reports — useful for business-impact framing |
--query <regex> |
Keyword search across titles (e.g. "SSRF|OAuth") |
--pages <n> |
Paginate results (50/page, H1 API hard limit) |
--severity |
Client-side filter: critical high medium low |
--cwe |
Client-side CWE label filter |
--program <handle> |
Filter to a specific program's disclosures |
--json |
Machine-readable output for piping |
Three H1 GraphQL server bugs discovered and worked around (documented in the script):
- Named query variables + substate filter +
reportfields → HTTP 500 disclosed_atfield + substate filter → HTTP 500- Sort + substate filter +
reportfields → HTTP 500
The script detects and routes around each automatically.
2. skills/osint-methodology/SKILL.md — trim from 1,694 → 455 lines
The methodology skill had grown to duplicate large sections already covered by the arsenal skill. This trims it back to the strategic core that belongs there:
Kept: confidence levels + upgrade workflows, 5-stage pipeline + time budgets, asset graph taxonomy + triage rules, severity rubric + escalation, OpSec + detectability + back-off, breach × identity correlation, anti-patterns.
Removed: implementation-detail sections (identity fabric, API mapping, JS analysis, mobile, cloud, WAF/CDN bypass, vuln prioritization, phishing) — these are covered in depth in offensive-osint and were creating noise and duplication. Each removed section is replaced with a 2-sentence pointer to the companion skill.
Also includes a minor fix to the confidence upgrade workflow table (bucket row had an ambiguous cell split).
Checklist against CONTRIBUTING.md
- OSINT-only — read-only GraphQL queries, no exploitation
-
CHANGELOG.mdupdated under[Unreleased] -
README.mddirectory tree and capability table updated - Trigger phrases added to
offensive-osintfrontmatter - Smoke-test prompt #33 added with expected behavior
- Script placed in
skills/offensive-osint/scripts/matchingsecret_scan.pyconvention - Commits follow
<type>(<scope>): <subject>format
Summary
Two independent improvements:
1. New tool — HackerOne hacktivity reference agent
skills/offensive-osint/scripts/h1_reference.py— stdlib-only Python script (no API key, no deps) that queries HackerOne's public GraphQL API for disclosed reports and surfaces community-validated findings during recon.New section
offensive-osint §29.3documents the tool with copy-paste commands for:--top-voted)--query "SSRF" --pages 10)--top-bounty)--program <handle>)python3 skills/offensive-osint/scripts/h1_reference.py --top-voted --limit 25 python3 skills/offensive-osint/scripts/h1_reference.py --top-voted --query "SSRF|OAuth" --pages 10 python3 skills/offensive-osint/scripts/h1_reference.py --top-bounty --severity critical high python3 skills/offensive-osint/scripts/h1_reference.py --program shopify --pages 3Three H1 GraphQL server bugs were discovered empirically and worked around (documented in the script and §29.3):
disclosed_atfield + substate filter → server 5002. Methodology trim
osint-methodology/SKILL.mdreduced from 1,694 → 455 lines. Removed sections that duplicate the arsenal skill and collapsed specialty domains into a pointer block. Retained full strategic core: pipeline, asset graph, severity rubric, confidence upgrade workflows, OpSec, anti-patterns. Also includes a minor table fix for the confidence upgrade workflow.CONTRIBUTING checklist
CHANGELOG.mdupdated under[Unreleased]README.mddirectory tree and capability table updatedoffensive-osintYAML frontmatterskills/offensive-osint/scripts/matchingsecret_scan.pyconvention<type>(<scope>): <subject>formatSample prompt exercising §29.3
Expected behavior: Pulls
offensive-osint §29.3; providesh1_reference.pycommand with--top-voted --query "SSRF|OAuth" --pages 10; does NOT invent report URLs or fabricate findings.Test plan
python3 skills/offensive-osint/scripts/h1_reference.py --top-voted --limit 5— verify live resultspython3 skills/offensive-osint/scripts/h1_reference.py --top-voted --query "XSS" --pages 3— verify keyword filtering🤖 Generated with Claude Code