Agent skill

Verify Vuln Issues

by spaceraccoon in spaceraccoon/vulnerability-spoiler-alert

Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a…

MITAuto-check passedDevelopment

Install Verify Vuln Issues

skills CLI
$ npx skills add spaceraccoon/vulnerability-spoiler-alert --skill verify-vuln-issues -a claude-code

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

GitHub CLI
$ gh skill install spaceraccoon/vulnerability-spoiler-alert verify-vuln-issues --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/spaceraccoon/vulnerability-spoiler-alert.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/verify-vuln-issues .claude/skills/verify-vuln-issues && 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
verify-vuln-issues
GitHub stars
161
Token cost
~2.3k tokens
SKILL.md length
1,055 words
Files
2
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a…

  • Works in 3 steps: Fetch & prepare → Analyze, in batches → Comment + label (+ close)
  • Asked to verify
  • SKILL.md covers Scope & disposition, Prerequisites, Procedure and Verdict rubric, plus 1 more section
  • Runs JavaScript scripts from its folder; calls gh and node; needs GH_TOKEN

What it does

Verify Vuln Issues is an agent skill from spaceraccoon/vulnerability-spoiler-alert. Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a false positive, post an analysis comment, and apply the verdict label. Pure dependency bumps get a dependency label and are closed. Use when asked to "verify", "triage", or "review" the vulnerability issues / findings in the tracker.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Development. It works with GitHub. The repository describes itself as: A monitoring hub that watches popular open-source repositories and uses AI to detect when commits are patching security vulnerabilities - often before a CVE is even assigned… The licence is MIT.

When your agent uses it

  • Asked to verify
  • Review the vulnerability issues / findings in the tracker

Example prompts

  • “s open”
  • “verify”
  • “triage”
  • “/verify-vuln-issues”

Requirements

  • Node.js

Workflow steps

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

  1. Fetch & prepare
  2. Analyze, in batches
  3. Comment + label (+ close)

What it can do on your machine

Read from SKILL.md and the folder at commit 096072c. 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

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • gh
    • node

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

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GH_TOKEN

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

Context cost

Verify Vuln Issues loads about 2.3k tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 1,055 words of instructions outside code blocks.

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

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 spaceraccoon/vulnerability-spoiler-alert at commit 096072c, republished under its MIT licence (© spaceraccoon). 1,055 words, ~2,291 tokens.

Download SKILL.mdSave it as .claude/skills/verify-vuln-issues/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
verify-vuln-issues
description
Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a false positive, post an analysis comment, and apply the verdict label. Pure dependency bumps get a `dependency` label and are closed. Use when asked to "verify", "triage", or "review" the vulnerability issues / findings in the tracker.

Verify vulnerability issues

This repo's monitoring action files a GitHub issue for every commit it thinks is a security patch. Many are genuine; some are false positives (routine dependency bumps, feature commits, build-tooling changes, AI-misclassified commits). This skill verifies the unverified ones, comments, and labels each.

Scope & disposition

  • Target: open issues authored by github-actions[bot] that carry none of the verdict labels — true-positive, false-positive, or dependency. An issue carrying any of those, or one already closed (e.g. a dependency bump closed in an earlier run, or a duplicate), has already been dispositioned — skip it. prepare.mjs applies exactly this filter.

  • For every targeted issue: post one analysis comment, then apply the disposition:

    FindingAction
    Genuine security fixcomment + add true-positive label
    False positivecomment + add false-positive label
    Pure dependency bumpcomment + add dependency label + close (not planned)
  • Pure dependency bump = the commit's entire diff is package manifests, lockfiles, or version changelogs — no hand-written fix code. Close it regardless of whether the upstream advisory is real; dependency bumps are out of scope for this tracker.

    • Exception — keep it open: if the commit also carries actual vulnerability-fix code (e.g. it backports/cherry-picks specific fix code into vendored sources, not merely a version number/lockfile entry), it is a real finding — treat it as Verified (true-positive), do not close it.
  • Duplicate issues: the monitor sometimes files more than one issue for the same commit. prepare.mjs detects these (writes /tmp/vsa/duplicates.json). Keep and verify the canonical one (lowest issue number = first filed); the rest are duplicates — close them as duplicates, or delete with gh issue delete only after the user confirms, since deletion is permanent.

  • Labels: add the verdict label. Never remove a label someone else applied — if an issue carries a conflicting one, stop and surface it. You may correct a verdict this skill applied earlier (e.g. true-positive → false-positive) when re-analysis warrants: remove the stale label, add the right one, and post a correction comment explaining why.

  • Relay a final summary (counts per repo, false positives, issues closed as dependency bumps, duplicates found).

Prerequisites

gh must be authenticated. gh auth status reporting "not logged in" inside the sandbox is normal for git operations, but gh api/gh issue calls still need a real token. If gh calls fail with HTTP 401/Bad credentials, ask the user to run ! gh auth login in the prompt (the dummy-GH_TOKEN trick does not work — the proxy rejects it).

Ensure the dependency label exists (create once if missing):

bash
gh label create dependency --repo <owner/repo> \
  --description "Issue is only a dependency/version bump — out of scope, ignored" \
  --color ededed

Procedure

1. Fetch & prepare
bash
node .claude/skills/verify-vuln-issues/prepare.mjs

It lists issues, filters to unverified ones, parses each body for its repo + full commit SHA (via scripts/lib/parser.mjs), downloads every commit diff and metadata, and writes /tmp/vsa/:

  • todo.json — [{number, state, repository, commitSha, ...}]
  • ctx/<n>.txt — per-issue: the AI claim + commit message + file list + diff (lockfiles trimmed, huge files truncated)
  • duplicates.json — groups of issues sharing one commit SHA (see "Duplicate issues" above)
  • results.json — starts {}; record verdicts here as you go.

The --- FILES CHANGED --- list in each context file is what you use to spot a pure dependency bump (only package.json / *.lock / go.mod / go.sum / CHANGELOG* / doc/changelogs/* / toolchain files).

2. Analyze, in batches

Read ctx/<n>.txt files (~10–15 per turn; read large ones individually). For each issue decide the finding using the rubric below, and record into results.json (verified / false-positive / dependency) so progress survives compaction.

3. Comment + label (+ close)

Write each comment to /tmp/vsa/comments/<n>.md, then per issue:

bash
gh issue comment <n> --repo <owner/repo> --body-file /tmp/vsa/comments/<n>.md
# verified:
gh issue edit <n> --repo <owner/repo> --add-label true-positive
# false positive:
gh issue edit <n> --repo <owner/repo> --add-label false-positive
# pure dependency bump:
gh issue edit <n> --repo <owner/repo> --add-label dependency
gh issue close <n> --repo <owner/repo> --reason "not planned"

Loop over a batch; report any failures.

Verdict rubric

The commit diff is ground truth — the issue body is an LLM guess and is often wrong about the mechanism, severity, or even the vuln class.

Show full SKILL.md (472 more words)Show less
Verified — a genuine security fix (true-positive)
  • Commit message cites a CVE-ID, GHSA advisory, HackerOne report, an internal vuln tracker (GL-Vuln:), or a [security] tag.
  • Hand-written code change that removes a real, demonstrably exploitable flaw (memory safety, auth/authz check added, injection/CRLF/XSS sink fixed, DoS guard), ideally with a regression test. A guard that closes a demonstrated bypass still counts even when low-severity — but a change that only addresses a theoretical concern does not; see "Preventive hardening" under False positive.
  • A vendored-dependency update that backports/cherry-picks specific fix code for a vulnerability (not just a version number) — even though it touches deps/, it carries the actual patch, so keep it open.
  • Still verify even if the issue mislabeled the class — say so and correct it (e.g. "this is request smuggling, not SSRF"). Note overstated severity.
Pure dependency bump (dependency, then close)
  • The whole diff is package manifests / lockfiles / version changelogs — no fix code in the project itself. The fix, if any, lives entirely upstream.
  • Applies whether the issue is otherwise "verified" (real upstream advisory) or a false positive — either way it is dependency noise, label dependency + close.
  • Includes vendored-dependency version bumps (re-vendoring a bundled dep to a new release). But see the Verified exception: a vendored security backport that patches specific code stays open.
False positive — not a substantiated vulnerability (false-positive)
  • Build/dev tooling: indirect or dev dependency edits under tools/, hack/, devDependencies, or a maintainer-only script — no runtime/attacker surface.
  • Feature, not a fix: the "vulnerable" code and its validation/guard are introduced in the same commit (no prior released version was vulnerable); or the commit just wires up / enables an in-development feature.
  • Mischaracterized: the issue's described mechanism contradicts the diff (e.g. claims "no cert validation" but pre-patch used standard TLS; claims prototype pollution but __proto__ was already handled).
  • Correctness bug with no attacker: internal concurrency/overflow/data- integrity bugs (build engines, ORM dedup, migration races) with no security boundary or attacker-controlled input.
  • Preventive / defense-in-depth hardening: the change hardens against a theoretical or downstream weakness with no demonstrated exploit in a released version — e.g. giving an object a null prototype to address prototype-pollution concerns, or a guard the commit frames as precautionary. Tell-tale: the commit message hedges ("harden", "defense-in-depth", "concerns") and cites no CVE / advisory / PoC showing the prior version was actually exploitable. (Contrast: a guard that closes a demonstrated bypass is Verified, even if low-severity.)
  • Docs-only change — unless it reflects a real default-hardening shipped elsewhere.

When unsure, state the caveat explicitly (dependency bump → flaw is upstream; dev-only reach; severity overstated) rather than forcing a binary call.

Comment format

Start with a bold verdict line, reference the short commit SHA, reason from the diff, then a one-line Verdict:. Keep it substantive but tight:

markdown
## Verification analysis — **Verified** (genuine <class> fix)

Reviewed commit `<sha>`. <what the diff actually does and why it is/ isn't a
real fix; cite advisory refs, tests, caveats>.

Verdict: verified — <one line>.

If an issue already has a CVE in its commit message but no cve: label, mention it (it would graduate the finding from "verified" to "confirmed").

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

Files

SKILL.md and 1 other file in .claude/skills/verify-vuln-issues of spaceraccoon/vulnerability-spoiler-alert.

  • SKILL.md
  • prepare.mjs

Open the folder on GitHubat commit 096072c

Compare with similar skills

Verify Vuln Issues 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.

Verify Vuln Issues compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify Vuln Issues this skillspaceraccoon/vulnerability-spoiler-alert161—~2.3kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Greplooponyx-dot-app/onyx32k4 repos~3.3kAutomated safety check: PassMIT
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
Setup Matt Pocock Skillsbestofjs/bestofjs3.1k20 repos~1.7kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Setup Matt Pocock Skills

    bestofjs/bestofjs

    Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout.

    3.1k GitHub starsUsed in 20 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed

Works with

Categories

Questions about Verify Vuln Issues

What does Verify Vuln Issues do?

Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a…. Verify Vuln Issues is an agent skill from spaceraccoon/vulnerability-spoiler-alert. Triage the repo's open "[Vulnerability]" GitHub issues — for every issue lacking a true-positive/false-positive label, fetch the referenced commit, judge whether it is a genuine security fix or a false positive, post an analysis comment, and apply the verdict label.

When should I use Verify Vuln Issues?

Verify Vuln Issues fits situations like: asked to verify; review the vulnerability issues / findings in the tracker.

How do I install Verify Vuln Issues in Claude Code?

Run `npx skills add spaceraccoon/vulnerability-spoiler-alert --skill verify-vuln-issues -a claude-code`. Or copy the skill folder (.claude/skills/verify-vuln-issues in spaceraccoon/vulnerability-spoiler-alert) into .claude/skills/verify-vuln-issues in your project. Claude Code loads it when a task matches its description.

How do I install Verify Vuln Issues in Codex?

Run `npx skills add spaceraccoon/vulnerability-spoiler-alert --skill verify-vuln-issues -a codex`. Or copy the skill folder (.claude/skills/verify-vuln-issues in spaceraccoon/vulnerability-spoiler-alert) into .agents/skills/verify-vuln-issues in your project. Codex loads it when a task matches its description.

Can I use Verify Vuln Issues 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 spaceraccoon/vulnerability-spoiler-alert --skill verify-vuln-issues -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-vuln-issues, .gemini/skills/verify-vuln-issues, .github/skills/verify-vuln-issues and .opencode/skills/verify-vuln-issues in your project.

What does Verify Vuln Issues need to run?

Going by SKILL.md and its folder, Verify Vuln Issues needs JavaScript for the scripts in its folder, the command-line tools its instructions call (gh and node) and credentials named GH_TOKEN. Our summary lists: Node.js.

Does Verify Vuln Issues access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Verify Vuln Issues 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 Verify Vuln Issues use?

Verify Vuln Issues 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 Verify Vuln Issues use?

About 2.3k tokens (SKILL.md is roughly 9.2k 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 Verify Vuln Issues?

Skills that share tags, products or a category with Verify Vuln Issues: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Greploop (onyx-dot-app/onyx, 32k stars), Check PR (onyx-dot-app/onyx, 32k stars) and Setup Matt Pocock Skills (bestofjs/bestofjs, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verify Vuln Issues?

spaceraccoon (a GitHub user) maintains it in spaceraccoon/vulnerability-spoiler-alert, which has 161 GitHub stars. The repository was last updated on September 1, 2026.

Source: spaceraccoon/vulnerability-spoiler-alert on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.