Angriff auf die Lieferkette zielt auf Entwickler mit bösartigen Ruby Gems und Go-Modulen ab
Ein neuer Angriff auf die Softwarelieferkette wurde aufgedeckt, der bösartige Ruby Gems und Go-Module nutzt, um Entwickler und CI/CD-Umgebungen ins Visier zu nehmen. Der Angriff, der dem GitHub-Konto **BufferZoneCorp** zugeschrieben wird, zielt darauf ab, Anmeldeinformationen zu stehlen, GitHub Actions zu manipulieren und SSH-Persistenz einzurichten.

### Bösartige Pakete identifiziert
Das vom Angreifer kontrollierte GitHub-Konto "**BufferZoneCorp**" veröffentlichte eine Reihe bösartiger Pakete sowohl im RubyGems- als auch im Go-Modul-Ökosystem. Während die Pakete inzwischen aus RubyGems entfernt und blockiert wurden, ist es entscheidend, das Ausmaß des Angriffs zu verstehen. Die folgenden Pakete wurden identifiziert:
* **Ruby:**
* knot-activesupport-logger
* knot-devise-jwt-helper
* knot-rack-session-store
* knot-rails-assets-pipeline
* knot-rspec-formatter-json
* knot-date-utils-rb (Sleeper gem)
* knot-simple-formatter (Sleeper gem)
* **Go:**
* github[.]com/BufferZoneCorp/go-metrics-sdk
* github[.]com/BufferZoneCorp/go-weather-sdk
* github[.]com/BufferZoneCorp/go-retryablehttp
* github[.]com/BufferZoneCorp/go-stdlib-ext
* github[.]com/BufferZoneCorp/grpc-client
* github[.]com/BufferZoneCorp/net-helper
* github[.]com/BufferZoneCorp/config-loader
* github[.]com/BufferZoneCorp/log-core (Sleeper module)
* github[.]com/BufferZoneCorp/go-envconfig (Sleeper module)
Diese Pakete wurden entwickelt, um legitime und bekannte Module wie `activesupport-logger`, `devise-jwt`, `go-retryablehttp`, `grpc-client` und `config-loader` zu imitieren, was die Wahrscheinlichkeit erhöht, dass Entwickler sie versehentlich herunterladen.
### Angriffsvektoren und Payload-Details
Laut dem Sicherheitsforscher Kirill Boychenko von **Socket** "ist das Konto Teil einer Kampagne zur Kompromittierung der Softwarelieferkette, die Entwickler, CI-Runner und Build-Umgebungen in zwei Ökosystemen ins Visier nimmt."
Die Ruby Gems sind so konstruiert, dass sie automatisch sensible Informationen sammeln, darunter Umgebungsvariablen, SSH-Schlüssel, **AWS**-Secrets, `.npmrc`, `.netrc`, **GitHub** CLI-Konfigurationen und RubyGems-Anmeldeinformationen während der Installation. Diese gestohlenen Daten werden dann an einen vom Angreifer kontrollierten Webhook-Endpunkt exfiltriert.
Die Go-Module weisen eine breitere Palette bösartiger Fähigkeiten auf. Dazu gehören die Manipulation von **GitHub** Actions-Workflows, das Einschleusen gefälschter Go-Wrapper, der Diebstahl von Entwicklerdaten und das Hinzufügen eines hartkodierten SSH-Public-Keys zur Datei `~/.ssh/authorized_keys`, was unbefugten Fernzugriff ermöglicht. Die Payloads unterscheiden sich zwischen den Modulen.
Boychenko erklärte weiter: "Das Modul wird über init() ausgeführt, erkennt GITHUB_ENV und GITHUB_PATH, setzt HTTP_PROXY und HTTPS_PROXY, schreibt eine gefälschte Go-Executable in ein Cache-Verzeichnis und fügt dieses Verzeichnis zum Workflow-Pfad hinzu, sodass der Wrapper vor dem echten Binärprogramm ausgewählt wird. Dieser Wrapper kann dann spätere Go-Ausführungen abfangen oder beeinflussen, während er die Kontrolle an das legitime Binärprogramm weitergibt, um den Job nicht zu unterbrechen."
### Abhilfemaßnahmen
Benutzern, die eines der identifizierten Pakete installiert haben, wird dringend empfohlen, die folgenden Schritte zu unternehmen:
* Entfernen Sie die Pakete sofort von ihren Systemen.
* Überprüfen Sie die Systeme gründlich auf Anzeichen von unbefugtem Zugriff auf sensible Dateien oder Änderungen an der Datei `~/.ssh/authorized_keys`.
* Rotieren Sie alle potenziell kompromittierten Anmeldeinformationen, einschließlich SSH-Schlüsseln, API-Tokens und Passwörtern.
* Überprüfen Sie sorgfältig die Netzwerkprotokolle auf ausgehenden HTTPS-Verkehr, der auf den identifizierten Exfiltrationspunkt gerichtet ist.