From 9de84f69947e5f32526f64989eb30f4493b431f8 Mon Sep 17 00:00:00 2001 From: sysops Date: Fri, 28 Aug 2026 23:04:49 +0200 Subject: [PATCH] =?UTF-8?q?OPS-06:=20fix=20=E2=80=94=20fehlendes=20fail=3D?= =?UTF-8?q?1=20im=20govulncheck-unavailable-zweig,=20govulncheck-version?= =?UTF-8?q?=20gepinnt=20statt=20@latest=20(Go-Versionskonflikt=20auf=20131?= =?UTF-8?q?=20gefunden)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/govulncheck.yml | 6 +++++- DEVLOG.md | 12 ++++++++++++ scripts/verify-supply-chain-gate.sh | 13 +++++++++++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/govulncheck.yml b/.gitea/workflows/govulncheck.yml index bfd1f5c..21e0e97 100644 --- a/.gitea/workflows/govulncheck.yml +++ b/.gitea/workflows/govulncheck.yml @@ -17,7 +17,11 @@ jobs: with: go-version: "1.22" - 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 shell: bash run: | diff --git a/DEVLOG.md b/DEVLOG.md index 2556863..005f699 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -56,3 +56,15 @@ Keine Änderungen ermittelbar. - 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 +++++++++++++++++++++++++++++++++++++--------------- + +--- diff --git a/scripts/verify-supply-chain-gate.sh b/scripts/verify-supply-chain-gate.sh index 8db1baf..feb4721 100755 --- a/scripts/verify-supply-chain-gate.sh +++ b/scripts/verify-supply-chain-gate.sh @@ -15,7 +15,11 @@ fail=0 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 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'." fail=1 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)" fi 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 echo