OPS-06: fix — fehlendes fail=1 im govulncheck-unavailable-zweig, govulncheck-version gepinnt statt @latest (Go-Versionskonflikt auf 131 gefunden)

This commit is contained in:
sysops
2026-08-28 23:04:49 +02:00
parent 77ecf42365
commit 9de84f6994
3 changed files with 28 additions and 3 deletions
+5 -1
View File
@@ -17,7 +17,11 @@ jobs:
with: with:
go-version: "1.22" go-version: "1.22"
- name: govulncheck installieren - name: govulncheck installieren
run: go install golang.org/x/vuln/cmd/govulncheck@latest # @latest kann eine govulncheck-Version verlangen, die neuer ist als
# die hier verwendete Go-Toolchain (z.B. "requires go >= 1.25.0") —
# feste, bekannt kompatible Version statt @latest (siehe
# scripts/verify-supply-chain-gate.sh, Fund vom 2026-08-28 auf dem Testhost).
run: go install golang.org/x/vuln/cmd/govulncheck@v1.1.3
- name: Go-Module auf bekannte Schwachstellen pruefen - name: Go-Module auf bekannte Schwachstellen pruefen
shell: bash shell: bash
run: | run: |
+12
View File
@@ -56,3 +56,15 @@ Keine Änderungen ermittelbar.
- testdata/vulnfixture-go/main.go | 7 +++++-- - testdata/vulnfixture-go/main.go | 7 +++++--
--- ---
## 2026-08-28 23:02 23:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** code
### Commits
- 77ecf42 OPS-06: fix — verify-supply-chain-gate.sh unterscheidet jetzt echten Fund von Werkzeugfehler (pruefte vorher nur exit-code, 'command not found' galt faelschlich als bestanden)
### Geänderte Dateien
- DEVLOG.md | 12 ++++++++++++
- scripts/verify-supply-chain-gate.sh | 52 +++++++++++++++++++++++++++++++++++++---------------
---
+11 -2
View File
@@ -15,7 +15,11 @@ fail=0
echo "=== Go-Fixture: golang.org/x/text v0.3.7, GO-2022-1059 (Symbolpfad language.ParseAcceptLanguage) ===" echo "=== Go-Fixture: golang.org/x/text v0.3.7, GO-2022-1059 (Symbolpfad language.ParseAcceptLanguage) ==="
if ! command -v govulncheck >/dev/null 2>&1; then if ! command -v govulncheck >/dev/null 2>&1; then
echo "govulncheck fehlt, installiere..." echo "govulncheck fehlt, installiere..."
if ! go install golang.org/x/vuln/cmd/govulncheck@latest; then # @latest kann eine govulncheck-Version verlangen, die neuer ist als die
# lokal installierte Go-Toolchain (z. B. "requires go >= 1.25.0"). Feste,
# bekannt kompatible Version statt @latest, damit die Installation nicht
# von der jeweiligen Go-Version des Hosts abhaengt.
if ! go install golang.org/x/vuln/cmd/govulncheck@v1.1.3; then
echo "FEHLER: govulncheck konnte nicht installiert werden — Pruefung nicht durchfuehrbar, kein Ersatz-'OK'." echo "FEHLER: govulncheck konnte nicht installiert werden — Pruefung nicht durchfuehrbar, kein Ersatz-'OK'."
fail=1 fail=1
fi fi
@@ -35,7 +39,12 @@ if command -v govulncheck >/dev/null 2>&1; then
echo "OK: govulncheck hat GO-2022-1059 tatsaechlich als Fund gemeldet, exit code $go_exit (!= 0, Gate wuerde blockieren)" echo "OK: govulncheck hat GO-2022-1059 tatsaechlich als Fund gemeldet, exit code $go_exit (!= 0, Gate wuerde blockieren)"
fi fi
else else
echo "govulncheck weiterhin nicht verfuegbar — Go-Teil der Pruefung uebersprungen, zaehlt als Fehlschlag." # Bug (gefunden 2026-08-28): dieser Zweig druckte vorher nur eine Meldung,
# setzte aber "fail" NICHT — das Skript endete trotzdem mit Exit-Code 0 und
# "PRUEFUNG 1 BESTANDEN", obwohl der Go-Teil real nicht lief. Exakt derselbe
# Fehlerklasse (Werkzeugfehler zaehlt als Erfolg), nur eine Ebene hoeher.
echo "FEHLER: govulncheck weiterhin nicht verfuegbar — Go-Teil der Pruefung nicht durchgefuehrt, kein Ersatz-'OK'."
fail=1
fi fi
echo echo