Deaktivierung statt Bereinigung

Mini Shai-Hulud: Infizierte GitHub Actions reaktiviert

Github
Bildquelle: PJ McDonnell/Shutterstock.com

Zwei im Mai kompromittierte GitHub Actions waren ab 16. September wieder abrufbar. Ihre Release-Tags verwiesen weiterhin auf Schadcode.

Zwei GitHub Actions, die im Mai bei der Lieferkettenkampagne Mini Shai-Hulud kompromittiert wurden, waren vom 16. bis 25. September wieder abrufbar, obwohl sie noch Schadcode enthielten. Das berichtet das Sicherheitsunternehmen Socket. Betroffen sind actions-cool/issues-helper und actions-cool/maintain-one-comment.

Anzeige

Deaktivierung statt Bereinigung

Die Angreifer hatten am 18. Mai schädliche Inhalte in beide Actions eingeschleust. Das GitHub-Sicherheitsteam deaktivierte die Repositories am 19. Mai. Workflows, die die Actions nutzen, schlugen danach bereits beim Einrichten des Jobs fehl, bevor Code ausgeführt wurde. Die Release-Tags selbst wurden jedoch nicht bereinigt.

Am 16. September zwischen 11:09 und 18:16 Uhr mitteleuropäischer Sommerzeit wurden beide Repositories wieder freigeschaltet.

„Sie verweisen weiterhin auf die am 18. Mai eingeschleusten schädlichen Inhalte, sodass jeder Workflow, der eine der beiden Actions über ein Versions-Tag referenziert, bei seinem nächsten Lauf wieder damit begann, den Schadcode herunterzuladen und auszuführen.“

Anzeige

Socket

Warum die Repositories reaktiviert wurden, konnte das Unternehmen nicht klären. Eine Anfrage der legitimen Maintainer sei möglich, aber nicht bestätigt. Am 25. September wurden beide Actions erneut deaktiviert.

Schadcode läuft vor der eigentlichen Aufgabe

Das Tag v2.2.1 von issues-helper verweist auf einen Commit mit verschleiertem Schadcode in der Datei index.js. Die Action installiert die JavaScript-Laufzeit Bun und führt das Skript im CI-Runner aus, bevor sie ihre eigentliche Aufgabe erledigt. Der Workflow erscheint dadurch weiterhin erfolgreich. Die Schadsoftware zielt auf Tokens, Zugangsdaten und CI/CD-Secrets von Entwicklern. Bei der Mini-Shai-Hulud-Kampagne im Mai waren 323 npm-Pakete in 639 Versionen infiziert worden.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Rund 15.000 abhängige Repositories

Laut dem Abhängigkeitsgraphen von GitHub nutzen etwa 15.000 Repositories issues-helper. Wie viele davon die Action über ein veränderliches Tag statt über einen festen Commit-Hash einbinden, ist nicht bekannt. Da beide Actions Issues und Kommentare verwalten, laufen die zugehörigen Workflows meist täglich oder bei jedem neuen Issue oder Pull Request. Bei öffentlichen Repositories kann jeder GitHub-Nutzer solche Workflows auslösen, indem er ein Issue eröffnet.

Nicht betroffen sind Workflows, die die Actions auf den vollständigen Commit-Hash einer Version von vor dem 18. Mai festlegen.

Empfohlene Schritte

Socket empfiehlt, in allen Workflow-Dateien nach Verweisen auf beide Actions zu suchen und diese zu entfernen oder auf einen geprüften sauberen Commit festzulegen. Für Workflows, die seit dem 16. September mit einem Tag-Verweis liefen, sollten alle zugänglichen Secrets rotiert und die Berechtigungen des GITHUB_TOKEN geprüft werden. Hinweise auf eine Ausführung sind Läufe, deren Dauer plötzlich von Sekunden auf Minuten steigt, sowie Einträge zu oven-sh/setup-bun oder bun run $GITHUB_ACTION_PATH/index.js in den Runner-Logs.

(red)

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.