agentic-actions-audito…
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI,…
This skill should be used when the user asks to "triage a vulnerability report", "assess a CVE", "evaluate a bug bounty submission", "decide if a finding is valid", "review a security finding", "dismiss a vulnerability", "should we fix this CVE", "prioritize a vulnerability
Claude Code
$ npx -y skills add trailofbits/skills --skill vulnerability-triage-brocards --agent claude-code
Codex
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a codex -y
Cursor
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a cursor -y
Gemini CLI
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a gemini-cli -y
GitHub Copilot
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a github-copilot -y
OpenCode
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a opencode -y
Windsurf
$ npx skills add trailofbits/skills --skill vulnerability-triage-brocards -a windsurf -y
name: vulnerability-triage-brocards description: >- This skill should be used when the user asks to "triage a vulnerability report", "assess a CVE", "evaluate a bug bounty submission", "decide if a finding is valid", "review a security finding", "dismiss a vulnerability", "should we fix this CVE", "prioritize a vulnerability report", or needs to determine whether an incoming vulnerability report warrants investigation. Applies 7 brocards (rules of thumb) to systematically accept, dismiss, or request more information on vulnerability reports, or needs to filter raw findings from agentic vulnerability discovery pipelines before human review.
Systematically evaluate incoming vulnerability reports against 7 principled criteria before committing resources to deeper analysis. Each brocard is a falsifiable test: if a report fails any brocard, document the reason and dismiss or request clarification. If a report survives all 7, escalate it.
The 7 brocards are adapted from William Woodruff's ["Brocards for vulnerability triage"](https://vulnbrocards.com/) (2026).
before human review -- the primary use case; most automated runs produce findings that fail one or more brocards and can be dismissed without auditor time
escalation to PoC development
active audit to decide if they affect engagement scope
for ToB open-source projects
client dismiss or deprioritize a reported CVE
dedicated PoC/exploitability skill
triage skill
This skill is the quality gate between automated discovery and human review. Findings that survive triage proceed to PoC development and formal writeup.
flowchart TD
A([agentic vulnerability discovery]) -->|raw findings| B[vulnerability-triage-brocards]
B -->|DISMISS| C([Document brocard # and reasoning])
B -->|NEEDS-MORE-INFO| D([Request specific evidence])
B -->|ACCEPT| E[PoC / exploitability proof]
E --> F[vulnerability report writeup]For each incoming vulnerability report, evaluate it against all 7 brocards sequentially. By default, stop at the first DISMISS verdict and report it. If the user requests a full evaluation, continue through all 7 brocards regardless of intermediate failures. For each brocard, record one of three verdicts:
missing
Dismiss any report that lacks a coherent threat model. The report must articulate: (a) who the attacker is, (b) what capability the attacker has, (c) how the attacker exploits the behavior, and (d) what harm results.
Reports that describe a code behavior without connecting it to attacker- reachable harm fail this brocard.
**Quick test:** Can the report answer "an attacker with [capability] can [action] to achieve [impact]"? If not, dismiss or request clarification.
Dismiss any report where the attacker capabilities required to trigger the vulnerability equal or exceed the impact of the vulnerability itself. If the attacker must already possess the power the exploit would grant, the vulnerability is redundant.
**Quick test:** Does triggering the exploit require capabilities that already subsume its impact? If yes, dismiss.
Dismiss any report describing behavior that is theoretically possible but does not occur in actual software usage. Check whether the vulnerable code path is reachable in practice.
**Quick test:** Is the vulnerable code path exercised by any real caller? If not, dismiss. If the report targets a library, ask if we should check downstream usage.
Dismiss any report where the behavior results from correct implementation of a specification. The vulnerability, if any, exists in the standard -- not the implementation.
**Nuance:** If an implementation voluntarily adopts a stricter posture than the standard requires, and that strictness fails, the implementation *is* vulnerable even though the standard permits the behavior.
**Quick test:** Does the specification require or permit this behavior? If yes, the report targets the standard, not the code.
Dismiss any report describing behavior that is explicitly documented, especially when the documentation includes security implications or usage caveats.
**Nuance:** Downstream usage that violates documented guidelines may constitute a valid vulnerability in the *downstream* project, not the documented component.
**Quick test:** Does the project's documentation describe this behavior and warn against misuse? If yes, dismiss the report against the project itself.
Dismiss any report whose remediation would cause more harm than the vulnerability itself. Evaluate: (a) severity of the vulnerability in practice, (b) cost and disruption of the proposed fix, (c) blast radius of the remediation (dependency graph, ecosystem impact).
**Quick test:** Would fixing this cause more disruption than the vulnerability itself? If yes, dismiss or downgrade severity.
Trail of Bits skills and plugins for AI-assisted security analysis, testing, and development. Install this marketplace in Claude Code or Codex, or import it into your ChatGPT workspace marketplace.
Audits GitHub Actions workflows for security vulnerabilities in AI agent integrations including Claude Code Action, Gemini CLI,…
Understand a codebase before looking for bugs in it - what each function assumes, what it guarantees, and what it depends on…
Scans Algorand smart contracts for 11 common vulnerabilities including rekeying attacks, unchecked transaction fees, missing…
Prepares codebases for security review using Trail of Bits' checklist. Helps set review goals, runs static analysis tools,…
Scans Cairo/StarkNet smart contracts for 6 critical vulnerabilities including felt252 arithmetic overflow, L1-L2 messaging…
Systematic code maturity assessment using Trail of Bits' 9-category framework. Analyzes codebase for arithmetic safety, auditing…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…