offensive-tools/vuln-scanners/grype/SKILL.md
grype: fast vulnerability scanner for container images, filesystems, SBOMs, and directories. Use when you need CVE scanning with composite risk scoring (CVSS + EPSS + KEV), clean ignore rules, and tight syft/SBOM integration. Lower false positives than trivy for pure vulnerability scanning.
npx skillsauth add aeondave/malskill grypeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fast vulnerability scanner with composite risk scoring — CVEs in images, code, SBOMs.
# Scan Docker image
grype nginx:latest
# Scan directory
grype dir /path/to/project
# Scan SBOM file
grype sbom:sbom.json
# Only show fixable HIGH+
grype nginx:latest --only-fixed -f high
grype <image> # Docker/OCI image (pulls from registry)
grype dir:<path> # Local filesystem/directory
grype sbom:<file> # SBOM file (SPDX or CycloneDX)
grype docker-archive:<file> # Saved Docker archive (.tar)
grype registry:<image> # Force registry source
| Flag | Purpose |
|------|---------|
| -o, --output <fmt> | Output format: table / json / sarif / cyclonedx / template |
| --file <path> | Write output to file |
| -f, --fail-on <sev> | Exit 2 if severity ≥ level: critical/high/medium/low/negligible |
| --only-fixed | Show only vulns with available fix |
| --only-notfixed | Show only unfixed vulns |
| --ignore-states <states> | Ignore fix states: wont-fix,unknown,fixed,not-affected |
| -s, --scope <scope> | Layer scope: squashed (default) / all-layers |
| --sort-by <key> | Sort: severity / epss / risk / kev / package |
| --add-cpes-if-none | Generate CPEs for packages missing them |
| --by-cve | Group by CVE instead of vulnerability ID |
| --platform <os/arch> | Platform for multi-arch images (linux/amd64) |
| --distro <dist:ver> | Override distro detection |
| --vex <file> | Apply VEX document for result filtering |
| --show-suppressed | Display suppressed findings |
| -q, --quiet | Suppress logs |
| -v / -vv | Verbose / debug |
| -c, --config <file> | Config file path |
grype db status # Show current DB metadata
grype db check # Check for updates
grype db update # Download latest DB
grype db list # Available databases
grype db search CVE-2021-44228 # Query DB for specific CVE
grype db search --package curl # Find vulns for package
grype provides composite risk score (0.0–10.0) combining:
# Sort by risk score (highest = most actionable)
grype nginx:latest --sort-by risk
# Sort by EPSS (exploitation likelihood)
grype nginx:latest --sort-by epss
# Sort by KEV status first
grype nginx:latest --sort-by kev
# CI gate: fail on HIGH+ unfixed
grype myapp:latest --only-fixed -f high
echo $? # 0 = clean, 2 = findings at threshold
# JSON report with all details
grype nginx:latest -o json --file vuln_report.json
# SARIF for GitHub Advanced Security
grype myapp:latest -o sarif --file grype.sarif
# Scan with ignore rules
grype myapp:latest -c .grype.yaml
# Scan all image layers (not just squashed)
grype myapp:latest --scope all-layers
# Scan SBOM from syft
syft nginx:latest -o json | grype sbom:- --output json
# Explain a specific CVE
grype explain --id CVE-2021-44228
# Check if image has any KEV-listed vulns
grype myapp:latest --sort-by kev -o table
grype nginx:latest -o json --file scan.json
# Extract findings
cat scan.json | jq '.matches[] | {cve: .vulnerability.id, pkg: .artifact.name, severity: .vulnerability.severity, fix: .vulnerability.fix.versions[0]}'
# Count by severity
cat scan.json | jq '[.matches[].vulnerability.severity] | group_by(.) | map({sev: .[0], count: length})'
# Only CRITICAL with fixes
cat scan.json | jq '.matches[] | select(.vulnerability.severity=="Critical" and (.vulnerability.fix.versions | length > 0)) | {cve: .vulnerability.id, pkg: .artifact.name, fix: .vulnerability.fix.versions[0]}'
| File | When to load |
|------|--------------|
| references/config-ignore.md | .grype.yaml ignore rules, registry auth, syft integration, VEX |
data-ai
Scoped routing: Linux operator; hosts, sessions, users, services, packages, logs, containers, SSH, network paths, privilege evidence.
development
Offensive methodology for ICS/OT/SCADA environments in authorized industrial penetration testing and red team operations. Use when assessing PLCs, RTUs, HMIs, engineering workstations, historians, or field devices running Modbus, DNP3, EtherNet/IP, S7comm/S7+, Profinet, IEC 60870-5-104, BACnet, or OPC-UA. Covers passive OT network enumeration, protocol-level device interrogation, PLC coil/register read-write attacks, HMI session exploitation, historian and engineering workstation compromise, and safe escalation rules for critical infrastructure scope. Does not cover: general IT network exploitation (network-technique), physical hardware interfaces UART/JTAG/SPI (hardware-technique), wireless sensor network attacks (wireless-technique), RF/SDR signal analysis (hardware-ctf or wireless-technique), or CTF-framed ICS lab tasks (ics-ctf).
tools
Offensive methodology for authorized game security assessments, game client security research, and game-adjacent penetration testing in real-world engagements. Use when assessing game clients for cheating vulnerabilities, testing anti-cheat effectiveness, auditing game server protocols for score manipulation or economic fraud, reverse engineering game DRM or license validation, analyzing game save file protection, or assessing game mod/plugin security. Covers: process memory scanning and manipulation (Cheat Engine methodology), game binary reversing for license and DRM bypass, game network protocol analysis and packet replay, anti-cheat mechanism analysis, save file format reversing and tampering, speed hack and value injection techniques. Does NOT cover: CTF game challenges (game-ctf), game engine source code auditing (web-exploit-technique or vuln-search-technique for the backend), or general binary exploitation (pwn-ctf or reversing-technique).
development
Auth assessment: hardware/embedded methodology; UART/JTAG/SWD/SPI/I2C, firmware extraction, boot/debug paths, embedded OS evidence.