cve-watchlist-action-recommendation-generator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cve-watchlist-action-recommendation-generator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate prioritized CVE watchlists with actionable security recommendations for development and security teams.
Collect required inputs:
Required:
Optional but recommended:
Parse scan results:
python scripts/parse_scan_results.py scan_results.json auto 2024-01-01 > parsed_cves.jsonCombine multiple risk factors to prioritize CVEs:
python scripts/calculate_risk_score.py parsed_cves.json reachability.json exploits.json criticality.json > scored_cves.jsonRisk scoring formula:
Risk Score = (Severity × 0.35) + (Reachability × 0.30) + (Exploitability × 0.20) + (Dependency Criticality × 0.15)See risk_scoring.md for detailed methodology.
For each CVE, determine appropriate action based on risk score and context:
Decision tree:
See action_guidelines.md for complete decision tree and recommendation templates.
Create markdown-formatted report using template:
Report structure:
Use template from assets/report_template.md.
npm audit (JSON):
{
"vulnerabilities": {
"package-name": {
"via": [{
"cve": ["CVE-2024-1234"],
"severity": "high",
"title": "SQL Injection",
"url": "https://..."
}],
"fixAvailable": {"version": "2.0.0"}
}
}
}pip-audit (JSON):
{
"dependencies": [{
"name": "package-name",
"version": "1.0.0",
"vulns": [{
"id": "CVE-2024-1234",
"fix_versions": ["2.0.0"],
"description": "..."
}]
}]
}Snyk (JSON):
{
"vulnerabilities": [{
"id": "SNYK-...",
"identifiers": {"CVE": ["CVE-2024-1234"]},
"packageName": "package-name",
"severity": "high",
"cvssScore": 7.5
}]
}{
"package-name": {
"status": "direct_call",
"details": "Called from src/auth.js:42"
},
"other-package": {
"status": "not_reachable",
"details": "Dev dependency only"
}
}Status values: direct_call, indirect_call, imported_unused, not_reachable, unknown
{
"CVE-2024-1234": {
"actively_exploited": true,
"public_exploit": true,
"poc_available": true,
"source": "CISA KEV"
}
}{
"package-name": {
"level": "critical",
"reason": "Handles authentication and authorization"
},
"dev-tool": {
"level": "minimal",
"reason": "Development-only linting tool"
}
}Levels: critical, high, medium, low, minimal
# CVE Security Report
**Repository**: my-app
**Cutoff Date**: 2024-01-01
**New CVEs**: 5
| Risk Tier | Count | Action Required |
|-----------|-------|-----------------|
| 🔴 Critical | 1 | Immediate (24-48h) |
| 🟠 High | 2 | Within days (3-5d) |
| 🟡 Medium | 1 | Next cycle (2-4w) |
| 🟢 Low | 1 | Monitor |
---
### 🔴 Critical Risk
#### CVE-2024-1234: SQL Injection in database-driver
**Risk Score**: 96 / 100 (Critical)
**Affected Package**: [email protected]
**Severity**: Critical (CVSS 9.8)
**Reachability**: Direct call from src/db/query.js:42
**Exploitability**: Public exploit available (ExploitDB)
**Action**: Immediate upgrade required
**Steps**:
1. Upgrade database-driver from 1.2.3 to 2.0.0
2. Run full test suite
3. Deploy with rollback plan
**Command**:npm install [email protected]
**Risk if not addressed**: Attackers can execute arbitrary SQL queries, leading to data breachparse_scan_results.py - Parse CVE scan results from npm audit, pip-audit, Snyk, SARIFcalculate_risk_score.py - Calculate composite risk scores from multiple factorsrisk_scoring.md - Risk scoring methodology and factor calculationsaction_guidelines.md - Decision tree for generating recommendationsreport_template.md - Markdown report template structure~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.