Mastodon Mastodon Mastodon Mastodon

18 bösartige npm-Pakete imitieren Alibaba-Module und verteilen RAT

Foto des Autors

CyberSecureFox Editorial Team

Veröffentlicht:

Forschende des Unternehmens Socket haben 18 bösartige npm-Pakete entdeckt, die auf Entwickler abzielen, die Werkzeuge aus dem Ökosystem der Alibaba Group nutzen. Die Pakete imitieren private Komponenten aus dem Namensraum @ali und liefern einen plattformübergreifenden Remote-Access-Trojaner (RAT) mit Funktionen zur Befehlsausführung, Dateiexfiltration und lateralen Bewegung. Der Angriff betrifft Umgebungen unter Windows, Linux und macOS. Allen, die eines der aufgeführten Pakete installiert haben, wird empfohlen, das System als kompromittiert zu betrachten und Zugangsdaten umgehend von einer sauberen Maschine aus zu rotieren.

Angriffsmechanismus: mehrstufige Abhängigkeitskette

Nach Angaben des Socket-Forschers Carlo Zanki ist das zentrale Element der Kampagne das Paket lib-mtop, das gleichnamig mit einem privaten Alibaba-Paket aus dem Scope @ali ist. Das Paket wurde erstmals im November 2023 ohne jegliche Funktionalität veröffentlicht, doch im März–April 2025 erschienen drei neue Versionen (v1.0.1, v1.0.2, v1.0.3), die einen Loader enthalten, der über curl eine entfernte JavaScript-Nutzlast abruft und ausführt.

Der Angriff basiert auf einer dreistufigen Abhängigkeitsarchitektur:

  • Oberste Ebene (Köderpakete) – bis zu 10 Pakete, die private @ali-Komponenten imitieren. Darunter aone-kit, aone-kit-cli und aone-sandbox, die laut Forschern als leere Wrapper fungieren, welche private Alibaba-Pakete als Abhängigkeiten deklarieren.
  • Zwischenebene (Brücke) – das Paket smart-config-manager, von dem die Pakete der obersten Ebene abhängen und das sie mit den bösartigen Komponenten der untersten Ebene verbindet.
  • Unterste Ebene (Loader) – Komponenten, die ein GitHub-Repository zur Beschaffung der Konfiguration für die Regel-Engine abfragen und anschließend eine bösartige Nutzlast von einem entfernten Server herunterladen und ausführen.

Das Paket local-config-parser ist dabei besonders bemerkenswert: Es implementiert einen legitimen Parser für JSON-Konfigurationen, enthält jedoch Abhängigkeiten, die für sich genommen harmlos wirken, in Kombination aber einen Kanal zur Auslieferung des RAT bilden. Alle fünf ursprünglichen Pakete wurden über das Konto ch4ce veröffentlicht, das aktuell auf npmjs.com den Fehler „not found“ zurückgibt.

Plattformübergreifendes Verhalten der Nutzlast

Berichten zufolge verwendet die Regel-Engine das Node.js-Modul vm, um das Betriebssystem des Opfers zu bestimmen und die jeweils passende Nutzlast zu laden. Der Download erfolgt von einer Domain, die sich als Alibaba-Infrastruktur tarnt.

Das Verhalten variiert je nach Plattform:

  • Windows – beendet Prozesse der Enterprise-Sicherheitsanwendung Alilang, der VPN- und Office-Software und ersetzt deren Hauptcode anschließend durch eine trojanisierte Version.
  • Linux – lädt eine Binärdatei nach /tmp, startet sie als abgetrennten Hintergrundprozess und löscht die Datei nach dem Laden in den Speicher vom Datenträger.
  • macOS – injiziert ein bösartiges Hintergrundskript in ~/.zshrc und richtet einen Launch Agent mit einem Ausführungsintervall von 10 Minuten ein.

Die finale Nutzlast ist ein komplexer Backdoor mit Funktionen zur Ausführung beliebiger Befehle, zum Hoch- und Herunterladen von Dateien, zur Host-Aufklärung, zur Vorbereitung zusätzlicher Nutzlasten und zur lateralen Bewegung. Nach Angaben der Forschenden ist der Backdoor außerdem in der Lage, Persistenz zu erreichen, indem er Schadcode in Unternehmensanwendungen für Zusammenarbeit – DingTalk, Wukong und Qoder – einschleust.

Indikatoren einer Kompromittierung

Mit der Kampagne in Verbindung stehende Domains:

  • aone-cli-next.oss-cn-beijing.aliyuncs[.]com – Quelle der Nutzlast, die Alibaba-Infrastruktur imitiert

Vollständige Liste der bösartigen Pakete:

  • lib-mtop, aone-kit, aone-kit-cli, aone-sandbox, local-config-parser
  • smart-config-manager, cloud-config-fetcher, fast-transform-pipeline
  • aone-cloud-cli, colder-cli, def-open-client, feedback-ai-sdk
  • flight-compare-analyzer, lwp-web-client, lzd-unified-station-sdk
  • open-worker-cli, test-skill-zip, uniapi-bridge

Bedrohungskontext und Attribution

Der Urheber der Kampagne ist weiterhin unbekannt. Die Forschenden weisen darauf hin, dass sich das genaue Ausmaß der Auswirkungen nur schwer einschätzen lässt: Obwohl die Zahl der Downloads der bösartigen Pakete gering ist, machen der gezielte Charakter des Angriffs und die Fähigkeit der finalen Nutzlast zur lateralen Ausbreitung den potenziellen Schaden erheblich. Es bleibt unklar, ob das Konto ch4ce kompromittiert wurde oder dessen Inhaber den Schadcode absichtlich veröffentlicht hat.

Bemerkenswert ist, dass diese Kampagne kein Einzelfall von Supply-Chain-Angriffen in Ökosystemen von Paket-Managern ist. Parallel dazu berichtete StepSecurity über die Kompromittierung des PyPI-Pakets mrmustard in Version 0.7.4 (eine Bibliothek für photonische Quantenberechnungen von Xanadu). Angreifer kompromittierten den GitHub-Account des Hauptmaintainers, drangen über selbst gehostete CI-Runner ein und veröffentlichten eine Version mit einem Stealer, der auf SSH-Schlüssel, AWS-Anmeldedaten und Kubernetes-Konfigurationen abzielt. Nach Angaben von SafeDep implementierte der bösartige Code drei separate Persistenzmechanismen, die die Aktivität selbst nach dem Entfernen des Pakets aufrechterhalten.

Empfehlungen

  • Überprüfen Sie die Abhängigkeiten – führen Sie einen Audit Ihrer Projekte auf das Vorhandensein eines der 18 aufgeführten Pakete im Abhängigkeitsbaum durch. Verwenden Sie npm ls oder Software-Composition-Analysis-Tools (SCA).
  • Bei Fund – betrachten Sie das System als kompromittiert. Rotieren Sie alle Zugangsdaten (npm-Tokens, SSH-Schlüssel, Cloud-Secrets) von einer nachweislich sauberen Maschine aus.
  • Überprüfen Sie Persistenzmechanismen: unter macOS – die Datei ~/.zshrc und Launch Agents; unter Windows – die Integrität der Installation von Alilang und der zugehörigen Unternehmenssoftware; unter Linux – verdächtige Prozesse, die aus /tmp gestartet wurden.
  • Konfigurieren Sie eine Richtlinie für Scopes – verwenden Sie eine .npmrc-Konfiguration mit Bindung privater Scopes (@ali) an das interne Registry, um eine Ersetzung von Abhängigkeiten aus dem öffentlichen npm-Registry zu verhindern.
  • Prüfen Sie Unternehmensanwendungen DingTalk, Wukong und Qoder auf nicht autorisierte Code-Modifikationen.

Diese Kampagne demonstriert die Wirksamkeit der Technik der Abhängigkeitsverwechslung (dependency confusion) in Kombination mit einer mehrstufigen Architektur, bei der die bösartige Logik auf mehrere äußerlich harmlose Pakete verteilt ist. Für Organisationen, die private npm-Pakete mit Scope einsetzen, ist es geschäftskritisch, die Bindung der Scopes an interne Registries über .npmrc korrekt zu konfigurieren und einen automatisierten Abhängigkeitsaudit einzuführen, der die Installation öffentlicher Pakete blockiert, deren Namen mit privaten Komponenten übereinstimmen.


CyberSecureFox Editorial Team

Die CyberSecureFox-Redaktion berichtet über Cybersecurity-News, Schwachstellen, Malware-Kampagnen, Ransomware-Aktivitäten, AI Security, Cloud Security und Security Advisories von Herstellern. Die Beiträge werden auf Grundlage von official advisories, CVE/NVD-Daten, CISA-Meldungen, Herstellerveröffentlichungen und öffentlichen Forschungsberichten erstellt. Artikel werden vor der Veröffentlichung geprüft und bei neuen Informationen aktualisiert.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.