agentsclimarketplace

Bug bounty workflow funnel

Skill ShulkwiSEC/bb-huge/skills/curated/bug-bounty-workflow-funnel

Implement the 5-stage Funnel workflow (Notes → Leads → Primitives → Findings → Reports) for structured bug bounty hunting. Based on Critical Thinking Bug Bounty Podcast Episode 166.From its SKILL.md

Install
npx -y skills add ShulkwiSEC/bb-huge --skill bug-bounty-workflow-funnel

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

9.7 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Bug Bounty Workflow Funnel

When to Use

  • When starting a new bug bounty program and need a structured data management system.
  • When drowning in raw notes and need to triage observations into actionable items.
  • When preparing to convert confirmed bugs into polished submission reports.
  • When working in a team and need a shared vocabulary for finding severity stages.

Prerequisites

  • A target program with defined scope (HackerOne / Bugcrowd / Intigriti / VDP)
  • A note-taking system (Obsidian, Notion, plain Markdown files, or similar)
  • Claude Code CLI for AI-assisted triage and report generation (optional but recommended)

Core Concept: The 5-Stage Funnel

"Structure your hacking data like a sales funnel. Raw observations at the top, polished reports at the bottom." — Critical Thinking Podcast, Ep. 166 [37:42]

flowchart TB
    N["📝 NOTES<br/>(All raw observations)"]
    L["🔍 LEADS<br/>(Interesting patterns)"]
    P["🔧 PRIMITIVES / GADGETS<br/>(Reusable techniques & entry points)"]
    F["🐛 FINDINGS<br/>(Confirmed vulnerabilities)"]
    R["📄 REPORTS<br/>(Submission-ready documentation)"]
    
    N --> L --> P --> F --> R
    
    style N fill:#1a1a2e,stroke:#e94560,color:#fff
    style L fill:#1a1a2e,stroke:#f9a826,color:#fff
    style P fill:#1a1a2e,stroke:#16c79a,color:#fff
    style F fill:#1a1a2e,stroke:#11999e,color:#fff
    style R fill:#1a1a2e,stroke:#6c5ce7,color:#fff

Workflow

Stage 1: Notes (Raw Observations)

Everything goes here. No filtering. No judgment. Write it down NOW, evaluate LATER.

Directory structure:

target-name/
├── notes/
│   ├── 2025-01-15-initial-recon.md
│   ├── 2025-01-15-auth-flow-analysis.md
│   ├── 2025-01-16-api-endpoint-mapping.md
│   └── 2025-01-16-js-source-review.md

Note template:

# [Date] [Topic]

## Context
- Target: [subdomain/endpoint/feature]
- Tool used: [Burp/Browser DevTools/ffuf/etc]
- Time spent: [duration]

## Observations
- [Observation 1]
- [Observation 2]

## Raw Data
[Paste interesting requests/responses/code snippets here]

## Gut Feeling
- [ ] Worth investigating further
- [ ] Dead end
- [ ] Need more context

What belongs in Notes:

  • HTTP request/response pairs that look unusual
  • JavaScript variables or API endpoints found in source code
  • Error messages, stack traces, verbose responses
  • Authentication token formats observed
  • Rate limit behaviour observations
  • Any deviation from expected application behaviour

Stage 2: Leads (Interesting Patterns)

Leads are notes that survived initial triage. Something here is worth deeper investigation.

Promotion criteria (Notes → Leads):

SignalExample
Reflected user inputParameter value appears in response body/headers
Inconsistent authorizationDifferent responses for same endpoint with different user roles
Verbose error messagesStack trace leaking framework version, file paths
Unprotected API endpoints/api/internal/ accessible without auth
Client-side security controlsJavaScript validation with no server-side enforcement
Unusual HTTP headersX-Debug: true, X-Powered-By: Express 4.17.1

Lead template:

# LEAD: [Short Description]

## Source Note
- Link: [notes/2025-01-15-auth-flow-analysis.md]

## Hypothesis
[What vulnerability might this lead to?]

## Evidence
[Specific request/response or code snippet proving this is worth pursuing]

## Next Steps
1. [Action item 1]
2. [Action item 2]

## Priority: [HIGH / MEDIUM / LOW]

Stage 3: Primitives / Gadgets (Reusable Techniques)

Primitives are common attack techniques or entry points you discover that can be reused across multiple targets. Think of them as building blocks for exploitation chains.

Examples:

PrimitiveDescriptionReuse Potential
Unsigned JWTApplication accepts alg: none JWTsAny endpoint using this auth
GraphQL Introspection__schema query returns full type systemEnumerate all mutations
Predictable ID sequenceUser IDs are sequential integersIDOR on any user-scoped endpoint
Open redirect on login/login?redirect= accepts any URLOAuth token theft chain
File upload → path traversalUpload filename is used in storage pathWrite to any directory

Primitive template:

# PRIMITIVE: [Technique Name]

## Description
[What is this technique and why does it work?]

## How to Detect
[Specific test to confirm this primitive exists on a target]

## Exploitation
[Step-by-step usage]

## Chain Potential
[What can this be combined with? SSRF + this = ? IDOR + this = ?]

## Seen On
- [Target 1] — [Date]
- [Target 2] — [Date]

Stage 4: Findings (Confirmed Vulnerabilities)

A finding is a CONFIRMED bug with a working proof-of-concept. No speculation — only reproducible exploitation.

Promotion criteria (Leads → Findings):

  • ✅ Reproducible exploit with specific steps
  • ✅ Clear security impact (data leak, account takeover, RCE, etc.)
  • ✅ Within program scope
  • ✅ Not a known/acceptable risk documented in program policy
  • ❌ NOT: "I think this might be exploitable" — that stays as a Lead

Finding template:

# FINDING: [Vulnerability Type] in [Component]

## Severity: [Critical / High / Medium / Low]
## CVSS 4.0: [Score] — [Vector String]

## Summary
[2-3 sentences: what is broken, how it is exploited, worst-case impact]

## Proof of Concept
[Exact curl command / Burp request / script that reproduces the bug]

## Impact
[Specific business impact with numbers if possible]

## Root Cause
[Why does this vulnerability exist? Missing validation? Broken access control?]

## Remediation
[Specific code fix, not generic advice]

## Status: [CONFIRMED / SUBMITTED / TRIAGED / RESOLVED / DUPLICATE]

Stage 5: Reports (Submission-Ready Documentation)

The final polished document submitted to the bug bounty platform. This is where money is made or lost.

Report quality directly correlates with bounty amount.

See the elite-report-writing skill for the full HackerOne-optimized report template.

Quick Report Checklist:

  • Title uses format: [VulnType] in [Component] Allows [BusinessImpact]
  • Summary is exactly 2-4 sentences
  • CVSS 4.0 vector is defensible
  • Steps to Reproduce are copy-paste deterministic
  • PoC is a runnable script/command with zero placeholders
  • Impact includes at least one real number
  • Remediation gives exact code fix (before/after)
  • CWE ID is correct

Claude Integration

Use Claude to automate transitions between stages:

Prompt to Claude:
"Review all files in notes/ and identify any that should be promoted to leads/.
For each promotion, create a lead file with hypothesis, evidence, and priority.
Explain why each note was or was not promoted."
Prompt to Claude:
"Take the finding in findings/idor-user-profiles.md and generate a 
HackerOne-ready report in reports/. Use the elite report template. 
Validate the CVSS score against the described impact."

Directory Structure for a Target

programs/
└── example-corp/
    ├── .claudemd           # Scope, policy, auth tokens (see ai-pair-hunting skill)
    ├── notes/              # Stage 1: Everything goes here
    ├── leads/              # Stage 2: Worth investigating
    ├── primitives/         # Stage 3: Reusable gadgets
    ├── findings/           # Stage 4: Confirmed bugs
    ├── reports/            # Stage 5: Submitted reports
    └── scripts/            # Custom automation for this target

Creativity Directive

IMPORTANT: The 5-stage funnel is a framework, not a cage. You are expected to adapt it:

  • Add sub-stages if a target is complex (e.g., Leads-High / Leads-Low).
  • Create cross-references between primitives and findings.
  • Auto-generate statistics (conversion rate: notes→findings).
  • Build a "dormant leads" watchlist for findings that need updated tool versions.

Think like an attacker. Adapt. Improvise.

🔵 Blue Team

  • Deploy robust WAF rules to detect anomalies.
  • Monitor logs for unusual access patterns.

📚 Shared Resources

For cross-cutting methodology applicable to all vulnerability classes, see:

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most automation workflows skills give in ~2.3k tokens

Counted across 745 of the 1,008 authors here whose files we hold, read 2026-08-07

  • Write conventional commit messagesin 36 of 745, across 35 files
  • Delete branches after mergein 30 of 745, across 21 files
  • Make atomic commitsin 25 of 745, across 15 files
  • Write minimal code to pass testsin 22 of 745, across 10 files
  • Re-snapshot after navigation or DOM changesin 21 of 745, across 13 files
  • Use try-catch for error handlingin 20 of 745, across 8 files
  • Run tests before committingin 20 of 745, across 12 files
  • Write tests before implementationin 20 of 745, across 8 files
  • Configure branch protection rulesin 19 of 745, across 5 files
  • Explain the why in commit messagesin 19 of 745, across 9 files
  • Refactor code while tests remain greenin 19 of 745, across 6 files
  • Interact with elements using refsin 19 of 745, across 11 files

Said here and by no other author read

  • record all raw observations immediately without filtering
  • promote notes to leads based on triage criteria
  • extract reusable attack techniques as primitives
  • confirm findings with reproducible proof-of-concept exploits
  • create reports using the elite report writing template
  • organize hunting data into the five stage directory structure

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,851. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.