Sicherheitsforscher warnen, dass ein massiver Supply-Chain-Angriff namens „Megalodon“ durch automatisierte Commits Malware in mehr als 5.500 GitHub-Repositories eingeschleust hat. Der Angriff missbrauchte GitHub Actions-Workflows, um Stealth-Payloads in die Continuous-Integration-Umgebung einzuschleusen und zielte dabei auf vertrauliche Informationen wie Anmeldeinformationen, CI-Geheimnisse, Schlüssel und Token ab.

Laut einem Bericht der Sicherheitsfirma SafeDep stützte sich Operation Meg auf bösartige GitHub Actions-Workflows, die mit gefälschten automatisierten Commits stapelweise in Ziel-Repositories eingeschleust wurden, was in nur sechs Stunden zu einer konzentrierten Angriffswelle führte. Laut SafeDep haben die Angreifer am 18. Mai innerhalb eines sechsstündigen Fensters mehr als 5.700 böswillige Commits an betroffene Repositories weitergeleitet, was letztlich 5.561 unabhängige Repositories betraf.
Bei dem Angriff wurden mindestens zwei unterschiedliche Nutzlasten eingesetzt. Einer von ihnen wird einen neuen Workflow im Warehouse hinzufügen, sodass dieser automatisch jedes Mal ausgelöst wird, wenn eine Push- oder Pull-Anfrage gestellt wird, wodurch während des Entwicklungs- und Build-Prozesses weiterhin Schadcode ausgeführt wird. Der andere ersetzt die auslösenden Bedingungen des bestehenden Workflows und verwandelt ihn in eine „Schlaf-Hintertür“, die einen Remote-Wake-up-Kanal für Angreifer reserviert, ohne den täglichen Prozess zu beeinträchtigen.
Sobald die Zielumgebung infiziert ist, versucht der böswillige Workflow, CI-Umgebungsvariablen, AWS-Anmeldeinformationen, GCP-Zugriffstokens, Azure-Anmeldeinformationen, private SSH-Schlüssel, Docker- und Kubernetes-Konfigurationen, verschiedene API-Schlüssel, Datenbankverbindungszeichenfolgen sowie Dutzende verschiedener Arten vertraulicher Informationen wie GitHub-Aktionstokens und GitLab CI/CD-Tokens zu stehlen. Sobald diese Informationen durchsickern, könnten sie dazu verwendet werden, die Cloud-Infrastruktur, Codebasen und Produktionsumgebungen weiter zu gefährden.
Laut SafeDep wurde „Megalodon“ bei der Analyse der Open-Source-Chat- und Chatbot-Plattform Tiledesk entdeckt. Den Forschern fiel auf, dass das Projekt zwischen dem 19. und 21. Mai sukzessive manipulierte, bösartige Versionen von NPM-Paketen veröffentlichte und so eine größere Lagereinbruchsoperation dahinter aufdeckte. Das mit dem Angriff in Zusammenhang stehende NPM-Konto heißt eljohnny und die E-Mail-Adresse des Kontos lautet [email protected]. Es wurden sowohl eine saubere Version 2.18.5 als auch eine kontaminierte Version veröffentlicht.
SafeDep wies darauf hin, dass der Angreifer nicht direkt das NPM-Konto selbst kontrollierte, sondern damit begann, das entsprechende GitHub-Repository zu kompromittieren. Nachdem der Quellcode „vergiftet“ worden war, veröffentlichte der Betreuer unwissentlich Schadpakete aus dem infizierten Code, was auch das typische Risiko deutlich machte, dass bei Angriffen auf die Lieferkette „die Upstream-Quelle stillschweigend manipuliert wird“.
Bei der Rückverfolgung der Angriffsquelle stellte SafeDep fest, dass die böswillige Übermittlung, die die Infektionskette auslöste, ebenfalls am 18. Mai erfolgte und der Autor der Übermittlung als „Build-Bot“ identifiziert wurde. Nach der Durchsuchung des entsprechenden Postfachs stellten die Forscher fest, dass an diesem Tag insgesamt 2878 Einsendungen über dieses Postfach und weitere 2841 Einsendungen über ein anderes zugehöriges Postfach erfolgten. Insgesamt wurden am selben Tag 5718 böswillige Einsendungen abgeschlossen.
Technisch gesehen wählte der Angreifer den Workflow-Typ „workflow_dispatch“ in GitHub Actions, um die Hintertür auszulösen. Diese auslösende Methode kann über die GitHub-API aufgerufen werden und der gestohlene GitHub-Token kann verwendet werden, um die ruhende Hintertür jederzeit aus der Ferne zu aktivieren. Noch wichtiger ist, dass dieser Triggertyp von den „Anti-Rekursionsregeln“ von GitHub ausgenommen ist und nicht dadurch eingeschränkt wird, dass er verhindert, dass „durch Token ausgelöste Ereignisse erneut neue Workflows generieren“, was Angreifern mehr Handlungsspielraum bietet.
Während der „Megalodon“-Vorfall aufgedeckt wurde, versuchte man auch auf Ökosystemebene, mit ähnlichen Bedrohungen umzugehen. NPM gab kürzlich bekannt, dass es alle feinkörnigen Zugriffstoken ungültig gemacht hat, die die Zwei-Faktor-Authentifizierung umgehen und über Schreibberechtigungen verfügen, um Angriffe auf die Lieferkette ähnlich „Mini Shai‑Hulud“ zu verhindern. Das Sicherheitsunternehmen Ox Security ist davon überzeugt, dass diese Maßnahme dazu beiträgt, das Risiko eines Kontodiebstahls zu verringern, das zugrunde liegende Risiko jedoch nicht wirklich beseitigt.
Ox Security warnt davor, dass, solange Plattformen das Hochladen und Verteilen von beliebigem Code ohne strenge Überprüfung zulassen, weiterhin bösartiger Code auftauchen wird, der über kompromittierte Repositories verbreitet wird. Das Unternehmen wies darauf hin, dass Angriffe auf die Lieferkette in eine neue Ära eintreten. Der frühere Angriff von TeamPCP auf GitHub war nur der Anfang. Künftig werden Angriffswellen gegen die Entwickler-Community wie ein „Tsunami“ folgen.
Zusätzlich zu diesem Vorfall sind auch andere aktuelle Fälle im Zusammenhang mit der Sicherheit der Lieferkette aufgetaucht, darunter der Einsatz von TanStack-Angriffen zum Diebstahl von Grafana-Code und -Daten sowie mehrere groß angelegte Vergiftungsoperationen gegen NPM-Pakete. Diese aufeinanderfolgenden Vorfälle zeigen, dass Schwachstellen in der Software-Lieferkette und mangelnde Transparenz nach wie vor große Probleme sind, mit denen die gesamte Branche konfrontiert ist.