Supply-Chain-Angriff zielt auf Packagist mit bösartigen Post-Install-Skripten
Ein koordinierter Supply-Chain-Angriff hat acht Pakete auf **Packagist** kompromittiert und bösartigen Code in `package.json`-Dateien eingeschleust. Der Angriff nutzt Post-Install-Skripte, um eine Linux-Binärdatei aus einem inzwischen nicht mehr existierenden GitHub-Repository herunterzuladen und auszuführen, was potenziell Entwicklersysteme gefährden kann.
Eine neue "koordinierte" Supply-Chain-Angriffskampagne hat acht Pakete auf **Packagist** beeinträchtigt, darunter bösartiger Code, der darauf ausgelegt ist, eine Linux-Binärdatei von einer GitHub Releases URL auszuführen.
"Obwohl die betroffenen Pakete alle Composer-Pakete waren, wurde der bösartige Code nicht zu composer.json hinzugefügt", sagte **Socket**. "Stattdessen wurde er in package.json eingefügt und zielte auf Projekte ab, die JavaScript-Build-Tools neben PHP-Code ausliefern."

### Cross-Ecosystem-Targeting
Diese "Cross-Ecosystem-Platzierung" hebt die Aktivität hervor, da Entwickler und Sicherheitsteams, die PHP-Abhängigkeiten scannen, sich möglicherweise nur auf Composer-bezogene Metadaten konzentrieren und dabei `package.json`-Lifecycle-Hooks übersehen, die im Paket enthalten sind. Die bösartigen Versionen wurden inzwischen von Packagist entfernt.
Eine Analyse der Pakete hat ergeben, dass ihre Upstream-Repositories modifiziert wurden, um ein `postinstall`-Skript aufzunehmen, das versucht, eine Linux-Binärdatei von einer GitHub Releases URL (`github[.]com/parikhpreyash4/systemd-network-helper-aa5c751f`) herunterzuladen, sie im Ordner `/tmp/.sshd` zu speichern, ihre Berechtigungen mit `chmod` zu ändern, um allen Benutzern Ausführungsberechtigungen zu erteilen, und sie im Hintergrund auszuführen.
### Betroffene Pakete
Die Namen der Pakete und die zugehörige betroffene Version sind unten aufgeführt:
* moritz-sauer-13/silverstripe-cms-theme (dev-master)
* crosiersource/crosierlib-base (dev-master)
* devdojo/wave (dev-main)
* devdojo/genesis (dev-main)
* katanaui/katana (dev-main)
* elitedevsquad/sidecar-laravel (3.x-dev)
* r2luna/brain (dev-main)
* baskarcm/tzi-chat-ui (dev-main)

### Breitere Kampagne?
**Sockets** Untersuchung hat Verweise auf dieselbe payload in 777 Dateien auf **GitHub** gefunden, was darauf hindeutet, dass sie Teil einer breiteren Kampagne sein könnte. In mindestens zwei Fällen wurde sie zu einem GitHub-Workflow hinzugefügt. Es ist jedoch derzeit nicht bekannt, wie viele davon auf unterschiedliche Kompromittierungen, Forks, doppelte Paketartefakte oder gecachte Referenzen zurückzuführen sind.
* [Instanz 1](https://github.com/448776129/UA2F/blob/master/.github/workflows/ci.yml)
* [Instanz 2](https://github.com/448776129/blog-1/blob/9ebac2e4118396b84e508585f356bf06971c4fb5/.github/workflows/deploy_coding.yml)
"Dies deutet darauf hin, dass der Angreifer sich nicht auf einen einzigen Ausführungsmechanismus verlassen hat. In Paketartefakten wurde die payload über `package.json` `postinstall`-Skripte ausgelöst", sagte die Application Security Firma. "In Workflow-Dateien wurde sie so positioniert, dass sie während GitHub Actions Jobs ausgeführt wird."
### Payload-Analyse
Darüber hinaus ist die genaue Natur der von GitHub heruntergeladenen payload unklar, da das mit dem Repository verbundene GitHub-Konto nicht mehr verfügbar ist. Die Wahl des Namens "gvfsd-network" für die malware ist interessant, da sie sich auf einen **GNOME** Virtual File System (**GVfs**) Daemon bezieht, der für die Verwaltung und das Browsen von Netzwerkfreigaben zuständig ist.
"Selbst ohne die zweite Stufe der Binärdatei reicht der bösartige Installer aus, um eine Blockierung zu rechtfertigen", sagte **Socket**. "Er ermöglicht Remote Code Execution während der Installation oder von Build-Workflows und versucht, seine Aktivität zu verbergen, indem er die TLS-Überprüfung deaktiviert, Fehler unterdrückt und eine heruntergeladene Binärdatei im Hintergrund ausführt."