Eine neue Art von Supply-Chain-Bedrohung
Sicherheitsforscher bei Aikido Security haben einen ausgefeilten Supply-Chain-Angriff aufgedeckt, der unsichtbare Unicode-Zeichen nutzt, um bösartigen Code in Open-Source-Repositories einzuschleusen. Zwischen dem 3. und 9. März identifizierte das Unternehmen 151 bösartige Pakete, die auf GitHub, NPM und Open VSX hochgeladen wurden und ausführbare Payloads enthielten, die in Standard-Code-Editoren, Terminals und Review-Oberflächen vollständig unsichtbar sind.
Die Technik stellt eine bedeutende Weiterentwicklung in der Art dar, wie Angreifer die Softwareversorgungskette ins Visier nehmen. Während Supply-Chain-Angriffe seit fast einem Jahrzehnt eine anhaltende Bedrohung darstellen und typischerweise auf Typosquatting oder Namensverwechslungen beruhen, um Entwickler zu täuschen, fügt diese neueste Kampagne eine zusätzliche Täuschungsebene hinzu, die manuelle Code-Reviews praktisch nutzlos macht.
Wie der unsichtbare Code funktioniert
Der Angriff nutzt eine Kategorie von Unicode-Zeichen aus, die bei der Anzeige in Text-Editoren, Terminal-Emulatoren oder webgestützten Code-Review-Plattformen wie GitHubs Pull-Request-Oberfläche keine sichtbare Darstellung haben. Während der Großteil jedes bösartigen Pakets als normaler, lesbarer Code erscheint, sind kritische bösartige Funktionen und ihre Payloads mit Hilfe dieser unsichtbaren Zeichen kodiert.
Wenn ein Entwickler den Code visuell untersucht oder Standard-Diff-Tools verwendet, werden die bösartigen Teile einfach nicht angezeigt. Wenn der Code jedoch von JavaScript-Engines oder Python-Interpretern geparst und ausgeführt wird, werden die unsichtbaren Zeichen dekodiert und die versteckte Payload läuft neben dem legitim aussehenden Code ab.
Dieser Ansatz schafft effektiv eine Doppelrealität: Menschliche Reviewer und viele automatisierte Scan-Tools sehen sauberen Code, während die Laufzeitumgebung einen völlig anderen Satz von Anweisungen ausführt, die Anmeldedaten exfiltrieren, Hintertüren installieren oder Entwicklungsumgebungen kompromittieren können.
Umfang und Verbreitung
Die 151 von Aikido identifizierten Pakete wurden über mehrere Paket-Ökosysteme verteilt. GitHub-Repositories, das NPM-Paket-Registry für JavaScript und der Open VSX Marketplace für Visual Studio Code Extensions wurden alle ins Visier genommen. Der Umfang des Angriffs deutet auf eine koordinierte Kampagne hin, nicht auf isolierte Vorfälle.
Viele der bösartigen Pakete verwendeten Namen, die denen beliebter Open-Source-Bibliotheken ähnelten, und kombinierten den traditionellen Typosquatting-Ansatz mit der neuen Invisible-Code-Technik. Einige Pakete sammelten erhebliche Download-Zahlen an, bevor sie entdeckt wurden, und kompromittierten möglicherweise Entwicklungsumgebungen in mehreren Organisationen.
Defensive Implikationen
Die Entdeckung wirft ernsthafte Fragen über die Angemessenheit der aktuellen Code-Review-Praktiken und automatisierten Sicherheits-Scanning-Tools auf. Traditionelle statische Analyse-Tools, die sich auf Pattern-Matching gegen sichtbare Code-Muster verlassen, würden diese Bedrohungen völlig übersehen. Selbst erfahrene Entwickler, die gründliche Code-Reviews durchführen, könnten bösartige Pakete genehmigen, ohne die versteckten Payloads zu erkennen.
Sicherheitsteams werden nun aufgefordert, Binary-Level-Analyse-Tools zu implementieren, die das Vorhandensein von unsichtbaren Unicode-Zeichen im Quellcode erkennen können. Einige integrierte Entwicklungsumgebungen können so konfiguriert werden, dass versteckte Zeichen angezeigt werden, und neue Linting-Regeln können ihr Vorhandensein kennzeichnen. Die weit verbreitete Einführung dieser Gegenmaßnahmen bleibt jedoch begrenzt.
Aikido Security merkte an, dass sie diese Technik im letzten Jahr zunächst in isolierten Fällen entdeckt haben, aber der Umfang der aktuellen Kampagne stellt eine erhebliche Eskalation dar. Das Unternehmen hat Indikatoren für eine Kompromittierung veröffentlicht und arbeitet mit den betroffenen Plattformen zusammen, um die bösartigen Pakete zu entfernen und Neu-Uploads zu verhindern.
Branchenreaktion
Die Open-Source-Sicherheitscommunity hat mit Forderungen nach verbesserten Verifizierungsmechanismen in Paket-Registries geantwortet. Einige Experten setzen sich für verbindliche transparente Builds ein, bei denen Pakete aus prüfbarem Quellcode in kontrollierten Umgebungen kompiliert werden, um sicherzustellen, dass das, was Entwickler überprüfen, genau das ist, was ausgeführt wird.
GitHub, NPM und Microsoft, die den VSX Marketplace betreiben, haben damit begonnen, die identifizierten Pakete zu entfernen, und bewerten zusätzliche Schutzmaßnahmen, um ähnliche Angriffe zu verhindern. Der Vorfall unterstreicht die laufende Herausforderung, das riesige Ökosystem von Open-Source-Abhängigkeiten zu sichern, auf das die moderne Softwareentwicklung angewiesen ist.
Für Organisationen, die möglicherweise eines der betroffenen Pakete installiert haben, empfehlen Sicherheitsforscher, gründliche Audits kürzlich hinzugefügter Abhängigkeiten durchzuführen, auf unerwartete Netzwerkverbindungen zu scannen und Systemprotokolle auf Zeichen von Datenexfiltration zu überprüfen.
Dieser Artikel basiert auf einer Berichterstattung von Ars Technica. Lesen Sie den Originalartikel.

