
Ein Sicherheitstool zur Erkennung bösartiger Go-Pakete, das Prüfsummen in go.sum gegen den ursprünglichen Quellcode verifiziert.
Ein Sicherheitstool zur Erkennung bösartiger Go-Pakete, indem Prüfsummen in go.sum mit dem ursprünglichen Quellcode abgeglichen werden – unter Umgehung des Go-Module-Proxy-Cache.
Dieses Tool schützt vor Supply-Chain-Angriffen, die den Go-Module-Proxy-Cache ausnutzen, wie kürzlich durch das bösartige Paket github.com/boltdb-go/bolt demonstriert wurde.
Diese Angriffe nutzen den unbegrenzten Caching-Mechanismus des Go-Module-Proxys aus, um bösartigen Code auszuliefern, selbst nachdem das Quell-Repository bereinigt wurde.
Weitere Details zu dieser Art von Angriff finden Sie unter:
Das Tool funktioniert folgendermaßen:
go install github.com/knqyf263/go-mal-pkgs@latest
Grundlegende Verwendung:
go-mal-pkgs /pfad/zu/ihrem/go/projekt
Das Tool analysiert die go.sum-Datei Ihres Projekts und überprüft die Integrität jedes Moduls.
Erfolgreiche Überprüfung:
$ go-mal-pkgs /pfad/zu/projekt
Checking golang.org/x/[email protected]...
✅ Verified golang.org/x/[email protected]
Checking github.com/stretchr/[email protected]...
✅ Verified github.com/stretchr/[email protected]
Erkennung eines potenziell bösartigen Pakets:
$ go-mal-pkgs /pfad/zu/kompromittiertem-projekt
Checking github.com/boltdb-go/[email protected]...
⚠️ WARNING: checksum mismatch for github.com/boltdb-go/[email protected]:
expected: h1:abc123def456...
actual: h1:xyz789uvw012...
Das Tool implementiert Go's Prüfsummen-Verifikationsalgorithmus mithilfe des Pakets golang.org/x/mod/sumdb/dirhash. Wenn es eine Abweichung zwischen der Prüfsumme in Ihrer go.sum-Datei und der aus dem Quell-Repository berechneten Prüfsumme erkennt, könnte dies auf Folgendes hinweisen:
Dies ist ein experimentelles Tool, das als Proof of Concept als Reaktion auf die jüngste Ausnutzung des Go-Module-Proxy-Cache erstellt wurde. Die gesamte Codebasis wurde mit dem KI-Assistenten Claude 3.5 Sonnet generiert.