vulncheck-cli
Interfaces with VulnCheck to provide real-time vulnerability and exploit intelligence.
Install
mkdir -p .claude/skills/vulncheck-cli && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11570" && unzip -o skill.zip -d .claude/skills/vulncheck-cli && rm skill.zipInstalls to .claude/skills/vulncheck-cli
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use the VulnCheck CLI to query vulnerability and exploit intelligence. Invoke when the user asks about listing or querying VulnCheck indices, security advisories, vendor advisories, CVE lookups, downloading index backups, known exploited vulnerabilities, KEV, CISA KEV, NVD, package security, PURL lookups (npm, pypi, maven, cargo, golang, nuget), CPE lookups, scanning a project or directory for vulnerable dependencies, exploits, Initial Access Intelligence, detection rules (Snort, Suricata), IP intelligence, C2 infrastructure, botnet tracking, protective DNS, or offline vulnerability scanning.Key capabilities
- →Check current authentication status for VulnCheck CLI
- →List all available VulnCheck indices
- →Query a specific VulnCheck index with filters
- →Download index backups using signed URLs
- →Show current version of the VulnCheck CLI
- →Upgrade the CLI to the latest release
How it works
The skill executes `vulncheck` CLI commands to interact with VulnCheck indices and retrieve vulnerability intelligence.
Inputs & outputs
When to use vulncheck-cli
- →Scanning dependencies for vulnerabilities
- →Querying CISA KEV data
- →Checking CVE status
About this skill
VulnCheck CLI <!-- skill-version: 1.0.0 -->
Binary is
vulncheck— notvulncheck-cli, notvci. Run commands directly, no||fallbacks orechoerror strings. VulnCheck is a standalone CLI — it does not require a project directory.
Only authenticate if a command fails with exit 3 or .error.code == "auth_required" — run vulncheck auth login or set VC_TOKEN.
The agentic contract
The CLI ships a stable wire contract designed for agents. Rely on it:
--jsonis a global flag. Every command accepts it. Stdout carries only the JSON payload; info, progress, spinners, and warnings all route to stderr.vulncheck <cmd> --json | jqalways works.- Exit codes are meaningful.
0success ·1internal ·2validation ·3auth ·4not_found ·5rate_limited ·6network ·130cancelled (SIGINT). Dispatch on the code, not the message text. - Errors are structured. In
--jsonmode, failures emit{"schema_version":1,"error":{"code":"...","message":"...","http_status":...}}on stdout. Match on.error.code(one ofauth_required,auth_invalid,validation,not_found,rate_limited,network,bad_request,cancelled,internal). --no-interactive(or non-TTY /CI=1) refuses to block on prompts. Interactive commands (auth login) fail fast with exit2; some degrade gracefully (see command-specific notes below).vulncheck commandsdumps the whole command tree as JSON — probe capabilities without parsing--help.schema_version: 1appears on every CLI-shaped payload. Bump-guard your consumer against future breaks.- Execute directly. When intent is clear, run the command — never present a list of variants to choose from. Do only what was asked; return the raw output and stop. Never add filtering, sorting, or summarisation that wasn't requested.
- Always use
--jsonunless the user explicitly requests plain text or tabular output. - On pipeline failure, drop the pipe and read raw output directly — the CLI always emits valid JSON on stdout; don't iterate on the pipeline.
Diagnostics / capability probing (not required before every task):
vulncheck auth status --json | jq -e '.authenticated' # exit 0 iff authenticated
vulncheck version --json | jq -r .version # probe CLI version
vulncheck commands | jq '.root.subcommands[].name' # discover commands
Auth
vulncheck auth status --json # {schema_version, authenticated, token_source, user, email}
# exit 0 regardless — dispatch on .authenticated
vulncheck auth login # interactive; refuses under --no-interactive
vulncheck auth logout
Indices
VulnCheck has 500+ named indices — vendor advisories, CVE feeds, exploit data, KEV lists, and more.
List all available indices (only when discovering names — if you already know the index, query it directly):
vulncheck indices list --json # [{name, description, href}, ...]
vulncheck indices list --json | jq '.[].name'
vulncheck indices list --json | jq '.[] | select(.name | contains("nvd"))'
vulncheck indices browse # interactive fuzzy picker; degrades to JSON list under non-TTY
Query an index (JSON on stdout, one array of data records):
vulncheck index list <index-name> --json
vulncheck index list <index-name> --json --cve CVE-2021-44228
vulncheck index list <index-name> --json --limit 10
vulncheck index list <index-name> --json --sort date_added
vulncheck index list <index-name> --json --pubStartDate 2024-01-01 --pubEndDate 2024-06-30
vulncheck index list <index-name> --json --cursor <value> # next page
vulncheck index list <index-name> --json --all # auto-paginate every page into one array
vulncheck index browse <index-name> # interactive document browser; non-TTY behavior untested
--all walks next_cursor end-to-end — use for full-index dumps. For 30+ additional filter flags (CIDR, ASN, threat actor, ransomware, MITRE ID, etc.) run vulncheck index list --help or dump the surface via vulncheck commands | jq '.root.subcommands[] | select(.name=="index")'.
Common indices:
| Index | Contents |
|---|---|
vulncheck-nvd2 | NVD CVE data enriched by VulnCheck |
vulncheck-kev | VulnCheck Known Exploited Vulnerabilities |
cisa-kev | CISA KEV catalog |
initial-access | Initial Access Intelligence (exploits, PoCs) |
ipintel-3d / ipintel-10d / ipintel-30d / ipintel-90d | IP Intelligence (by timeframe) |
Download a backup:
Two paths — both work headless:
# Streamed download with atomic .part rename, progress on stderr
vulncheck backup download <index-name> --no-interactive --json
# Print the signed URL
vulncheck backup url <index-name> --json | jq -r '.url'
# Download via curl
vulncheck backup url <index-name> --json | jq -r '.url' | xargs curl -OL
Utility
vulncheck version --json # {schema_version, version, build_date, changelog_url}
vulncheck upgrade status # check for a newer release
vulncheck upgrade latest # install the newest release
vulncheck commands # full JSON command tree (schema_version, root, subcommands, flags)
vulncheck commands | jq '.root.subcommands[] | select(.name=="scan") | .flags' # discover scan's flags
Reference Files
| Task | Reference |
|---|---|
| PURL and CPE package lookups (single + batch) | references/purl-cpe.md |
| Scan a project directory for vulnerable dependencies | references/scanning.md |
| Air-gapped / offline scanning and lookups | references/offline.md |
| IP intelligence, C2 infrastructure, protective DNS | references/ip-intelligence.md |
| Detection rules, Snort/Suricata, Initial Access Intelligence | references/initial-access.md |
| API token management (safe secret handling) | references/token.md |
When not to use it
- →When the user needs to query vulnerability data without the VulnCheck CLI
- →When the user needs to perform actions not supported by the VulnCheck CLI
- →When the user needs to browse indices interactively in a non-TTY environment
Limitations
- →Requires the vulncheck CLI binary to be installed and authenticated.
- →On Windows, also requires WSL or Git Bash.
- →Interactive commands like `vulncheck indices browse` and `vulncheck backup download` require a TTY.
How it compares
This skill provides a command-line interface for querying vulnerability and exploit intelligence, offering programmatic access to data that would otherwise require manual web searches.
Compared to similar skills
vulncheck-cli side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vulncheck-cli (this skill) | 0 | 2mo | Review | Beginner |
| fix-security-vulnerability | 7 | 2mo | Review | Intermediate |
| dependency-auditor | 1 | 9mo | Review | Beginner |
| dependency-vulnerability-triage | 0 | 6mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
fix-security-vulnerability
getsentry
Analyze and propose fixes for Dependabot security alerts
dependency-auditor
alirezarezvani
Check dependencies for known vulnerabilities using npm audit, pip-audit, etc. Use when package.json or requirements.txt changes, or before deployments. Alerts on vulnerable dependencies. Triggers on dependency file changes, deployment prep, security mentions.
dependency-vulnerability-triage
lichunboa
Turns npm audit/Snyk results into prioritized patch plans with severity assessment, safe upgrade paths, breaking change analysis, and rollback strategies. Use for "dependency security", "vulnerability patching", "npm audit", or "security updates".
dependency-auditor
adamtasteslikegood
> **Skill Type:** POWERFUL > **Category:** Engineering > **Domain:** Dependency Management & Security
security-reviewer
Advance-Technologies-Foundation
Identifies security vulnerabilities and suggests secure coding practices using Context7 and security databases
red-team
rbah31
>