Commit 98aff27
fix(agent): pin base image digest, always rebuild for security scan (#132)
* fix(agent): pin base image digest, always rebuild for security scan
The pre-push security scan failed on stale Docker layer cache — fixable
CVEs in the base image weren't picked up because the `security:image`
task skipped rebuilds when the image already existed locally.
- Pin `python:3.13-slim` to SHA256 digest for reproducible builds
- Remove `docker image inspect || build` conditional — always rebuild
ensures `apt-get upgrade` picks up latest Debian security patches
- Add `.grype.yaml` with documented suppressions for won't-fix CVEs
(glibc, curl, ncurses, libexpat, libtasn1, GnuTLS, GnuPG, CPython)
The existing `apt-get upgrade --no-install-recommends` in the Dockerfile
already handles fixable CVEs — the root cause was stale cache, not
missing upgrade logic.
Fixes #92
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(agent): remove dead .grype.yaml config
The file is not picked up by any scanner — grype auto-discovers from
CWD (repo root), not agent/, and the image scan uses trivy with
--ignore-unfixed which already handles won't-fix CVEs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: bgagent <345885+scottschreckengaust@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 87645ea commit 98aff27
2 files changed
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| |||
0 commit comments