Skip to content

feat(arsenal): HackerOne disclosed-reports reference agent + methodology trim#3

Merged
elementalsouls merged 5 commits into
elementalsouls:mainfrom
Ap6pack:feat/h1-hacktivity-reference
May 20, 2026
Merged

feat(arsenal): HackerOne disclosed-reports reference agent + methodology trim#3
elementalsouls merged 5 commits into
elementalsouls:mainfrom
Ap6pack:feat/h1-hacktivity-reference

Conversation

@Ap6pack
Copy link
Copy Markdown
Contributor

@Ap6pack Ap6pack commented May 20, 2026

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.3 documents the tool with copy-paste commands for:

  • Session-start baseline loading (--top-voted)
  • Keyword search by attack class (--query "SSRF" --pages 10)
  • Business-impact framing reference (--top-bounty)
  • Program-specific lookups (--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 3

Three H1 GraphQL server bugs were discovered empirically and worked around (documented in the script and §29.3):

  • Named variables + substate filter + report fields → server 500
  • disclosed_at field + substate filter → server 500
  • Sort + substate filter + report fields → server 500

2. Methodology trim

osint-methodology/SKILL.md reduced 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

  • Change is OSINT-only (read-only GraphQL queries, no exploitation)
  • CHANGELOG.md updated under [Unreleased]
  • README.md directory tree and capability table updated
  • Six trigger phrases added to offensive-osint YAML frontmatter
  • Smoke-test prompt #33 added with expected behavior (36 total prompts)
  • Script placed in skills/offensive-osint/scripts/ matching secret_scan.py convention
  • Commits follow <type>(<scope>): <subject> format
  • Severity/detectability/confidence tags consistent with rubrics

Sample prompt exercising §29.3

"Before I start probing this target, pull community-validated HackerOne disclosures for SSRF and OAuth bypass techniques."

Expected behavior: Pulls offensive-osint §29.3; provides h1_reference.py command with --top-voted --query "SSRF|OAuth" --pages 10; does NOT invent report URLs or fabricate findings.

Test plan

  • Install modified skill in Claude Code
  • Run smoke-test prompt #33 — verify §29.3 is referenced and correct command provided
  • python3 skills/offensive-osint/scripts/h1_reference.py --top-voted --limit 5 — verify live results
  • python3 skills/offensive-osint/scripts/h1_reference.py --top-voted --query "XSS" --pages 3 — verify keyword filtering
  • Confirm no fabricated endpoints, regexes, or report URLs in Claude responses

🤖 Generated with Claude Code

root and others added 5 commits May 19, 2026 22:51
…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>
@Ap6pack Ap6pack force-pushed the feat/h1-hacktivity-reference branch from 95e276e to 41b150a Compare May 20, 2026 03:00
@Ap6pack
Copy link
Copy Markdown
Contributor Author

Ap6pack commented May 20, 2026

Overview of changes

This PR contributes two independent improvements. Happy to split into separate PRs if that is preferred.


1. skills/offensive-osint/scripts/h1_reference.py — new tool

A stdlib-only Python script (no API key, no third-party deps) that queries HackerOne's public GraphQL API for disclosed reports. The intent is to surface community-validated findings as a reference layer during recon — before probing a target, you can quickly pull what techniques have already been validated against similar programs.

Modes:

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 + report fields → HTTP 500
  • disclosed_at field + substate filter → HTTP 500
  • Sort + substate filter + report fields → 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.md updated under [Unreleased]
  • README.md directory tree and capability table updated
  • Trigger phrases added to offensive-osint frontmatter
  • Smoke-test prompt #33 added with expected behavior
  • Script placed in skills/offensive-osint/scripts/ matching secret_scan.py convention
  • Commits follow <type>(<scope>): <subject> format

@elementalsouls elementalsouls merged commit 1705621 into elementalsouls:main May 20, 2026
3 of 4 checks passed
@Ap6pack Ap6pack deleted the feat/h1-hacktivity-reference branch May 23, 2026 00:35
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.

2 participants