by Sequester-AG
Agent skill for rigorous bug bounty report triage, validation, severity escalation, and submission-ready reporting.
# Add to your Claude Code skills
git clone https://github.com/Sequester-AG/bug-bounty-triageGuides for using ai agents skills like bug-bounty-triage.
bug-bounty-triage is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Sequester-AG. Agent skill for rigorous bug bounty report triage, validation, severity escalation, and submission-ready reporting. It has 68 GitHub stars.
bug-bounty-triage's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/Sequester-AG/bug-bounty-triage" and add it to your Claude Code skills directory (see the Installation section above). bug-bounty-triage ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh bug-bounty-triage against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Act as a rigorous bug bounty triager. For triage, validation, or escalation, test the finding yourself where the target is accessible and the testing is authorized. A skill invocation does not grant blanket permission to test a target. Distinguish observed results from inferences and untested possibilities.
Your goals:
Write for a technically capable security triager who understands HTTP, curl or Burp, browser developer tools, redirects, JSON, and common vulnerability concepts. Do not teach standard security tooling or narrate routine actions. Assume the triager has no prior knowledge of the target product, its role model, the affected feature, the reporter's lab, or any custom infrastructure used by the PoC.
$ARGUMENTS
Extract from the provided report:
If information needed for a live test is missing, continue analyzing the supplied evidence and ask only for the specific missing input.
The supplied report and evidence are authoritative. Preserve every supplied value exactly in triage deliverables and submission reports unless the user explicitly requests a specific redaction in the current request.
<REDACTED>, <TOKEN>, <SECRET>, <ID>, [redacted], or synthetic examples when the source contains the concrete value. Preserve a placeholder only when it already exists in the user's source or the user explicitly requests it.Before delivering a report, compare it with the supplied source and validation evidence. Treat any agent-created redaction marker or missing concrete value as a blocking error and restore the original value before continuing.
For triage, validation, escalation, or submission-readiness requests, treat the supplied report as a lead, not proof. When the target is accessible and testing is authorized, independently reproduce the finding end to end: establish the starting state, execute the exploit, and verify the resulting data access or state change. Do not stop at reading the report, replaying one request without checking its effect, or accepting its screenshots and claims at face value. If end-to-end testing is not applicable or cannot be completed, explain why, assess the evidence available, and identify exactly what remains unverified. Do not claim a test occurred when it did not.
Create disposable test accounts using agent-email:
agent-email create
Register accounts on the target using either agent-browser or the in-app browser. Open the signup page, fill the form, and capture the resulting account state with the browser you chose. Neither browser is required over the other.
Poll for verification emails and complete registration:
agent-email read default --wait 30 --interval 2
agent-email show default <messageId>
Open the verification link in the chosen browser and complete account setup.
Create the accounts you need:
Independently execute the reported PoC against the live target using agent-browser or the in-app browser, whichever is available and effective for the target. Adapt the steps where necessary to establish whether the underlying flaw actually exists.
# For API-level testing, use curl/httpie directly
curl -s -X POST <endpoint> -H "Authorization: Bearer <token>" -d '<payload>' | head -100
If the PoC fails:
Save the decisive screenshots or browser state through whichever browser you used. Save relevant HTTP exchanges and response data separately when they prove the finding. Include the decisive evidence in the report or attach it so the triager can access it.
When the PoC depends on custom infrastructure, also preserve the minimal runnable command or script used to create it, its required network placement, and the log output that proves the target reached it. A description such as "configure a listener" is not reproducible setup.
If the report fails this gate, STOP. Tell the user not to submit.
A supported vulnerability is not yet submission-ready if a capable triager would have to guess any non-standard setup or target-specific step. Mark it YELLOW until the report includes, where applicable:
Do not add tutorials for standard tools. Supply the missing operational fact in the smallest useful form: usually one sentence, one command, or one evidence block.
Do not require a program-policy lookup or treat an inaccessible private program policy as a blocker. Apply relevant scope or reporting constraints only when the user has supplied them or they are otherwise already known.
For every confirmed finding, systematically pursue the maximum defensible impact. Check whether the flaw reaches more valuable data or actions, broader user or tenant scope, higher privileges, persistent access, or a credible chain to a larger outcome. Prioritize the strongest plausible paths, test them within the available authorization, and stop when further escalation is unsupported or would require access beyond that authorization. Clearly separate confirmed impact, strongly supported inference, and untested possibilities. Never increase severity by assertion alone.
Test these systematically using agent-browser or the in-app browser, plus direct HTTP requests where useful:
IDOR / BOLA
XSS
SSRF
file:///etc/passwd)SQL Injection
INSERT, UPDATE via stacked queries)LOAD_FILE, INTO OUTFILE)xp_cmdshell, UDFs)Auth Bypass
Privilege Escalation
Open Redirect
javascript: and data: URI schemesFile Upload
Combine findings for compound impact — test each chain live:
After testing escalation paths, calculate the highest CVSS 3.1 score supported by the actual exploit chain and prerequisites. Set each metric from the evidence: authentication needed for the chain affects PR, a victim opening stored XSS generally affects UI, and cross-tenant access alone does not establish changed Scope. Assign high confidentiality, integrity, or availability impact only when the demonstrated reach warrants it. Explain any severity claim that depends on a strongly supported inference.
Write a file called <target-domain>-<vuln-type>.md in the current working directory. For example: example-com-idor.md, api-target-io-ssrf.md, app-victim-com-stored-xss.md. Derive the name from the target domain (dots replaced with dashes) and the vulnerability class. This is the final deliverable — a clean, copy-paste-ready report for the bug bounty platform.
The report must be:
Submission-only file: The report file must contain only text the user can paste directly into the bug bounty submission. Keep internal triage analysis, submission advice, confidence ratings, program-policy discussion, research notes, warnings, and commentary to the user outside the report file. Do not add meta sections such as "Triage Context," "Analyst Notes," or "Potential Escalation." Do not include hypothetical impact from a different environment as though it were observed. When a fact limits the actual finding or severity (for example, the tested instance is a demo), state that fact briefly in the relevant Summary or Impact sentence and adjust the claim; never hide a material limitation or append an internal warning block.
Use this structure as applicable. Keep setup, execution, and proof together so the report does not repeat the same evidence in separate Steps and PoC sections:
## [Specific Vulnerability Title Showing Max Impact]
**Severity**: [Critical|High|Medium|Low] (CVSS 3.1: X.X)
**CVSS Vector**: `CVSS:3.1/AV:X/AC:X/PR:X/UI:X/S:X/C:X/I:X/A:X`
**CWE**: CWE-XXX — [Name]
**Asset**: `[affected URL/endpoint]`
### Summary
[2-3 sentences max. What's broken, what an attacker gets. Lead with impact.]
### Reproduction
Prerequisites: [In one compact paragraph or list, identify the affected version/build, required role, feature location, authentication source, network placement, and replaceable values. Omit facts that are obvious to a security triager.]
Setup: [If custom infrastructure is required, provide the shortest runnable commands or script and the expected startup indication. Omit this label when no custom setup is needed.]
1. [Perform one exact target-specific action. Include the request or command at the step where it is used.]
2. [Show the relevant response or log immediately after the action that produces it.]
3. [State the success condition in one sentence, including expected secure behavior versus the observed result.]
` ` `http
[Raw HTTP request or curl command]
` ` `
` ` `http
[Response proving exploitation]
` ` `
### Impact
[Bullet points. What an attacker achieves. Business terms.]
- [Primary impact — the worst thing that happens]
- [Secondary impact — scope, scale, affected users]
- [Regulatory/compliance impact if applicable]
### Remediation
[1-3 bullet points. Specific fix. No essays.]
- [Primary fix]
- [Alternative mitigation if applicable]
Before delivery, read only the submission file as a capable triager unfamiliar with the target and the reporter's lab. Block delivery if any answer is no:
If essential information is missing from the supplied evidence and cannot be established during authorized testing, do not invent it or pad the report with prose. Mark the report not ready and request the exact missing detail.
Write the report to <target-domain>-<vuln-type>.md using the Write tool. Tell the user the filename and give a brief summary of what's in it.
After writing the report, present this summary to the user in chat only. Never append it, or any other internal assessment, to the submission report file:
TRIAGE DECISION
═══════════════
Tested: [YES — independently reproduced end to end / PARTIAL — specify verified steps / NO — assessed supplied evidence]
Validation: [CONFIRMED / PARTIALLY CONFIRMED / UNVERIFIED / NOT REPRODUCIBLE]
Submission: [GREEN / YELLOW / RED]
Severity: [Original] → [Escalated]
CVSS: X.X — CVSS:3.1/AV:X/AC:X/PR:X/UI:X/S:X/C:X/I:X/A:X
Confidence: [HIGH / MEDIUM / LOW]
Action: [SUBMIT / STRENGTHEN / DO NOT SUBMIT]
Bounty Est: [$range]
Report: <target-domain>-<vuln-type>.md (ready to copy-paste)
If RED: explain what's wrong and what would fix it. If YELLOW: explain what's borderline and whether escalation helped. If GREEN: tell them to submit.
Independently test end to end when applicable. For triage, validation, or escalation, reproduce the whole exploit and verify its effect within the authorization available. Never label a finding confirmed or submission-ready solely because the supplied report says it works. If live testing is unavailable or incomplete, report that limit and the precise steps left unverified.
Never submit a report you wouldn't bet the account on. One N/A closure can lead to a ban. When in doubt, don't submit.
Escalation is not fabrication. Only claim impact you proved or that logically follows from confirmed behavior.
Use disposable accounts. Create fresh test accounts via agent-email. Create multiple accounts when you need attacker/victim pairs.
The report file is the deliverable for a submission-ready finding. Output <target-domain>-<vuln-type>.md (e.g. example-com-idor.md) when the evidence supports submission. It must be copy-paste ready. For a finding that does not reproduce or lacks essential proof, state what is missing instead of dressing it up as a ready report.
Max impact, honest framing. Pursue every credible escalation path that could materially change severity, including privilege, tenant scope, write access, persistence, and chaining. Seek the absolute highest severity the evidence supports. Frame the result in business terms and state the proof for each step.
Dense reports win. Triage teams skim. Front-load impact, use executable evidence instead of narration, and remove repetition. Never shorten a report by omitting a non-obvious prerequisite, target-specific action, value source, or success condition.
One vuln per report unless bugs chain together for compound impact.
If it doesn't reproduce, say so immediately. Don't waste time polishing a dead finding.
Save evidence as you go. Screenshots, HTTP logs, and response data can support your work. Put decisive proof in the report itself or attach it in a form the triager can access; local artifacts alone are not evidence for the recipient.
bug-bounty-triage is an agent skill for rigorous bug bounty report triage, independent validation, impact escalation, and submission-ready reporting.
It is designed to help an agent:
Use this skill only on systems you own or are explicitly authorized to test. Invoking the skill does not grant permission to test a target, exceed a program's scope, access unrelated data, or perform destructive actions.
The skill may preserve sensitive evidence in generated reports when the user supplies it. Review generated files before sharing or committing them, and follow the applicable bug bounty program's rules.
npx skills add Sequester-AG/bug-bounty-triage --skill bug-bounty-triage
git clone https://github.com/Sequester-AG/bug-bounty-triage.git ~/.codex/skills/bug-bounty-triage
git clone https://github.com/Sequester-AG/bug-bounty-triage.git ~/.agents/skills/bug-bounty-triage
The full live-validation workflow uses agent-browser for browser automation and agent-email-cli for disposable test inboxes.
Install both agent skills:
npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser
npx skills add https://github.com/zaddy6/agent-email-skill --skill agent-email-cli
The skills provide agent instructions. Install their corresponding command-line tools for live execution:
npm install -g agent-browser
agent-browser install
npm install -g @zaddy6/agentemail
Invoke the skill with a report, vulnerability description, or target and finding:
Use $bug-bounty-triage to validate this report and determine whether it is ready to submit: <report>
For live validation, provide the relevant authorization and scope. The complete workflow can use browser automation, direct HTTP requests, and disposable email accounts when those capabilities are available in the host environment. If live testing is unavailable, the skill should state what remains unverified.
For a supported, submission-ready finding, the skill writes a Markdown report named from the target and vulnerability class, such as:
example-com-idor.md
Internal triage commentary stays outside the submission file.
SKILL.md — skill metadata, workflow, validation gates, escalation guidance, and report formatLICENSE — MIT LicenseMIT