Agent skill

Orchestrating Vulnerability Research

by trilwu in trilwu/secskills

Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh…

MITAuto-check passedSecurity

Install Orchestrating Vulnerability Research

skills CLI
$ npx skills add trilwu/secskills --skill orchestrating-vulnerability-research -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install trilwu/secskills orchestrating-vulnerability-research --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/trilwu/secskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/secskills-core/skills/orchestrating-vulnerability-research .claude/skills/orchestrating-vulnerability-research && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
orchestrating-vulnerability-research
GitHub stars
157
Token cost
~3.5k tokens
SKILL.md length
1,936 words
Files
1
Skills in repo
50
Repo updated
First seen
Licence
MIT

At a glance

Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh…

  • Works in 5 steps: Decompose — split into the smallest… → Build — a hunter per slice, told the… → Critique — a separate critic, fresh… → …
  • Tasked to find previously-unknown bugs across a whole codebase
  • SKILL.md covers When to Use, When NOT to Use, The Loop and Setting the Bar, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Orchestrating Vulnerability Research is an agent skill from trilwu/secskills. Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh context adversarially refute every candidate against the real artifact (a reproduced crash, a working request, a proven bypass) before it counts as a finding. Use when tasked to find previously-unknown bugs across a whole codebase, a binary, or a named live target; when you want to fan out many agents and loop until…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Threat modeling. The repository describes itself as: Transform Claude Code into your personal security engineer. The licence is MIT.

When your agent uses it

  • Tasked to find previously-unknown bugs across a whole codebase
  • A named live target
  • You want to fan out many agents and loop until findings are proven rather than plausible
  • A single audit pass has stalled and you need builder/critic separation so the hunter never grades its own work

Example prompts

  • “/orchestrating-vulnerability-research”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Decompose — split into the smallest independently-huntable slices
  2. Build — a hunter per slice, told the goal, not the method
  3. Critique — a separate critic, fresh context, told to refute
  4. Iterate — feed the gap back, loop the slice
  5. Smooth — the lead reconciles across slices

What it can do on your machine

Read from SKILL.md and the folder at commit ca53957. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Orchestrating Vulnerability Research loads about 3.5k tokens when it runs. Until then it costs about 223 tokens; SKILL.md has 1,936 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~223
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from trilwu/secskills at commit ca53957, republished under its MIT licence (© trilwu). 1,936 words, ~3,450 tokens.

Download SKILL.mdSave it as .claude/skills/orchestrating-vulnerability-research/SKILL.md (or your agent's skills folder).
name
orchestrating-vulnerability-research
description
Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh context adversarially refute every candidate against the real artifact (a reproduced crash, a working request, a proven bypass) before it counts as a finding. Use when tasked to find previously-unknown bugs across a whole codebase, a binary, or a named live target; when you want to fan out many agents and loop until findings are proven rather than plausible; or when a single audit pass has stalled and you need builder/critic separation so the hunter never grades its own work. Dispatches auditing-code-for-vulnerabilities, analyzing-binaries, and testing-web-applications as the per-slice hunters and hands proven findings to reporting-security-findings.
verified
2026-07-28

Orchestrating Vulnerability Research

One agent hunting one target rationalizes. It finds a "probably exploitable" path, writes a confident paragraph, and grades its own paragraph as a finding. The paragraph is not the bug. This skill is the harness that stops that: give the hunt a bar it cannot talk its way around, split the target so pieces are worked in parallel, and never let the agent that built a candidate be the one that decides it is real.

It is a loop, not a pass. You run it until findings are proven or the target is genuinely exhausted — not until the first plausible writeup appears.

When to Use

  • Told to find previously-unknown vulnerabilities in a whole codebase, a binary, or a named live target, with room to run many agents
  • Running a bug-bounty or research campaign where depth and novelty matter more than a one-pass coverage report
  • A single audit or test pass has stalled or produced only unproven "maybe" findings, and you want independent critics to break or confirm them
  • You have the budget to fan out and iterate, and want the builder/critic separation and a demonstrated-trigger bar enforced across the whole effort

When NOT to Use

  • One focused review of a source tree for coverage (client audit, one pass, a deliverable coverage table) — use auditing-code-for-vulnerabilities directly; this skill dispatches it, it does not replace it
  • Reversing or triaging a single binary — use analyzing-binaries
  • Black-box testing one web app or API methodically — use testing-web-applications or testing-apis
  • Writing up the confirmed findings — use reporting-security-findings
  • Tracking the campaign's evidence, provenance, and dead ends — use maintaining-engagement-state; this skill produces that record, it does not define its format
  • Hunting a webshell or backdoor someone already planted (not a latent vulnerability) — use hunting-web-backdoors
  • A stateless spot check — "is this one function injectable?" is one builder call, not a campaign. The harness overhead only pays off at scale.

The Loop

Five roles, run as a loop over each slice of the target. The lead never hunts and never grades; it decomposes, dispatches, and reconciles.

decompose → build → critique → iterate → smooth
   lead      hunter   critic     hunter    lead
1. Decompose — split into the smallest independently-huntable slices

The lead breaks the target into pieces that can each be hunted and judged on their own, without cross-talk. A good slice has one entry surface and a bounded reachable set. Slice by whichever axis makes pieces independent:

TargetSlice by
CodebaseEntry point (route/handler/consumer), or bug class × component
BinaryExported/reachable function cluster, parser, or IPC/RPC surface
Named live targetHost/service, then endpoint or protocol

Write the slice list down before dispatching. A slice carries: what it covers, the reachable sink set, and the bar a finding here must clear (below). Slices that share state are a smell — merge them, or the critics will disagree because they saw different halves.

2. Build — a hunter per slice, told the goal, not the method

Dispatch one builder agent per slice with fresh context, pointed at the right domain skill for that artifact (auditing-code-for-vulnerabilities, analyzing-binaries, testing-web-applications). Give it the slice, the assets to protect, and the bar — not a script of steps. Told how, it performs the steps and reports success; told the goal and the bar, it has to actually reach them. Each hunter returns candidates: (location, bug class, the trigger it claims, the evidence it has).

Run slices in parallel; they are independent by construction. Depth per slice beats breadth across slices — one fully triggered bug is worth twenty "suspicious" notes.

3. Critique — a separate critic, fresh context, told to refute

This is the rule the whole skill exists to enforce: the builder never grades its own work. Each candidate goes to a different agent with fresh context whose job is to refute it, and which inspects the real artifact — the running binary, the actual HTTP response, the executed test, the re-read source — never the hunter's summary of it.

The bar is a demonstrated trigger, and the critic asks only whether it was met:

  • Codebase: is there a concrete input that reaches the sink with attacker control intact, past every validator on the path? Not "looks reachable."
  • Binary: does it crash or corrupt state under a controlled input, with the fault understood? Not "this memcpy looks unbounded."
  • Live target: did the request produce the anomalous response that proves the weakness, reproducibly? Not "the error suggests injection."

If the bar is not met, the critic names the single biggest gap between the candidate and a proven bug — the missing reachability step, the validator the hunter did not account for, the input it never actually ran. That gap is the next round's work order. A critic that says only "not proven" has failed; it must say what would prove or kill it.

Bias the critic toward refutation. A candidate that survives an agent genuinely trying to break it is worth ten a builder pronounced exploitable. For high-stakes candidates, run more than one critic with different lenses (reachability, the mitigating control, does-it-actually-run) rather than three identical ones.

4. Iterate — feed the gap back, loop the slice

The builder takes the critic's gap and closes it: builds the reachability step, writes the input that actually triggers, accounts for the validator. Then the candidate goes back to a critic. Repeat until one of three stop conditions:

  • Proven — the bar is met and a critic could not refute it. It becomes a finding; hand it to reporting-security-findings.
  • Dead — the critic found the control that makes it safe, or repeated rounds cannot produce a trigger. Record it as a checked-and-cleared candidate in the engagement state, with why — dead candidates are coverage, and stop you re-hunting the same path.
  • Budget — you have spent the slice's allotment without convergence. Downgrade to a documented "suspected, unproven" lead and move on; do not promote it to a finding to salvage the effort.

Never let a slice loop forever. The failure mode of a loop is not stopping too early — it is a builder and a lax critic passing an unproven candidate back and forth until it sounds proven.

5. Smooth — the lead reconciles across slices

Slices were hunted blind to each other; the lead is the only one that sees all results. After the per-slice loops settle:

  • Deduplicate. The same root cause surfaces in several slices — one missing auth-layer check hit from five routes is one finding with five instances, not five findings.
  • Chain. A weak primitive in one slice plus a reachable sink in another is often the real, higher-severity bug. Composition is invisible to any single hunter — this is where the lead earns its keep.
  • Variant-sweep confirmed bugs. Every proven finding is a template; sweep the other slices for the same mistake before closing.
  • Reconcile coverage. State which slices were hunted to the bar, which were time-boxed, and which were not reached. Honest coverage is the deliverable's spine — see reporting-security-findings.
Show full SKILL.md (809 more words)Show less

Setting the Bar

The bar is the reference standard the critic compares against — the thing the agent cannot argue with. Set it per slice before hunting, and make it a demonstration, not a description:

  • Codebase — a source-to-sink path with a concrete triggering input, or a written PoC that exercises it. "Attacker controls id, no tenant scope on the query, here is the request that returns another tenant's row."
  • Binary — a reproducing input plus a fault analysis: the crash, the corrupted state, and whether control is influenced. A sanitizer report (ASan/UBSan) or a fuzzer-minimized case clears the bar; a hand-wave does not.
  • Live target — the observed anomalous behavior, reproduced, with the request/response captured. Blind and time-based signals count only when reproduced and controlled for the environment.

If a slice cannot express a concrete bar, it is not decomposed enough. Split it until each piece has a demonstrable pass/fail the critic can check.

Running It in Practice

In an agentic harness (Claude Code, with subagents), the loop maps directly:

  • The lead is your main context: it holds the slice list and the engagement state, and dispatches.
  • Each builder and each critic is a subagent with its own fresh context — a critic that shares the builder's context inherits its blind spots and its optimism, and the separation is the whole point.
  • Persist the slice list, the candidate worklist, and each candidate's verdict in the engagement record (maintaining-engagement-state) — the loop can run for a long time and must survive a restart without re-hunting cleared paths.
  • Scale the fan-out to the budget you were given, and log what you did not reach. A campaign that silently sampled ten of forty slices and reported clean is worse than one that hunted ten and said so.

Automated discovery tools are builders inside a slice, not a substitute for the loop. A fuzzer (AFL++, libFuzzer), a taint engine (CodeQL), or a scanner produces candidates; they still go to an independent critic and the same bar. Unverified tool output promoted straight to a finding is the exact failure this harness exists to prevent.

Scope and Authorization

A discovery campaign is more dangerous than a single test, because it fans out and iterates.

  • Authorization must cover the whole target and the intensity. "You may test X" is not "you may fuzz X's production parser until it crashes." Discovery techniques — fuzzing, injection sweeps, deserialization probes — cause outages and corrupt data. Confirm the target, the environment (prefer non-production), and the permitted intensity in writing before you fan out.
  • A named target pulls in third-party estate. Its login federates to an identity provider, its assets sit behind a CDN, its "subdomain" is a SaaS tenant you were not authorized to touch. Enumerate ownership before hunting, and keep every builder inside the authorized boundary — fan-out makes it easy to drift out of scope without noticing.
  • Novel bugs in software you do not own carry disclosure duties. A previously-unknown vulnerability is a coordinated-disclosure obligation, not a trophy. Route it through reporting-security-findings.
  • Do not weaponize past the bar. The bar is a demonstrated trigger. Proving control of a sink is the goal; a full working exploit against a live third-party system is a separate authorization you probably do not have.

Rationalizations to Reject

  • "The hunter said it's exploitable, so it's a finding." The hunter is the one agent that must not decide that. Independent critic, real artifact, or it is a hypothesis.
  • "It looks reachable / that buffer looks unbounded / the error suggests injection." Every one of these is a candidate, not a bug. The bar is a demonstrated trigger, not a plausible read.
  • "The critic and builder can share context to save tokens." Then the critic inherits the builder's blind spots and grades its optimism. The separation is the method; collapsing it deletes the value.
  • "We've looped enough; promote it so the effort isn't wasted." An unproven finding is not a smaller win — it is a false positive that discredits the real ones. Downgrade it to a documented lead; do not launder it into a finding.
  • "One agent found nothing, so the slice is clean." One hunter's negative is one search strategy's negative. Clean means hunted to the bar and confirmed by a critic, not "the first pass came back empty."
  • "Dead candidates aren't worth recording." A checked-and-cleared path with a reason is coverage. Drop it and the next round re-hunts it, or worse, reports it as untested.
  • "Decomposition is overhead; just point one agent at the repo." Then it grades itself and stops at the first plausible paragraph. Slicing is what makes independent judgment and parallelism possible.

References

  • auditing-code-for-vulnerabilities — the per-slice hunter for source code
  • analyzing-binaries — the per-slice hunter for compiled targets
  • testing-web-applications, testing-apis — the per-slice hunters black-box
  • reporting-security-findings — where proven findings go
  • maintaining-engagement-state — where the slice list, worklist, and verdicts live
  • CWE and OWASP ASVS for classifying what a hunter is looking for

© trilwu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in secskills-core/skills/orchestrating-vulnerability-research of trilwu/secskills.

Open the folder on GitHubat commit ca53957

Compare with similar skills

Orchestrating Vulnerability Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Orchestrating Vulnerability Research compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Orchestrating Vulnerability Research this skilltrilwu/secskills157—~3.5kAutomated safety check: PassMIT
Forensifyalexgreensh/repo-forensics188—~2.5kAutomated safety check: NotesCustom licence
MCP Gateway SecurityHack23/cia239—~2.4kAutomated safety check: PassApache-2.0
Fla Ascend Performancefla-org/flash-linear-attention5.8k—~6.3kAutomated safety check: PassMIT
Create Rulecartography-cncf/cartography4.1k—~3kAutomated safety check: PassApache-2.0
Commit Security Scancodexstar69/bug-hunter519—~629Automated safety check: PassMIT

Similar skills

  • Forensify

    alexgreensh/repo-forensics

    Cross-agent self-inspection of your AI-agent stack. An agent skill from alexgreensh/repo-forensics.

    188 GitHub stars~2.5k tokensUpdated 12 days ago
    SecurityAuto-check: notes
  • MCP gateway security patterns, token management, request validation, and audit logging for MCP communications

    239 GitHub stars~2.4k tokensUpdated today
    SecurityAuto-check passed
  • Fla Ascend Performance

    fla-org/flash-linear-attention

    Guidelines for Ascend NPU kernel / Triton-Ascend backend performance work in the FLA repo.

    5.8k GitHub stars~6.3k tokensUpdated today
    SecurityAuto-check passed
  • Create Rule

    cartography-cncf/cartography

    Author a Cartography security rule (one or more Cypher Facts plus a Pydantic Finding output model) under cartography/rules/data/rules/.

    4.1k GitHub stars~3k tokensUpdated today
    SecurityAuto-check passed
  • Commit Security Scan

    codexstar69/bug-hunter

    Scan code changes for security vulnerabilities using Bug Hunter-native artifacts and STRIDE context.

    519 GitHub stars~629 tokensUpdated 1 mo ago
    SecurityAuto-check passed
  • Match identified threats to preventive, detective and corrective controls across network, application, data, endpoint and process layers to plan remediation.

    40k GitHub starsUsed in 8 repos~742 tokens
    SecurityAuto-check passed

More from trilwu/secskills

All 50 skills in this repo
  • Audit source code for exploitable vulnerabilities using threat-model-driven review, taint tracing, invariant checking, and variant analysis.

    157 GitHub stars~3.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Perform OSINT, subdomain enumeration, port scanning, web reconnaissance, email harvesting, and cloud asset discovery for initial access.

    157 GitHub stars~3.1k tokensUpdated 1 mo ago
    Auto-check: notes
  • Securing AI Systems

    trilwu/secskills

    Assess and harden LLM applications and agentic systems against prompt injection, tool misuse, excessive agency, memory poisoning, RAG data leakage, and model supply-chain risk, mapped to the OWASP…

    157 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Analyzing Binaries

    trilwu/secskills

    Reverse engineer compiled binaries, firmware, and mobile app packages using triage, static disassembly, decompilation, and dynamic instrumentation.

    157 GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Analyzing Go Binaries

    trilwu/secskills

    Reverse engineer Go binaries by recovering function names and types from pclntab and moduledata using GoReSym, redress, and IDA/Ghidra Go plugins, and by reading Go's non-standard calling…

    157 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check passed
  • Analyzing iOS Binaries

    trilwu/secskills

    Analyze iOS applications at the binary level — decrypting FairPlay-protected IPAs with frida-ios-dump or bagbak, inspecting Mach-O load commands, recovering Objective-C headers with class-dump, and…

    157 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Orchestrating Vulnerability Research

What does Orchestrating Vulnerability Research do?

Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh…. Orchestrating Vulnerability Research is an agent skill from trilwu/secskills. Run a sustained, multi-agent vulnerability-discovery campaign against a target — split its attack surface into slices, hunt each slice with a builder agent, and have a separate critic with fresh context adversarially refute every candidate against the real artifact (a reproduced crash, a working request, a proven bypass) before it counts as a finding.

When should I use Orchestrating Vulnerability Research?

Orchestrating Vulnerability Research fits situations like: tasked to find previously-unknown bugs across a whole codebase; A named live target; you want to fan out many agents and loop until findings are proven rather than plausible; A single audit pass has stalled and you need builder/critic separation so the hunter never grades its own work.

How do I install Orchestrating Vulnerability Research in Claude Code?

Run `npx skills add trilwu/secskills --skill orchestrating-vulnerability-research -a claude-code`. Or copy the skill folder (secskills-core/skills/orchestrating-vulnerability-research in trilwu/secskills) into .claude/skills/orchestrating-vulnerability-research in your project. Claude Code loads it when a task matches its description.

How do I install Orchestrating Vulnerability Research in Codex?

Run `npx skills add trilwu/secskills --skill orchestrating-vulnerability-research -a codex`. Or copy the skill folder (secskills-core/skills/orchestrating-vulnerability-research in trilwu/secskills) into .agents/skills/orchestrating-vulnerability-research in your project. Codex loads it when a task matches its description.

Can I use Orchestrating Vulnerability Research in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trilwu/secskills --skill orchestrating-vulnerability-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orchestrating-vulnerability-research, .gemini/skills/orchestrating-vulnerability-research, .github/skills/orchestrating-vulnerability-research and .opencode/skills/orchestrating-vulnerability-research in your project.

What does Orchestrating Vulnerability Research need to run?

SKILL.md names no scripts, command-line tools or credentials: Orchestrating Vulnerability Research is instructions for the agent only.

Does Orchestrating Vulnerability Research access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Orchestrating Vulnerability Research safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Orchestrating Vulnerability Research use?

Orchestrating Vulnerability Research is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Orchestrating Vulnerability Research use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Orchestrating Vulnerability Research?

Skills that share tags, products or a category with Orchestrating Vulnerability Research: Forensify (alexgreensh/repo-forensics, 188 stars), MCP Gateway Security (Hack23/cia, 239 stars), Fla Ascend Performance (fla-org/flash-linear-attention, 5.8k stars) and Create Rule (cartography-cncf/cartography, 4.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Orchestrating Vulnerability Research?

trilwu (a GitHub user) maintains it in trilwu/secskills, which has 157 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on September 4, 2026.

Source: trilwu/secskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.