Cve Triage
DevOps & Securitycve-triageCve Triage is an Agent Skill for devops & security published in the Unclecheng-li/VulnClaw repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
CVE lookup and triage — map discovered services/versions to known CVEs via the cve_lookup tool, score by CVSS/exploitability, and prioritize what to verify first.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/Unclecheng-li/VulnClaw/blob/HEAD/vulnclaw/skills/specialized/cve-triage/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cve-triage, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
CVE Triage
Turn version/banner evidence from recon into a prioritized, exploitability-aware
list of CVEs worth verifying. Use this after fingerprinting a service, when a
banner or Server: header reveals a product and version, or whenever the target
exposes software with a known version.
The cve_lookup tool
VulnClaw ships a read-only cve_lookup tool backed by NVD:
- Keyword search —
cve_lookup(query="Apache httpd 2.4.49", limit=5)returns the top CVEs sorted by CVSS, highest first. - CVE-ID detail —
cve_lookup(query="CVE-2021-44228")returns the full record plus best-effort exploit / PoC repositories discovered on GitHub.
It performs no egress to the target and is safe during recon. Without an
NVD_API_KEY it still works (lower rate limit); set one for heavier use.
Workflow
- Extract product + version from recon — service banners,
Serverheaders, JS bundles, login footers, package manifests. A precise version string (OpenSSH 8.2p1,nginx 1.18.0) yields far better matches than a bare name. - Query
cve_lookupwith"<product> <version>". Pull the detail record for any high/critical hit by re-querying itsCVE-ID. - Score & prioritize — see
references/cve-triage-workflow.md. Rank by CVSS, then by exploit availability, then by exposure (is the vulnerable surface actually reachable on this target?). - Confirm version applicability — match the target's version against the
CVE's affected
cperange before claiming it. Banner ≠ proof of vulnerability. - Record findings with the CVE-ID, CVSS, and the evidence that maps this target to it. Mark unconfirmed version-only matches as needs-manual-review, not verified.
Pitfalls
- A keyword match is a hypothesis, not a finding — version ranges and backported patches mean a banner version can be patched in place.
- GitHub "PoC" repos are unverified third-party code; treat as leads, never run blindly against a target.
- Prefer the CVSS base score for triage, but let exploit availability and real exposure override raw score when prioritizing verification effort.