Skip to content
Security
Skill

/validate-bug

Use when a bug PoC package needs an independent rerun and judgment before patching.

GuideBOOST
From plugin
trailofbits-skills
7.7k95 skills30 agents8 commands1 MCP
Install
$ npx -y skills add trailofbits/skills --skill validate-bug --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/validate-bug

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a bug PoC package needs an independent rerun and judgment before patching.

SKILL.md

validate-bug.SKILL.md
name: validate-bug
description: Use when a bug PoC package needs an independent rerun and judgment before patching.

Validate Bug

When to Use

Use after `reproduce-bug` has supplied a finding and PoC package. Read the [record contract](../../references/records.md). Before target commands, follow its [project guidance](../../references/records.md#project-guidance).

When NOT to Use

Do not use to repair a PoC, develop a patch, or infer reproduction from the reproducer's narrative.

Procedure

1. Read `finding.json`, the reproduction's proof type, commands, any PoC, and raw receipts. Do not read the reproducer's transcript. 2. Rerun the same baseline compiler command for compile failures, or rebuild and rerun the unchanged runtime PoC and planned scoped inputs. Save stdout, stderr, exit status and timing in `validate/receipts/`. If an observation is unreliable, return `inconclusive` instead of inferring either presence or absence. 3. Decide whether the target diagnostic or runtime assertion demonstrates the exact claim and violates the stated invariant. Write `validate.json` as `confirmed`, `not_confirmed`, or `inconclusive` with a short reason and agent identity.

[Validate record schema](../../schemas/validate.schema.json):

{
  "schema_version": 1,
  "outcome": "confirmed",
  "agent": "validator-1",
  "reason": "The unchanged PoC reached the assertion and demonstrated the claim."
}

4. Manifest the complete `validate/` directory with `uv run --no-project <script> manifest <validate-step-dir>`, then run the [record checker](../../scripts/records.py). Return the package without editing the PoC or finding.

Rationalizations to Reject

| Shortcut | Required action | | --- | --- | | Fix the PoC to make the claim work. | Mark it inconclusive and explain why. | | Trust the reproducer's conclusion. | Rerun the unchanged package independently. |

Read more
Ships withtrailofbits-skills

A Claude Code plugin marketplace from Trail of Bits providing skills to enhance AI-assisted security analysis, testing, and development workflows. Codex can load this marketplace through its Claude marketplace compatibility.

Get the whole plugin

Other skills on trailofbits-skills.