vuln-scanner

Installation
SKILL.md

${var} — Action selector, shaped [<action>][:<owner/repo>]. Empty or a bare owner/reposcan arm (audit that repo, or auto-select a trending one). resubmit / resubmit:owner/repore-submit arm (probe the security watchlist for repos that just enabled PVR and submit any queued advisory). disclose / emaildisclose arm (queue armed out-of-band email disclosures for sending). Examples:

  • `` → scan, auto-select from trending
  • openai/whisper → scan openai/whisper
  • resubmit → probe the whole watchlist and re-submit what flipped
  • resubmit:vercel/next.js → probe just that repo (one-off)
  • disclose (alias email) → arm & queue eligible disclosure emails
  • poc-smoke → exercise the PoC gate against a benign real Base fork (no audit or disclosure)

Today is ${today}. Read memory/MEMORY.md and the last 30 days of memory/logs/ before starting.

Why this skill exists

This is the write / action arm of the vuln-disclosure loop — one skill covering the full responsible-disclosure lifecycle:

  • Scan — a security scanner that dumps unpatched vulnerabilities into public PRs is a zero-day publisher, not a helper. This skill matches industry practice: Private Vulnerability Reporting (PVR) for code flaws, public PRs only for dependency CVEs that are already public. Bad disclosure burns credibility and puts users at risk.
  • Re-submit — when a scan finds a HIGH/CRITICAL issue in a repo with no PVR, no SECURITY.md, and no reachable contact, it has no safe channel — so it logs the finding as "channel": "skipped" in memory/vuln-scanned.json and stages a watchlist row. Without a weekly probe those findings silently age until the responsible-disclosure window closes. The re-submit arm closes that loop.
  • Disclose — when the only responsible path is a private email to the maintainer, drafts sit in memory/pending-disclosures/ with status: pending-operator-send, waiting for a human. The disclose arm finds drafts explicitly armed for auto-send, composes the email, and sends it in-run (Resend via ./secretcurl) behind a set of fail-closed caps — the send is the arm's final action.
Installs
8
Repository
aeonfun/aeon
GitHub Stars
715
First Seen
Aug 20, 2026
vuln-scanner — aeonfun/aeon