Skip to content

Commit c3a85af

Browse files
fix: correct Trivy SARIF severity mapping
- error=CRITICAL (not CRITICAL/HIGH) - warning=HIGH (not MEDIUM) - note=MEDIUM/LOW (not just LOW) Also update failure step to check both critical and high severity.
1 parent 66d5873 commit c3a85af

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

.github/workflows/build.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -211,15 +211,15 @@ jobs:
211211
echo "" >> $GITHUB_STEP_SUMMARY
212212
if [ -f "trivy-results.sarif" ]; then
213213
TOTAL=$(jq -r '.runs[0].results | length' trivy-results.sarif 2>/dev/null || echo "0")
214-
# Trivy SARIF level mapping: error=CRITICAL/HIGH, warning=MEDIUM, note=LOW
214+
# Trivy SARIF level mapping: error=CRITICAL, warning=HIGH, note=MEDIUM/LOW
215215
CRITICAL=$(jq -r '[.runs[0].results[] | select(.level == "error")] | length' trivy-results.sarif 2>/dev/null || echo "0")
216-
MEDIUM=$(jq -r '[.runs[0].results[] | select(.level == "warning")] | length' trivy-results.sarif 2>/dev/null || echo "0")
217-
LOW=$(jq -r '[.runs[0].results[] | select(.level == "note")] | length' trivy-results.sarif 2>/dev/null || echo "0")
216+
HIGH=$(jq -r '[.runs[0].results[] | select(.level == "warning")] | length' trivy-results.sarif 2>/dev/null || echo "0")
217+
MEDIUM_LOW=$(jq -r '[.runs[0].results[] | select(.level == "note")] | length' trivy-results.sarif 2>/dev/null || echo "0")
218218
echo "| Severity | Count |" >> $GITHUB_STEP_SUMMARY
219219
echo "|----------|-------|" >> $GITHUB_STEP_SUMMARY
220-
echo "| :red_circle: Critical/High | $CRITICAL |" >> $GITHUB_STEP_SUMMARY
221-
echo "| :orange_circle: Medium | $MEDIUM |" >> $GITHUB_STEP_SUMMARY
222-
echo "| :yellow_circle: Low | $LOW |" >> $GITHUB_STEP_SUMMARY
220+
echo "| :red_circle: Critical | $CRITICAL |" >> $GITHUB_STEP_SUMMARY
221+
echo "| :orange_circle: High | $HIGH |" >> $GITHUB_STEP_SUMMARY
222+
echo "| :yellow_circle: Medium/Low | $MEDIUM_LOW |" >> $GITHUB_STEP_SUMMARY
223223
echo "| **Total** | **$TOTAL** |" >> $GITHUB_STEP_SUMMARY
224224
# Show details if there are findings
225225
if [ "$TOTAL" -gt 0 ]; then
@@ -270,11 +270,16 @@ jobs:
270270
fi
271271
done
272272
fi
273-
# Check Trivy for error level (critical/high) findings
273+
# Check Trivy for critical (error) and high (warning) findings
274274
if [ -f "trivy-results.sarif" ]; then
275275
TRIVY_CRITICAL=$(jq -r '[.runs[0].results[] | select(.level == "error")] | length' trivy-results.sarif 2>/dev/null || echo "0")
276+
TRIVY_HIGH=$(jq -r '[.runs[0].results[] | select(.level == "warning")] | length' trivy-results.sarif 2>/dev/null || echo "0")
276277
if [ "$TRIVY_CRITICAL" -gt 0 ]; then
277-
echo "::error::Trivy found $TRIVY_CRITICAL critical/high severity issue(s)"
278+
echo "::error::Trivy found $TRIVY_CRITICAL critical severity issue(s)"
279+
FAILED=true
280+
fi
281+
if [ "$TRIVY_HIGH" -gt 0 ]; then
282+
echo "::error::Trivy found $TRIVY_HIGH high severity issue(s)"
278283
FAILED=true
279284
fi
280285
fi

0 commit comments

Comments
 (0)