Der Kreuz-Ökosystem-Angriff, der Packagist schüttelt: wenn PHP und Node Rücktüren in CI zulassen

Autor: Veröffentlicht 4 min de lectura 201 Lesen

Die Bilder in diesem Artikel wurden mit künstlicher Intelligenz erstellt. So veröffentlichen wir

Ein neuer koordinierter Angriff auf die Lieferkette hat acht Pakete begangen, die in Verpackung, Einführung von schädlichen Code entworfen, um herunterladen und führen Sie eine Linux binäre gehostet in einer GitHub-Version. Was diese Kampagne besonders beunruhigend macht, ist die "cross-ecosystem Platzierung" Technik: Die Angreifer veränderten den Komponisten nicht. json-Datei (der Punkt, dass sie normalerweise Ausrüstung überprüfen, die PHP-Abhängigkeiten analysiert), aber das Paket. json, die Projekte begleitet, die JavaScript-Gebäudewerkzeuge zusammen mit PHP-Code packen, so dass Node-Installationsskripte versehentlich in Gebäudeanlagen oder Prozessen laufen.

Der böswillige Installer fügt ein Post-Installationsskript hinzu, das versucht, ein ausführbares von einer GitHub Releases URL (öffentlich als Hinweis auf eine Repo, die nicht mehr existiert), speichern Sie es in / tmp / .shd, geben Sie es Ausführungsberechtigungen mit chmod und starten Sie es im Hintergrund. Darüber hinaus versucht der Installateur nach der Analyse, seine Aktivität durch Deaktivieren von TLS-Verifikation und Entfernen von Fehlern zu verbergen. Dies schafft ein Fernausführungsfenster während der Installation oder in der CI-Arbeit die zu Diebstahl von Geheimnissen, Verschwenken in Gebäudeumgebungen oder Einbau von Hintertüren in produktive Infrastruktur führen kann.

Der Kreuz-Ökosystem-Angriff, der Packagist schüttelt: wenn PHP und Node Rücktüren in CI zulassen
Bild generiert mit IA.

Socket berichtete, dass die bösartigen Versionen bereits von Packagist entfernt wurden, aber seine Forschung fand Referenzen der gleichen Nutzlast in 777 Dateien in GitHub, einschließlich mindestens zwei Inserts in GitHub Actions Workflows. Dies deutet darauf hin, dass ein potenziell viel größerer Spielraum besteht: In einigen Fällen können Gabeln, doppelte Artefakte oder Cache-Referenzen kompromittiert werden, aber die Anwesenheit der Nutzlast in beiden Artefakten und Workflows zeigt, dass die Angreifer mehrere Ausführungsvektoren verwendet haben.

Die technischen Konsequenzen sind klar: Projekte, die Multi-Ecosystem-Einheiten packen und Skripte während der Installation oder in CI ausführen, sind hohe Werteziele. Viele Werkzeuge und Prozesse werden als sicher angenommen, weil sie nur Metadaten aus dem Hauptökosystem (z.B. Komponist.json in PHP-Projekten) inspizieren und nicht die Metadaten von Paketen aus anderen Ökosystemen (package.json, package-lock.json, garn.lock) lassen eine ausbeuterische Angriffsfläche.

Wenn Ihr Projekt betroffen sein könnte (oder einfach als gute Hygiene), handeln Sie sofort: zuerst, vermeiden Sie laufende Einrichtungen oder Gebäude in Umgebungen mit sensiblen Anmeldeinformationen, bis Sie die Artefakte überprüft haben. Inspiziert aktuelle Verpflichtungen in vorgelagerten Repositories und überprüft die Publikationsgeschichte. Wenn Sie eine böswillige Version gefunden haben, widerrufen Sie alle Schlüssel oder Token, die während der Installation in der Umgebung gewesen sein könnten, weil Remote-Ausführung möglicherweise ausgefilterte Geheimnisse haben kann. Es veröffentlicht eine saubere Version und notifiziert Ihre Benutzer transparent über die Notwendigkeit zu aktualisieren.

Auf der betrieblichen Ebene implementiert es Steuerungen, die das Risiko der Ausführung von nicht autorisierten Skripten reduzieren: es konfiguriert CI, keine Gabel-Workflows automatisch auszuführen, verwendet Runner mit minimalen und isolierten Berechtigungen, nutzt die Möglichkeit, Skripte in automatisierten Einrichtungen zu ignorieren (z.B. npm ci -ignore-scripts oder die npm config set igno-scripts true, wenn zutreffend), und vermeidet beliebige Downloads in Buildtime aus externen URLs. Es ermöglicht auch eine strenge Überprüfung von TLS in allen automatisierten Prozessen und registriert ausgehende Anrufe während der Gebäude, um verdächtige Downloads zu erkennen.

Der Kreuz-Ökosystem-Angriff, der Packagist schüttelt: wenn PHP und Node Rücktüren in CI zulassen
Bild generiert mit IA.

Aus Sicht des Software-Lieferkettenmanagements nimmt es fortschrittlichere Sicherheitspraktiken an: Es erzeugt und verbraucht SBOMs, verwendet Gerätesignaturen und Quellverifikation (z.B. Technologien wie z.B. Sigstore), und gilt SCA-Scanning einschließlich Analyse von CI-Paket. json und workflows, nicht nur das wichtigste Ökosystem manifestiert. Sicherheitstools und Plattformen wie GitHub Actions erfordern strenge Richtlinien für die Ausführung von Drittanbietern; überprüfen GitHub Actions' Dokumentation zum Workflow-Schutz, um die Ausführung von unzuverlässigen Code zu reduzieren: GitHub Aktionen.

Für die Erkennung und Reaktion, es enthält Scanner auf der Suche nach verdächtigen Postinstall-Skripten, binäre Download-Muster in / tmp, oder Anrufe auf ungewöhnliche Domains und Repositories. Dienstleistungen und externe Anbieter, die auf SCA spezialisiert sind, können dazu beitragen, böswillige Versionen und Blockaden in Paketquellen zu identifizieren; zusätzlich, die Freigabe-Zulassungsrichtlinien zu halten und menschliche Überprüfungen vor der Veröffentlichung oder Integration von Änderungen in kritischen Einheiten erfordert reduziert die Wahrscheinlichkeit von unbemerkten Verpflichtungen.

Dieser Vorfall erinnert daran, dass die Sicherheit der Lieferkette eine kreuzschneidende Sichtbarkeit erfordert: es reicht nicht aus, ein einziges Ökosystem zu prüfen, wenn Projekte Sprachen und Werkzeuge mischen. Aktualisieren Sie aktuelle Inventar von Einheiten, verwenden Sie Installationssteuerungen und defensive CI, benötigen unterzeichnete Gerätequelle und handeln Sie schnell im Falle der Erkennung, um das Belichtungsfenster zu mildern. Um das Bild und die besten Praktiken bei den Anschlägen der Lieferkette besser zu verstehen, konsultieren Sie die Analyse und praktischen Anleitungen wie Snyk auf solche Bedrohungen: Snyk - Software Supply Chain Attacks und überprüft regelmäßig offizielle Quellen und Sicherheitsrepositorien für Verpflichtungsindikatoren.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.