Bösartige MemTensor-Pakete verbreiten sckit-Credential-Stealer

Bösartige MemTensor-Pakete verbreiten sckit-Credential-Stealer

Angreifer haben MemTensor-Pakete auf npm und PyPI kompromittiert, um den sckit-Credential-Stealer zu verbreiten, der Entwickler-Zugangsdaten sammelt und an skyleen.fr sendet.

Unbekannte Angreifer haben zwei legitime MemTensor-Pakete auf npm, der JavaScript-Paketregistrierung, und dem Python Package Index (PyPI), dem offiziellen Paket-Repository für die Programmiersprache Python, kompromittiert, um den sckit-Credential-Stealer zu verbreiten, ein Go-basiertes Implantat, das Entwickler-Zugangsdaten unter Windows, Linux und macOS stiehlt. Die Aktivität wurde von Forschern bei Aikido, SafeDep, Socket und StepSecurity gemeldet. Die betroffenen Pakete sind @memtensor/memos-cloud-openclaw-plugin in den Versionen 0.1.21, 0.1.23 und 0.1.25 sowie MemoryOS in Version 2.0.34. Die Versionen 0.1.22 und 0.1.24 des npm-Pakets sind sauber, und das PyPI-Projekt wurde unter Quarantäne gestellt, nachdem die bösartige Version aufgetaucht war.

StepSecurity erklärte, dass die bösartigen npm-Paketversionen eine Go-Nutzlast in einer legitimen KI-Speicherintegration verbergen. Wenn das Agent-Gateway startet und immer wenn das Plugin ein Memory-Recall-Ereignis verarbeitet, startet der Code diese Nutzlast. Der Launcher übergibt die Umgebung des Host-Prozesses, was bedeutet, dass das Programm die Einstellungen und Variablen lesen kann, die für den Prozess verfügbar sind, in dem es läuft, und während des Memory-Recalls übergibt es den Prompt-Text des Benutzers direkt an die bösartige ausführbare Datei. Das PyPI-Paket verhält sich etwas anders: Es startet eine statisch gelinkte Go-Binärdatei, eine in sich geschlossene Programmdatei, sobald das memos-Modul in eine Anwendung importiert wird. In beiden Ökosystemen ist der Zweck derselbe: ein plattformübergreifendes Programm zum Diebstahl von Zugangsdaten auszuführen, das Daten von Cloud-Diensten, Quellcode-Plattformen, Paketregistrierungen und Entwicklerwerkzeugen sammelt und an einen externen Server unter skyleen.fr sendet.

Socket berichtete, wonach das Implantat sucht. Zu seinen Zielen gehören npm-, PyPI-, GitHub-, GitLab-, AWS-, Vault- und SSH-Geheimnisse. Auf einem infizierten Rechner sucht es nach Zugangsdatendateien wie .npmrc, .vault-token, id_ecdsa, credentials.db, access_tokens.json und stored_tokens. Es untersucht außerdem Umgebungsvariablen, die kleinen Konfigurationsdatenstücke, die Programme vom Computer lesen, die auf Tokens, Passwörter, API-Schlüssel, private Schlüssel, Session-Cookies und Verbindungszeichenfolgen für Datenbanken oder Nachrichtenbroker verweisen, darunter Variablen wie NPM_TOKEN und PYPI_API_TOKEN. Die Liste des gestohlenen Materials umfasst außerdem AWS-Zugriffsschlüssel, GitHub- und GitLab-Tokens, npm- und PyPI-Tokens, Hugging Face-, HashiCorp Vault-, Slack-, Stripe- und SendGrid-Schlüssel sowie JWTs, kurzlebige digitale Zugangstickets.

SafeDep verfolgte, wie der Angreifer die Veröffentlichungs-Tokens in einem, wie es beschrieb, Supply-Chain-Angriff erlangte. Laut SafeDep erhielt der Angreifer die Veröffentlichungs-Tokens aus MemTensors eigenen GitHub-Actions-Release-Pipelines. GitHub Actions ist ein Dienst, der das Erstellen, Testen und Veröffentlichen von Code automatisiert. Durch das Pushen von Commits, die den Workflow dazu brachten, das npm- oder PyPI-Token herauszugeben, erlangte der Angreifer die Fähigkeit, die manipulierten Paketversionen zu veröffentlichen. SafeDep merkte ferner an, dass das Implantat wie ein Wurm funktionieren kann: Es kann sich über GitHub und durch direktes Veröffentlichen von npm- und PyPI-Paketen selbst verbreiten. Es sammelt Zugangsdaten von Entwicklerrechnern und aus CI-Jobs, automatisierten Build- und Testläufen. Es empfängt signierte Aufgaben von einem Command-and-Control-(C2)-Server, einem von den Angreifern betriebenen Rechner, der dem Implantat Anweisungen gibt, und es enthält Vorlagen, um sich selbst in npm-Paketen, Python-Paketen und GitHub-Actions-Workflows zu installieren. Zum Zeitpunkt des Berichts war unklar, ob neben MemTensor auch andere Pakete kompromittiert worden waren.

StepSecurity lieferte mehr Kontext zur legitimen Funktion des MemOS-Cloud-Plugins, das normalerweise die OpenClaw-Agent-Laufzeit mit einem Speicherdienst verbindet. Es ruft relevante Erinnerungen ab, bevor ein Agent einen Prompt verarbeitet, und fügt Erinnerungen nach einem Lauf hinzu, und es deklariert Integrationspunkte für die Clawdbot- und Moltbot-Laufzeiten. Diese Platzierung ist wichtig, weil das Plugin in einem Prozess läuft, der routinemäßig Benutzereingaben verarbeitet und wertvolle Zugangsdaten erben kann. Auf einer Entwickler-Workstation kann dasselbe Benutzerkonto oft auf Cloud-Konfiguration, Quellcode-Repositories, Paketveröffentlichungs-Tokens und Anwendungsgeheimnisse zugreifen, und in automatisierten Jobs kann der Prozess Zugangsdaten erhalten, die speziell für diesen Job injiziert wurden.

Die erste Warnung gab sofortige Abwehrschritte. Sie empfahl, das npm-Paket auf Version 0.1.20 und das PyPI-Paket auf Version 2.0.33 als sichere Basis festzulegen, alle offengelegten Geheimnisse zu rotieren, jeden sckit-Prozess zu beenden und die Domain skyleen.fr zusammen mit allen ihren Subdomains zu blockieren. Ein Update der Berichte bestätigte später, dass die bösartigen Versionen sowohl von npm als auch von PyPI entfernt worden waren, und es nannte als neueste saubere Versionen @memtensor/memos-cloud-openclaw-plugin Version 0.1.24 und MemoryOS Version 2.0.33. Diese Supply-Chain-Kompromittierung ist eine Erinnerung daran, dass Entwicklerrechner und automatisierte Release-Prozesse attraktive Ziele für Angreifer sind, die von einer kleinen Paketaktualisierung in weit verbreitete Cloud- und Code-Hosting-Konten gelangen wollen. Für Organisationen, die auf Pakete von Drittanbietern angewiesen sind, kann ein sicherheitsorientierter IT- und Beratungsdienst wie AEU-I helfen, Abhängigkeiten zu überprüfen, die Art und Weise zu verschärfen, wie Automatisierungspipelines mit Geheimnissen umgehen, und eine Eindämmungsreaktion zu planen, wobei die unmittelbare Priorität jedoch darin besteht, die betroffenen Pakete zu aktualisieren und Zugangsdaten zu rotieren.

So schützen Sie sich

  1. Aktualisieren Sie alle installierten MemTensor-Pakete sofort: Verwenden Sie für @memtensor/memos-cloud-openclaw-plugin Version 0.1.24 und für MemoryOS Version 2.0.33, und vermeiden Sie die älteren schlechten Versionen 0.1.21, 0.1.23, 0.1.25
  2. Ändern Sie Ihre Passwörter und geheimen Schlüssel für alle Online-Dienste, die Sie auf demselben Computer verwendet haben, auf dem eines dieser Pakete gelaufen sein könnte, insbesondere Code-Hosting-, Cloud- und Paketveröffentlichungskonten
  3. Wenn Sie eine Website oder ein Softwareprojekt verwalten, entfernen Sie jedes Paket, das von MemTensor abhängt, oder legen Sie es auf eine feste sichere Version fest, und prüfen Sie die Abhängigkeitsliste Ihres Projekts auf verdächtige Aktu
  4. Rotieren oder ersetzen Sie alle geheimen Tokens und Schlüssel, die in automatisierten Build- und Veröffentlichungsjobs gespeichert sind, da die Malware darauf ausgelegt war, diese Zugangsdaten zu sammeln.
  5. Bevor Sie ein Paket aktualisieren, sehen Sie sich dessen Versionsverlauf und die Versionshinweise des Projekts an, und vermeiden Sie eine neu geänderte Version, die noch nicht lange öffentlich ist.

Begriffe Erklärt

  • npm Die Paketregistrierung für JavaScript, in der Entwickler wiederverwendbare Codeteile teilen und installieren.
  • PyPI Kurz für Python Package Index, das offizielle Repository, in dem Entwickler Pakete für die Programmiersprache Python veröffentlichen und herunterladen.
  • GitHub Actions Ein integrierter Dienst auf GitHub, der Code automatisch erstellt, testet und veröffentlicht, wenn Entwickler Änderungen vornehmen.
  • Command-and-Control (C2) server Ein von Angreifern kontrollierter Computer, der Anweisungen an infizierte Maschinen sendet und gestohlene Daten empfängt.
  • CI jobs Automatisierte Build- und Testläufe, die bei jeder Codeänderung von Entwicklern ausgeführt werden und oft Zugriff auf geheime Zugangsdaten haben.
  • Environment variables Kleine Konfigurationsdatenstücke, die Programme von dem Computer oder Server lesen, auf dem sie laufen, und die oft zum Speichern von Passwörtern und Tokens verwendet werden.
  • Go Eine von Google entwickelte Programmiersprache, die oft zum Erstellen plattformübergreifender Kommandozeilenprogramme verwendet wird.

Verwandte AEU-Dienste

  • AEU DNS Verschlüsselter DNS-Resolver