Get a context-aware remediation plan for a vulnerability with fix verification steps
Get a context-aware remediation plan for a vulnerability with fix verification steps. This skill provides a specialized system prompt that configures your AI coding agent as a remediation expert, with detailed methodology and structured output formats.
Compatible with Claude Code, Cursor, GitHub Copilot, Windsurf, OpenClaw, Cline, and any agent that supports custom system prompts.
This skill generates a comprehensive, context-aware remediation plan for a specific vulnerability using the VDB V2 remediation API. It auto-detects your repository's ecosystem, package manager, installed versions, container images, and OS to provide targeted fix guidance including registry upgrades, source patches, distribution advisories, workarounds, CWE-specific remediation strategies, and verification commands.
How this differs from /vulnetix:fix: The existing /vulnetix:fix skill fetches V1 fix data and proposes manual manifest edits. This skill uses the V2 remediation plan endpoint which provides context-aware guidance (ecosystem, version, OS, container), CWE remediation strategies, CrowdSec threat intelligence (live exploitation data), workaround effectiveness scoring, SSVC decision support, and verification commands per package manager.
This skill reads and updates the .vulnetix/memory.yaml file in the repository root. This file is shared with /vulnetix:fix, /vulnetix:exploits, /vulnetix:package-search, /vulnetix:vuln, and /vulnetix:exploits-search.
The canonical schema is defined in /vulnetix:fix. This skill updates base fields and appends remediation plan events to the history log.
At the start of every invocation:
.vulnetix/memory.yaml exists in the repo root.vulnetix/scans/.cdx.json -- cross-reference for component data Previously seen: <vulnId> -- <developer-friendly status> (as of <date>)
Priority: <P1/P2/P3/P4> (<score>) (if cwss data exists)
Last decision: <developer-friendly decision> -- "<reason>"After completing the remediation plan (Step 7):
status: under_investigation, discovery.source: userseverity, safe_harbour, and versions.fixed_in from the remediation plan data. Merge aliases.status or decision unless the user explicitly makes a decision during the conversationhistory: event: remediation-plan, detail: summary of fix options found (registry fixes, source fixes, workarounds, distribution patches)not_affected --> "Not affected"affected --> "Vulnerable"fixed --> "Fixed"under_investigation --> "Investigating"When gh CLI is available (check with gh auth status 2>/dev/null), query Dependabot alerts for the vuln ID to cross-reference with the remediation plan.
"Dependabot PR #N proposes this upgrade -- consider reviewing and merging it"dependabot section in the memory entry.vulnetix/memory.yaml as described abovepackage field, use that package name vulnetix vdb vuln "$ARGUMENTS" -o json
Extract affected package names and ecosystems from the response.
Build the CLI flags automatically from repository state:
| Flag | Source | How to detect |
|------|--------|---------------|
| --ecosystem | Manifest files | From Step 1 ecosystem detection |
| --package-name | VDB response or memory | Affected package name matching repo |
| --current-version | Lockfile/manifest | Installed version from Step 1 |
| --package-manager | Manifest file type | package-lock.json --> npm, yarn.lock --> yarn, poetry.lock --> pip/poetry, etc. |
| --purl | Constructed | If ecosystem + name + version are known, construct pkg:<eco>/<name>@<version> |
| --container-image | Containerfile/Dockerfile | Use Glob for Containerfile, Dockerfile, .dockerfile. If found, Read and extract FROM image reference (e.g., node:18-alpine) |
| --os | OS detection | Check for /etc/os-release or infer from container base image |
| --vendor | VDB response | From affected products vendor field |
| --product | VDB response | From affected products product field |
Always set:
--include-guidance -- includes CWE-specific remediation strategies--include-verification-steps -- includes per-package-manager verification commandsvulnetix vdb remediation plan "$ARGUMENTS" -V v2 --include-guidance --include-verification-steps -o json [context flags]CLI Reference (from vulnetix vdb remediation plan docs):
| Flag | Type | Description |
|------|------|-------------|
| --ecosystem | string | Package ecosystem (npm, pypi, maven, go, cargo, etc.) |
| --package-name | string | Package name |
| --current-version | string | Currently installed version (enables version-specific guidance) |
| --package-manager | string | Package manager (npm, pip, cargo, maven, etc.) |
| --purl | string | Package URL (overrides ecosystem + package-name) |
| --container-image | string | Container image reference (e.g., node:18-alpine) |
| --os | string | OS identifier (e.g., ubuntu:22.04, debian-11) |
| --vendor | string | Vendor name for CPE matching |
| --product | string | Product name for CPE matching |
| --registry | string | Registry filter (npm, pypi, maven-central) |
| --include-guidance | bool | Include CWE-specific markdown guidance |
| --include-verification-steps | bool | Include verification commands per package manager |
| -V | string | API version -- must be v2 |
| -o, --output | string | Output format: json or pretty |
Examples:
# Basic remediation plan
vulnetix vdb remediation plan CVE-2021-44228 -V v2 --include-guidance --include-verification-steps -o json# With full package context
vulnetix vdb remediation plan CVE-2021-44228 -V v2 \
--ecosystem maven --package-name log4j-core --current-version 2.14.1 \
--package-manager maven --include-guidance --include-verification-steps -o json
# Using PURL
vulnetix vdb remediation plan CVE-2021-44228 -V v2 \
--purl "pkg:maven/org.apache.logging.log4j/log4j-core@2.14.1" \
--include-guidance --include-verification-steps -o json
# With container context
vulnetix vdb remediation plan CVE-2024-XXXXX -V v2 \
--ecosystem npm --package-name express --current-version 4.17.1 \
--container-image "node:18-alpine" --include-guidance --include-verification-steps -o json
Response structure (from V2 OAS):
The response includes:
cveId, state, title, aliases, descriptiondescriptions[] -- multi-source descriptions with language and source attributioncrowdSecSummary -- live threat intelligence:totalSightings, uniqueIPs, isActivefirstSeen, lastSeentopSourceCountries, topTargetCountriesmitreTechniques, behaviorscvssDetails -- parsed CVSS vector components (attackVector, attackComplexity, privilegesRequired, userInteraction, scope, impact metrics)agent_prompt -- AI-optimized remediation context stringRender a structured remediation report with the following sections:
Vulnerability Summary:
<CVE ID> -- <title>
<description -- first 2-3 sentences>
Severity: <CVSS score> (<level>) | EPSS: <score>Threat Activity (from CrowdSec data, if present):
Live Exploitation: <Active/Inactive>
Sightings: <totalSightings> from <uniqueIPs> unique IPs
Last seen: <lastSeen>
Source countries: <top 3>
MITRE techniques: <techniques in developer language>If no CrowdSec data, skip this section.
Registry Fixes (version upgrades per ecosystem):
| Ecosystem | Package | Current | Fix Version | Verified | Confidence | Registry |
|-----------|---------|---------|-------------|----------|------------|----------|
| maven | log4j-core | 2.14.1 | 2.17.1 | Yes | High | Maven Central |
For each fix, report Safe Harbour confidence:
Upstream fix: <commit URL>
SHA: <sha>
Author: <author>
Message: <commit message>
Repository health: <commit frequency, contributor count>Distribution Patches (if --os or --container-image was set):
| Distro | Patch ID | Affected Packages | Priority |
|--------|----------|-------------------|----------|
| Ubuntu 22.04 | USN-XXXX-X | liblog4j2-java | High |
Workarounds (interim mitigations, if no immediate fix):
Workaround: <description>
Effectiveness: <score>/100
Applicable versions: <range>
Requires restart: <Yes/No>
Verification: <steps>CWE Guidance (weakness-specific remediation strategies):
CWE-<id>: <title>
Remediation strategy:
<markdown guidance from API>Verification guidance:
<markdown from API>
Verification Steps (per package manager):
Verify the fix:
npm: npm audit --json | jq '.vulnerabilities["<package>"]'
maven: mvn dependency:tree | grep <package>
pip: pip show <package> | grep Version"Dependabot PR #N already proposes this upgrade -- consider reviewing and merging"/vulnetix:exploits analysis exists in memory (threat_model, cwss), surface the priority: "Prior exploit analysis: P1 (87.5) -- Act now"/vulnetix:fix analysis exists, note what was previously proposedBased on the remediation plan, present concrete actions:
/vulnetix:fix) with the fix version from the remediation plan. Offer to apply it.apt-get update && apt-get install --only-upgrade <package>)vulnetix vdb vuln <vuln-id> to verify the fix resolved the vulnerability"Run /vulnetix:exploits $ARGUMENTS for exploit intelligence and threat modeling""Run /vulnetix:vuln $ARGUMENTS for full vulnerability details""Run /vulnetix:exploits-search --ecosystem <eco> to discover related exploited vulnerabilities"versions.fixed_in -- from the registry fix data
- versions.fix_source -- registry name and version
- severity -- from CVSS data
- safe_harbour -- computed from fix confidence
- aliases -- merge any newly discovered aliases
- dependabot -- if gathered in Step 5
history: event: remediation-plan, detail: summary of fix options (e.g., "Registry fix: 2.17.1 (Maven Central, High confidence). 2 workarounds available. CWE-502 guidance provided.")/vulnetix:exploitsstatus: fixed and decision.choice: fix-applied if they apply the fixevent: fix-applied with detail including the version changevulnetix vdb remediation plan returns an error, fall back to vulnetix vdb fixes "$ARGUMENTS" -o json (V1 endpoint) and present basic fix data. Note that V2 enrichment (workarounds, CWE guidance, verification steps) is unavailable..vulnetix/memory.yaml cannot be written, warn but do not block/vulnetix:fixagent_prompt field in the response contains AI-optimized context -- use it to inform your analysis but do not display it raw to the user.vulnetix/memory.yaml after generating the planWeekly roundup of top Claude Code skills, MCP servers, and AI coding tips.