managing-vulnerabilities — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited managing-vulnerabilities (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.
Implement comprehensive vulnerability detection and remediation workflows across containers, source code, dependencies, and running applications. This skill covers multi-layer scanning strategies, SBOM generation (CycloneDX and SPDX), risk-based prioritization using CVSS/EPSS/KEV, and CI/CD security gate patterns.
Invoke this skill when:
Vulnerability management requires scanning at multiple layers. Each layer detects different types of security issues.
Container Image Scanning
SAST (Static Application Security Testing)
DAST (Dynamic Application Security Testing)
SCA (Software Composition Analysis)
Secret Scanning
Container Image → Trivy (default choice) OR Grype (accuracy focus)
Source Code → Semgrep (open-source) OR Snyk Code (commercial)
Running Application → OWASP ZAP (open-source) OR StackHawk (CI/CD native)
Dependencies → Dependabot (GitHub) OR Renovate (advanced automation)
Secrets → Gitleaks (open-source) OR GitGuardian (commercial)For detailed tool selection guidance, see references/tool-selection.md.
Software Bills of Materials (SBOMs) provide a complete inventory of software components and dependencies. Required for compliance and security transparency.
CycloneDX (Recommended for DevSecOps)
SPDX (Recommended for Legal/Compliance)
With Trivy (CycloneDX or SPDX):
# CycloneDX format (recommended for security)
trivy image --format cyclonedx --output sbom.json myapp:latest
# SPDX format (for compliance)
trivy image --format spdx-json --output sbom-spdx.json myapp:latest
# Scan SBOM (faster than re-scanning image)
trivy sbom sbom.json --severity HIGH,CRITICALWith Syft (high accuracy):
# Generate CycloneDX
syft myapp:latest -o cyclonedx-json=sbom.json
# Generate SPDX
syft myapp:latest -o spdx-json=sbom-spdx.json
# Pipe to Grype for scanning
syft myapp:latest -o json | grypeFor comprehensive SBOM patterns and storage strategies, see references/sbom-guide.md.
Not all vulnerabilities require immediate action. Prioritize based on actual risk using CVSS, EPSS, and KEV.
Step 1: Gather Metrics
| Metric | Source | Purpose |
|---|---|---|
| CVSS Base Score | NVD, vendor advisories | Vulnerability severity (0-10) |
| EPSS Score | FIRST.org API | Exploitation probability (0-1) |
| KEV Status | CISA KEV Catalog | Actively exploited CVEs |
| Asset Criticality | Internal CMDB | Business impact if compromised |
| Exposure | Network topology | Internet-facing vs. internal |
Step 2: Calculate Priority
Priority Score = (CVSS × 0.3) + (EPSS × 100 × 0.3) + (KEV × 50) + (Asset × 0.2) + (Exposure × 0.2)
KEV: 1 if in KEV catalog, 0 otherwise
Asset: 1 (Critical), 0.7 (High), 0.4 (Medium), 0.1 (Low)
Exposure: 1 (Internet-facing), 0.5 (Internal), 0.1 (Isolated)Step 3: Apply SLA Tiers
| Priority | Criteria | SLA | Action |
|---|---|---|---|
| P0 - Critical | KEV + Internet-facing + Critical asset | 24 hours | Emergency patch immediately |
| P1 - High | CVSS ≥ 9.0 OR (CVSS ≥ 7.0 AND EPSS ≥ 0.1) | 7 days | Prioritize in sprint, patch ASAP |
| P2 - Medium | CVSS 7.0-8.9 OR EPSS ≥ 0.05 | 30 days | Normal sprint planning |
| P3 - Low | CVSS 4.0-6.9, EPSS < 0.05 | 90 days | Backlog, maintenance windows |
| P4 - Info | CVSS < 4.0 | No SLA | Track, address opportunistically |
Example: Log4Shell (CVE-2021-44228)
CVSS: 10.0
EPSS: 0.975 (97.5% exploitation probability)
KEV: Yes (CISA catalog)
Asset: Critical (payment API)
Exposure: Internet-facing
Priority Score = (10 × 0.3) + (97.5 × 0.3) + 50 + (1 × 0.2) + (1 × 0.2) = 82.65
Result: P0 - Critical (24-hour SLA)For complete prioritization framework and automation scripts, see references/prioritization-framework.md.
Implement progressive security gates across pipeline stages:
Stage 1: Pre-Commit (Developer Workstation)
Tools: Secret scanning (Gitleaks), SAST (Semgrep)
Threshold: Block high-confidence secrets, critical SAST findings
Speed: < 10 secondsStage 2: Pull Request (CI Pipeline)
Tools: SAST, SCA, Secret scanning
Threshold: No Critical/High vulnerabilities, no secrets
Speed: < 5 minutes
Action: Block PR merge until fixedStage 3: Build (CI Pipeline)
Tools: Container scanning (Trivy), SBOM generation
Threshold: No Critical vulnerabilities in production dependencies
Artifacts: SBOM stored, scan results uploaded
Speed: < 2 minutes
Action: Fail build on Critical findingsStage 4: Pre-Deployment (Staging)
Tools: DAST, Integration tests
Threshold: No Critical/High DAST findings
Speed: 10-30 minutes
Action: Gate deployment to productionStage 5: Production (Runtime)
Tools: Continuous scanning, runtime monitoring
Threshold: Alert on new CVEs in deployed images
Action: Alert security team, plan patchingname: Security Scan Pipeline
on: [push, pull_request]
jobs:
secrets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: trufflesecurity/trufflehog@main
with:
path: ./
extra_args: --only-verified
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: semgrep/semgrep-action@v1
with:
config: p/security-audit
container:
runs-on: ubuntu-latest
needs: [secrets, sast]
steps:
- uses: actions/checkout@v4
- run: docker build -t myapp:${{ github.sha }} .
- uses: aquasecurity/trivy-action@master
with:
image-ref: myapp:${{ github.sha }}
format: sarif
output: trivy-results.sarif
severity: HIGH,CRITICAL
exit-code: 1
- name: Generate SBOM
run: |
trivy image --format cyclonedx \
--output sbom.json myapp:${{ github.sha }}
- uses: actions/upload-artifact@v3
with:
name: sbom
path: sbom.jsonFor complete CI/CD patterns (GitLab CI, Jenkins, Azure Pipelines), see references/ci-cd-patterns.md.
Trivy is the recommended default for container scanning: comprehensive, fast, and CI/CD native.
# Scan container image
trivy image alpine:latest
# Scan with severity filter
trivy image --severity HIGH,CRITICAL alpine:latest
# Fail on findings (CI/CD)
trivy image --exit-code 1 --severity HIGH,CRITICAL myapp:latest
# Generate SBOM
trivy image --format cyclonedx --output sbom.json alpine:latest
# Scan filesystem
trivy fs /path/to/project
# Scan Kubernetes manifests
trivy config deployment.yamlseverity: HIGH,CRITICAL
exit-code: 1
ignore-unfixed: true # Only fail on fixable vulnerabilities
vuln-type: os,library
skip-dirs:
- node_modules
- vendor
ignorefile: .trivyignore# False positive
CVE-2023-12345
# Accepted risk with justification
CVE-2023-67890 # Risk accepted: Not exploitable in our use case
# Development dependency (not in production)
CVE-2023-11111 # Dev dependency only- name: Trivy Scan
uses: aquasecurity/trivy-action@master
with:
image-ref: myapp:${{ github.sha }}
format: sarif
output: trivy-results.sarif
severity: HIGH,CRITICAL
exit-code: 1
- name: Upload to GitHub Security
uses: github/codeql-action/upload-sarif@v2
if: always()
with:
sarif_file: trivy-results.sarifGrype focuses on minimal false positives and works with Syft for SBOM generation.
Important: Use Grype v0.104.1 or later (credential disclosure CVE-2025-65965 patched in earlier versions).
# Scan container image
grype alpine:latest
# Scan with severity threshold
grype alpine:latest --fail-on high
# Scan SBOM (faster)
grype sbom:./sbom.json
# Syft + Grype workflow
syft alpine:latest -o json | grype --fail-on criticalFor complete tool comparisons and selection criteria, see references/tool-selection.md.
Balance security and development velocity with progressive gates. Configure different thresholds for PR checks (fast, HIGH+CRITICAL), builds (comprehensive), and deployments (strict, CRITICAL only).
Use OPA (Open Policy Agent) for automated policy enforcement. Create policies to deny Critical vulnerabilities, enforce KEV catalog checks, and implement environment-specific rules.
For complete policy patterns, baseline detection, and OPA examples, see references/policy-as-code.md.
Set up automated workflows to scan daily, extract fixable vulnerabilities, update dependencies, and create remediation pull requests automatically.
Track vulnerability remediation against SLA targets (P0: 24 hours, P1: 7 days, P2: 30 days, P3: 90 days). Monitor overdue vulnerabilities and escalate as needed.
Maintain suppression files (.trivyignore) with documented justifications, review dates, and approval tracking. Implement workflows for false positive triage and approval.
For complete remediation workflows, SLA trackers, and automation scripts, see references/remediation-workflows.md.
building-ci-pipelines
secret-management
infrastructure-as-code
security-hardening
compliance-frameworks
# Trivy: Scan image with severity filter
trivy image --severity HIGH,CRITICAL myapp:latest
# Trivy: Generate SBOM
trivy image --format cyclonedx --output sbom.json myapp:latest
# Trivy: Scan SBOM
trivy sbom sbom.json
# Grype: Scan image
grype myapp:latest --fail-on high
# Syft + Grype: SBOM workflow
syft myapp:latest -o json | grype
# Gitleaks: Scan for secrets
gitleaks detect --source . --verbose# CI/CD: Fail build on Critical
trivy image --exit-code 1 --severity CRITICAL myapp:latest
# Ignore unfixed vulnerabilities
trivy image --ignore-unfixed --severity HIGH,CRITICAL myapp:latest
# Scan only OS packages
trivy image --vuln-type os myapp:latest
# Skip specific directories
trivy fs --skip-dirs node_modules,vendor .This skill provides foundational vulnerability management patterns. For deeper topics:
references/tool-selection.md - Complete decision frameworksreferences/sbom-guide.md - Generation, storage, consumptionreferences/prioritization-framework.md - CVSS/EPSS/KEV automationreferences/ci-cd-patterns.md - GitLab CI, Jenkins, Azure Pipelinesreferences/remediation-workflows.md - SLA tracking, false positivesreferences/policy-as-code.md - OPA examples, security gatesWorking Examples:
examples/trivy/ - Trivy scanning patternsexamples/grype/ - Grype + Syft workflowsexamples/ci-cd/ - Complete pipeline configurationsexamples/sbom/ - SBOM generation and managementexamples/prioritization/ - EPSS and KEV integration scriptsAutomation Scripts:
scripts/vulnerability-report.sh - Generate executive reportsscripts/sla-tracker.sh - Track remediation SLAsscripts/false-positive-manager.sh - Manage suppression rules~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.