sec-open/Vulnerability Diff (Syft+Grype)

Compare vulnerabilities between two refs (base/head) and output a Markdown table, JSON diff, and upload artifacts

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
base_refBase ref/branch/sha to compare against (e.g., main)yes
head_refHead ref/branch/sha to compareyes
pathSubdirectory to scan (monorepo). Default: repo rootno.
build_commandOptional build command before scanningno""
min_severityMinimum severity to report: LOW|MEDIUM|HIGH|CRITICAL (inclusive)noLOW
write_summaryWrite Markdown table to GITHUB_STEP_SUMMARYnotrue
upload_artifactUpload SBOMs, grype outputs and a full report as artifactnotrue
artifact_nameArtifact namenovuln-diff-artifacts
graph_max_nodesMax nodes to include in the Mermaid dependency graphno150
report_pdfAlso render report.pdf using Puppeteer, default truenotrue
setup_scriptShell script to run inside each worktree (BASE and HEAD) before build/SBOMno""
pr_commentPost/Update a reusable PR comment with NEW vulnerabilitiesnofalse
pr_comment_markerHidden marker used to find the existing reusable commentno<!-- vuln-diff-action:comment -->
github_tokenGitHub token with permission to write PR comments (defaults to GITHUB_TOKEN)no""
slack_webhook_urlSlack Incoming Webhook URL (if set, notify on NEW vulns)no""
slack_channelSlack channel override (optional, default from webhook config)no""
namedescription
new_countNumber of NEW vulnerabilities introduced by head over base
removed_countNumber of vulnerabilities REMOVED by head vs base
unchanged_countNumber of unchanged vulnerabilities
diff_markdown_tableMarkdown table with Severity | VulnerabilityID | package:version | branches
diff_jsonJSON diff payload
base_shaResolved base commit SHA
head_shaResolved head commit SHA
base_inputRaw base input ref
head_inputRaw head input ref