Skip to content

ci(scout): scan for CVEs in one step, ask for base-image advice in another - #76

Merged
maksimtech merged 1 commit into
mainfrom
ci/scout-recommendations-advisory
Oct 28, 2026
Merged

maksimtech merged 1 commit into
mainfrom
ci/scout-recommendations-advisory

Conversation

@maksimtech

Copy link
Copy Markdown
Owner

From 2026-10-24 every run of docker-scout.yml failed, and GitHub mailed a failure for each push to main (seven today). The CVE scan worked and was printed; then the scout CLI crashed in the recommendations part — panic: runtime error: invalid memory address or nil pointer dereference in internal/format/recommendations/markdown.go — on the images built on python:3.12-slim-trixie, with scout-action 1.27 and 1.28 alike. The Security Posture gate stayed green throughout: the SARIF was uploaded before the crash.

  • docker-scout.yml: command: cves in its own step, writing the SARIF; if it fails, the job does. command: recommendations in a second step with continue-on-error: true and no SARIF. The comment that explains why the recommendations are worth having moves with them.
  • docker.yml scanned with cves alone and is unchanged; a test says so.
  • CHANGELOG: under [2026.47], not yet released, so it ships with this release.

TDD: tests/test_scout_steps.py (4 tests on the parsed workflows): not both commands in one step; the scan writes the SARIF and has no continue-on-error; the recommendations have it and write no SARIF; docker.yml stays cves only. Red on the first and third before the change; full suite 719 passed.

The same crash hits releaseradar, apkradar and cookieradar (also python:3.12); the same change follows there.

🤖 Generated with Claude Code

…other

From 2026-10-24 every run of docker-scout.yml failed, and GitHub mailed a
failure for each push to main: the CVE scan worked and was printed, then
the scout CLI crashed in the recommendations part (panic, nil pointer in
internal/format/recommendations/markdown.go) on images built on
python:3.12-slim-trixie, with scout-action 1.27 and 1.28 alike.

The scan is now a step of its own (command: cves) that writes the SARIF
and fails the job if it fails. The recommendations are a second step with
continue-on-error: a crash in advice shows in the log and no longer turns
a working scan red. docker.yml scanned with cves alone and is unchanged.
tests/test_scout_steps.py holds the two apart.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codspeed

codspeed Bot commented Oct 28, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 4 untouched benchmarks


Comparing ci/scout-recommendations-advisory (48bda14) with main (a80dc77)

Open in CodSpeed

@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecov Bot commented Oct 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@maksimtech
maksimtech merged commit 2339012 into main Oct 28, 2026
27 of 28 checks passed
@maksimtech
maksimtech deleted the ci/scout-recommendations-advisory branch October 28, 2026 19:00
maksimtech added a commit to maksimtech/cookieradar that referenced this pull request Oct 28, 2026
…other (#59)

From 2026-10-24 every run of docker-scout.yml failed, and GitHub mailed a
failure for each push to main: the CVE scan worked and was printed, then
the scout CLI crashed in the recommendations part (panic, nil pointer in
internal/format/recommendations/markdown.go) on images built on
python:3.12-slim-trixie.

The scan is now a step of its own (command: cves) that writes the SARIF
and fails the job if it fails. The recommendations are a second step with
continue-on-error: a crash in advice shows in the log and no longer turns
a working scan red. tests/test_scout_steps.py holds the two apart. Same
change as maksimtech/mailradar#76.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
maksimtech added a commit to maksimtech/apkradar that referenced this pull request Oct 28, 2026
…other (#52)

From 2026-10-24 every run of docker-scout.yml failed, and GitHub mailed a
failure for each push to main: the CVE scan worked and was printed, then
the scout CLI crashed in the recommendations part (panic, nil pointer in
internal/format/recommendations/markdown.go) on images built on
python:3.12-slim-trixie.

The scan is now a step of its own (command: cves) that writes the SARIF
and fails the job if it fails. The recommendations are a second step with
continue-on-error: a crash in advice shows in the log and no longer turns
a working scan red. tests/test_scout_steps.py holds the two apart. Same
change as maksimtech/mailradar#76.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
maksimtech added a commit to maksimtech/releaseradar that referenced this pull request Oct 28, 2026
…other (#28)

From 2026-10-24 every run of docker-scout.yml failed, and GitHub mailed a
failure for each push to main: the CVE scan worked and was printed, then
the scout CLI crashed in the recommendations part (panic, nil pointer in
internal/format/recommendations/markdown.go) on images built on
python:3.12-slim-trixie.

The scan is now a step of its own (command: cves) that writes the SARIF
and fails the job if it fails. The recommendations are a second step with
continue-on-error: a crash in advice shows in the log and no longer turns
a working scan red. tests/test_scout_steps.py holds the two apart. Same
change as maksimtech/mailradar#76.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant