Hauptanalyse
Sicherheit & Risiko6 Min.

Gestohlene npm- und Go-Pakete nutzen VS Code-Aufgaben und Blockchain-Transaktionen, um Python-Infostealer bereitzustellen

Estação de trabalho de um desenvolvedor à noite com VS Code aberto exibindo arquivo JSON, ambiente escuro e iluminação do monitor.

JFrog identifiziert zwei gestohlene npm-Pakete und ein Cluster von 16 Go-Paketen mit Payload, die über tasks.json von VS Code aktiviert werden und Anweisungen in Tron-, Aptos- und BSC-Transaktionen suchen.

Die JFrog Security Research veröffentlichte am Montag (29.) die Analyse von zwei bösartigen Versionen von npm-Paketen und einem Cluster von 16 gestohlenen Go-Paketen, die das traditionelle Angriffsschema auf das Registry umkehren. Anstatt die Lifecycle-Skripte von npm auszunutzen, die durch die Härtungen von npm v12 blockiert werden, versteckten die Angreifer die Ausführung innerhalb der Datei tasks.json von VS Code, konfiguriert mit autoRun: 'folderOpen'. Es genügt, dass der Entwickler den Ordner im Editor öffnet, um die Kette auszulösen, ohne dass npm install oder npm test aufgerufen werden müssen.


Die kompromittierten npm-Pakete sind html-to-gutenberg in Version 4.2.11 und fetch-page-assets in 1.2.9, beide veröffentlicht am 25. Mai und nach der Offenlegung aus dem Registry entfernt. Der Go-Pfad wurde parallel von Nextron Research identifiziert und auf 16 Pakete repliziert, die denselben Loader verwenden. Der Payload lädt eine scheinbare Quelle herunter, die in Wirklichkeit ein Blob von JavaScript mit geändertem Erweiterungs-Tag ist, und wird in einem node -e- und entkoppelten Prozess ausgeführt.


Warum die Blockchain in die Kette einfließt


Der Loader verwendet keine feste C2-Domain. Er löst Transaktionen in drei öffentlichen Blockchains auf, in folgender Reihenfolge: TronGrid, Aptos und BSC JSON-RPC. Die relevanten Daten befinden sich im Eingabefeld der Transaktion, nach einem Marker '?.?', und werden vor der Ausführung XOR-dekodiert. Die Mechanik ist wichtig, da sie die klassische DNS-sinkhole-Takedown-Methode unbrauchbar macht und erfordert, dass das Detection-Team den Ausgangsverkehr zur öffentlichen Blockchain-Infrastruktur überwacht, was von Unternehmensfirewalls nahezu niemals als feindlich behandelt wird.


Der zweite Schritt richtet einen Backdoor socket.io und den Python-Infostealer ein. Er hat eine breite Reichweite: gespeicherte Anmeldedaten in Chromium- und Firefox-Browsern, Passwortmanager, TOTP-Authentifizierer, Krypto-Wallets, Git-Verläufe, hosts.yml von GitHub CLI, Protokolle von GitHub Desktop, VS Code-Konfigurationen, Windows Credential Manager, Linux Secret Service, KDE Wallet, macOS Keychain und Metadaten von Cloud-Anbietern. In Umgebungen, in denen Entwickler kurze API-Tokens im .env des Projekts speichern, ist der Datenverlust direkt.


Wer ist exponiert und in welcher Höhe der Kette


Der unangenehme Aspekt für den CISO liegt darin, wer VS Code mit aktivem Auto-Trust verwenden muss. Coding-Agent-Plattformen, die es dem Benutzer ermöglichen, ein beliebiges Repository zu öffnen und mit der Analyse zu beginnen, gehören zur am stärksten exponierten Kategorie, da das Öffnen des Arbeitsbereichs das AutoRun ohne Aufforderung auslöst. DevSecOps-Teams, die .vscode/tasks.json standardisiert haben und diese zwischen Repositories teilen, haben einen Vektor geerbt, der aus dem Geltungsbereich der Abhängigkeitsscans herausfällt, die vor dem Commit durchgeführt werden.


Die tatsächliche Oberfläche wurde noch nicht gemessen. JFrog berichtet, dass die beiden npm-Versionen einige Tausend Downloads vor der Entfernung hatten, aber die Zahl isoliert nicht, wie viele Stationen von Entwicklern erreicht wurden und wie viele in flüchtigen CI-Build-Agents verblieben. Die Telemetrie des Infostealers, soweit sie in den nächsten Wochen auf Credential-Broker-Märkten auftaucht, ist das Thermometer, das anzeigt, wie rentabel die Investition der Angreifer war.


Der Zusammenhang für Bangalore und São Paulo


Hier verlässt der Angriff das Segment der Sicherheitsforschung und wird zum Komiteeproblem. Die Acceleration Centers von PwC und Deloitte in Bangalore konzentrieren Tausende von Entwicklern in kundenorientierten Projekten, die ein gemeinsames tasks.json verwenden, um Linting, Build und Deployment zu standardisieren. Eine stille Eindringung in eine Delivery-Maschine im Offshore wird zu GitHub-Anmeldedaten von Tier-1-Kunden im britischen oder amerikanischen Finanzsektor. HCLTech und TCS, die ähnliche Zentren in Pune und Chennai betreiben, haben eine Exposition in der gleichen Größenordnung.


In Brasilien erfasst der Vektor die Ingenieurskunst der Fintechs und digitalen Banken, die VS Code mit gemeinsamen Tasks für die Umgebungen von Nubank, C6 und BTG standardisiert haben. Stefanini und CI&T, die Teams in Kundenprojekten im Einzelhandel und in der Industrie bereitstellen, haben das gleiche Risikogeometrie. Die Empfehlung, Tokens in großem Maßstab zu widerrufen, wurde zur operativen Aktion und nicht zum theoretischen Übungsfeld.


Was das Team heute verlangen sollte


Die sofortige Korrektur besteht darin, 'security.workspace.trust.enabled' auf true zu setzen und autoRun in allen Unternehmensbildern von VS Code zu deaktivieren, eine Politik, die viele Teams entspannen, als Coding-Agenten begannen, Workspace-Trust zum Funktionieren zu benötigen. Der von JFrog veröffentlichte IOC-Scan deckt die beiden npm-Pakete und die 16 Go-Pakete ab, und die Blockchain-Dead-Drop-Artefakte wurden im Bericht katalogisiert. Die Erinnerung, die für den CIO bleibt, ist eher strukturell: Die Software-Lieferketten enden nicht im SBOM. Sie setzen sich in dem Editor fort, den der Entwickler öffnet, und diese Grenze wurde bis Montag wenig überwacht.

Hauptanalyse