
Terraform-Provider schleusen Malware ein – Cloud-Zugänge stehen im Risiko

Die Analyse von Aikido vom 22. September 2026 dokumentiert Go-Malware in den Terraform-Providern gocommunity-io/dockerd und kreuzwenker/docker sowie in den Go-Modulen gocommunity.io/orderedbtree und gogets.dev/btreex. Der Schadcode weist technische Überschneidungen mit der Graphalgo-Kampagne auf. Wurde eines der Pakete auf einem Entwicklungsrechner oder CI/CD-Runner ausgeführt, können auch die dort verfügbaren Cloud- und Infrastrukturzugänge gefährdet sein.
Eine Fachmeldung von The Hacker News vom 23. September 2026 nennt 222 Downloads für gocommunity-io/dockerd und 1.449 für kreuzwenker/docker. Das sind Paketabrufe, keine bestätigten Infektionen. Entscheidend für betroffene Teams ist deshalb, auf welchen Systemen die Pakete vorhanden waren, ob der Schadcode dort starten konnte und welche Zugangsdaten diese Systeme erreichen konnten.
Welche Pakete betroffen sind
Bei der Suche zählt die genaue Schreibweise. kreuzwenker/docker ist ein täuschend ähnlicher Name zum legitimen Terraform-Provider kreuzwerker/docker; die beiden dürfen in Konfigurationen und Protokollen nicht gleichgesetzt werden. Die Untersuchung umfasst diese Paketnamen:
- Terraform-Provider: gocommunity-io/dockerd und kreuzwenker/docker.
- Go-Module: gocommunity.io/orderedbtree und gogets.dev/btreex.
Terraform-Konfigurationen, Provider-Lock-Dateien, Go-Abhängigkeiten, lokale Caches und frühere CI/CD-Läufe können unterschiedliche Teile der Nutzung zeigen. Ein inzwischen entfernter Eintrag schließt eine frühere Ausführung nicht aus. Umgekehrt beweist ein Paketfund allein noch nicht, dass der versteckte Auslöser erreicht oder der nachgeladene Agent gestartet wurde. Die vorsichtige Reaktion auf einem Rechner oder Runner, auf dem eines der Pakete installiert war, bleibt dennoch gerechtfertigt, weil sich eine ausgebliebene Ausführung nicht aus dem aktuellen Repository-Zustand ableiten lässt.
Wie der Schadcode gestartet wird
In den manipulierten Terraform-Providern sitzt ein versteckter Einstiegspunkt im Code für Docker-Container-Ressourcen. Er aktiviert sich nur, wenn die kombinierte Eingabe aus Containername und Netzwerk-ID einen bestimmten SHA-256-Wert ergibt. Dann entschlüsselt der Code ein als SQLite-Datei getarntes Archiv und startet den darin enthaltenen Go-Code über einen abgekoppelten Prozess. Ein gewöhnlicher Probelauf mit anderen Eingaben kann daher unauffällig bleiben, obwohl das Paket Schadcode enthält.
Die Go-Module verpacken denselben Malware-Typ unterschiedlich. In gocommunity.io/orderedbtree liegt der Schadcode offen im Modul; gogets.dev/btreex verbirgt ihn in einem als SQL-Datei getarnten Archiv und benötigt eine speziell geformte Eingabe zur Aktivierung. Diese Unterschiede sind für die Untersuchung relevant: Weder ein fehlendes Archiv beim ersten Modul noch ein unauffälliger Lauf des zweiten Moduls entkräftet den Paketfund.
Der nachgeladene Agent sammelt Systemangaben und nutzt verschlüsselte Befehle über Slack und einen Smart Contract auf Arbitrum Sepolia. Er kann zusätzlichen Go- oder JavaScript-Code ausführen. Sobald dieser getrennte Prozess läuft, beendet das Löschen des ursprünglichen Providers ihn nicht zuverlässig. Darin liegt das Risiko über die Paketdatei hinaus: Der Agent läuft im Kontext eines Systems, das möglicherweise Cloud-Anmeldedaten, Repository-Tokens oder SSH-Schlüssel bereitstellt.
Welche Indikatoren die Untersuchung eingrenzen
Die getarnten Dateien heißen import-resource.sqlite3 in den Providern und btreex.sql im entsprechenden Go-Modul. Ihre SHA-256-Hashes lauten 5f892a5424e88a21a3eb3d7f82ebf04d8ac31cdb19ada25153be4165df977d0f beziehungsweise ab01686d87565250fc4989faddb877d793667b07ec217a61cbd798f5695d62f5. Diese Dateimerkmale lassen sich mit Artefakten aus Paket-Caches oder gesicherten Systemen abgleichen.
Zur Infrastruktur der Kampagne gehören die Domains gocommunity[.]io und gogets[.]dev, die den schädlichen Go-Paketen den Anschein eines eigenen Ökosystems geben. Für die Kommunikation des Agenten sind die Slack-Workspaces portfolio-devs.slack[.]com und portfolio-testers.slack[.]com sowie die Smart-Contract-Adresse 0xAD02b5cDE693529d3bdA0266299501ad0193036C relevant. Die Malware spricht Slack über dessen API an; das Ausbleiben einer direkten Verbindung zur Workspace-Subdomain ist deshalb kein Entlastungsbefund.
Eine Verbindung zu einer allgemein genutzten Slack-API ist für sich genommen ebenfalls kein Nachweis dieser Malware. Aussagekräftiger wird ein Befund, wenn ein betroffener Paketname, eine der getarnten Dateien, ein unerwarteter Go-Prozess und passende Kommunikationsspuren auf demselben Rechner oder Runner zusammenfallen. Die Domains der vorgetäuschten Go-Ökosysteme sind dabei von den eigentlichen Befehlswegen des Agenten zu unterscheiden.
Wie betroffene Teams reagieren sollten
Die Terraform-Dokumentation zu terraform init beschreibt, dass referenzierte Provider als Plugins heruntergeladen und installiert werden. Diese Installation ist nicht mit dem Erreichen des speziellen Malware-Auslösers gleichzusetzen. Für die Erstreaktion ist die Unterscheidung wichtig, doch ein Team sollte nicht allein aus fehlenden auffälligen Terraform-Änderungen schließen, dass der betroffene Ausführungsrechner sauber ist.
- Zuerst die genannten Paketnamen in Konfigurationen, Lock-Dateien, Go-Abhängigkeiten, Caches und CI/CD-Protokollen suchen. Für jeden Fund festhalten, welcher Rechner oder Runner betroffen war und wann Installation oder Ausführung möglich waren.
- Systeme mit möglicher Ausführung isolieren und vorhandene Prozess-, Netzwerk- und Pipeline-Protokolle für die Untersuchung sichern. Bei kurzlebigen Runnern auch das verwendete Image und die zugewiesenen Berechtigungen erfassen.
- Erreichbare Zugangsdaten von einer sauberen Umgebung aus sperren oder ersetzen. Bei einem Terraform-Fund haben Cloud- und Infrastrukturrechte Vorrang; anschließend folgen Repository- und CI/CD-Tokens, Rechte zur Paketveröffentlichung und SSH-Schlüssel, auf die das System zugreifen konnte.
- Den betroffenen Rechner oder das Runner-Image neu aufsetzen und die Abhängigkeiten aus vertrauenswürdigen Quellen wiederherstellen. Ein bereits gestarteter, abgekoppelter Prozess verschwindet durch das Entfernen des schädlichen Pakets nicht verlässlich.
- Im möglichen Expositionszeitraum Infrastrukturänderungen, Repository-Zugriffe, Pipeline-Läufe und Paketveröffentlichungen prüfen. Eine unerlaubte Aktion kann in Protokollen wie die Nutzung gültiger Zugangsdaten aussehen.
Was über das Ausmaß bekannt ist
Die technischen Gemeinsamkeiten verbinden diese Terraform- und Go-Pakete mit Graphalgo. Sie belegen aber weder eine bestimmte Zahl kompromittierter Organisationen noch die Identität der Angreifer hinter jedem betroffenen Paket. Auch aus den veröffentlichten Downloadzahlen lässt sich nicht ablesen, wie oft der gezielte Auslöser erreicht wurde. Bestätigt ist die Verteilung der Malware über die genannten Pakete; ob und welche Infrastrukturzugänge tatsächlich missbraucht wurden, muss für jedes betroffene System gesondert untersucht werden.
Lesen Sie auch:
Ähnliche Artikel


Drei KI-Plattformen kompromittiert: Ein Gateway öffnet den Weg zu allen Schlüsseln

19 Browser-Erweiterungen wurden zu Malware – fünf erst nach dem Verkauf

Docker-Sandbox kann Mac-Dateien preisgeben – Version 0.42.0 schließt die Lücke

LiteLLM sicher betreiben: Der Proxy darf nicht zum Schlüsselbund werden

curl 8.22.0 schließt zehn Lücken – betroffen sind nicht alle Installationen gleich
Newsletter abonnieren
Erhalten Sie die neuesten Nachrichten zu Web3, KI und Krypto direkt in Ihren Posteingang.