Neue Untersuchungen haben ergeben, dass mehr als 15.000 Go-Modul-Repositories auf GitHub für einen Angriff namens Repojacking anfällig sind.
"Mehr als 9.000 Software-Repositories sind anfällig für Repojacking-Angriffe aufgrund von Änderungen des GitHub-Benutzernamens", so ein Bericht von Jacob Baines, CTO von VulnCheck." Mehr als 6.000 Repositories sind aufgrund von Account-Löschungen für Repojacking anfällig.
Insgesamt enthalten diese Repositories nicht weniger als 800.000 Go-Modulversionen.
Repojacking ist ein Portmanteau aus "Repository" und "Hijacking", einer Angriffstechnik, die es böswilligen Akteuren ermöglicht, Änderungen und Löschungen von Kontonutzernamen auszunutzen, um ein Repository mit demselben Namen und bereits existierenden Benutzernamen zu erstellen, um einen Angriff auf die Open-Source-Software-Lieferkette zu starten.
Anfang Juni dieses Jahres deckte das Cloud-Sicherheitsunternehmen Aqua auf, dass Millionen von Software-Repositories auf GitHub wahrscheinlich für diese Bedrohung anfällig sind, und forderte Organisationen, die Namensänderungen vornehmen, dringend auf, sicherzustellen, dass sie den vorherigen Namen als Platzhalter beibehalten, um solchen Missbrauch zu verhindern.
In der Programmiersprache Go geschriebene Module sind besonders anfällig für Repojacking, da diese Module im Gegensatz zu anderen Paketverwaltungslösungen wie npm oder PyPI dezentralisiert sind, da sie auf Versionskontrollplattformen wie GitHub oder Bitbucket veröffentlicht werden.
"Jeder kann Go-Modulspiegel und pkg.go.dev anweisen, Moduldetails zwischenzuspeichern", so Baines. Ein Angreifer könnte einen neuen unbenutzten Benutzernamen registrieren, das Modul-Repository kopieren und neue Module auf proxy.golang.org und go.pkg.dev veröffentlichen.
Um Entwickler daran zu hindern, potenziell unsichere Pakete herunterzuladen, hat GitHub eine Gegenmaßnahme namens "Popular Repository Namespace Retirement" ergriffen, die die Verwendung von zurückgezogenen Namespace-Namen blockiert Versuche, Repositorys zu erstellen, die zurückgezogene Namespace-Namen verwenden, die mehr als 100 Mal geklont wurden, bevor sie umbenannt oder aus dem Konto des Eigentümers gelöscht wurden.
VulnCheck weist jedoch darauf hin, dass dieser Schutz nicht sinnvoll ist, wenn es um Go-Module geht, da Modulspiegel diese in den Zwischenspeicher (Cache) stellen und somit eine Interaktion mit dem Repository oder ein Klonen des Repositorys vermeiden. Mit anderen Worten: Es könnte beliebte Go-basierte Module geben, die weniger als 100 Mal geklont wurden, was zu einer Art Umgehung führt.
"Leider", so Baines, "ist die Reduzierung all dieser Repojackings eine Verantwortung, die Go oder GitHub übernehmen muss." Dritte können nicht vernünftigerweise 15.000 GitHub-Konten registrieren. Bis dahin müssen Go-Entwickler die Module kennen, die sie verwenden, und den Status des Repositorys, aus dem das Modul stammt.
Lasso Security hat nach eigenen Angaben 1.681 exponierte API-Token auf Hugging Face und GitHub gefunden, darunter Token von Google, Meta, Microsoft und VMware, die potenziell für Angriffe auf die Lieferkette, das Vergiften von Trainingsdaten und den Diebstahl von Modellen ausgenutzt werden können.
Originalartikel von xbear, bei Vervielfältigung bitte angeben: https://cncso.com/de/15000-go-modul-repojacking-angriff-auf-github-html