Zod 4.6.6 enthält versteckten Krypto-Miner im preinstall-Skript
Zod 4.6.6 compromised by malware?
Ein GitHub-Commit für Zod 4.6.6 hat ein preinstall-Skript hinzugefügt, das über Ethereum-RPCs eine Adresse abfragt und eine Base64-Nutzlast ausführt. Der Code lädt Schadsoftware nach, die im temporären Verzeichnis ausgeführt und dann gelöscht wird. Die Version 4.6.6 sollte nicht installiert werden.
Der Code ruft eine Ethereum-Adresse ab, lädt eine Base64-kodierte Nutzlast herunter und führt sie aus – ein klarer Hinweis auf eine Supply-Chain-Attacke.
- jaynetics
Der kompromittierte Code wurde tatsächlich nie veröffentlicht. Dieser Write-up enthält viele Informationen:
- yuvalkarmi
Das ist drei Wochen her, Leute. Es WAR eine echte Repository-Kompromittierung – es hat es in Zods main geschafft, aber nicht zu npm.
Am 21. September hat jemand Colins Git-Credentials benutzt, um diesen kompromittierten Code ins Projekt zu pushen, Colin hat es bemerkt und noch am selben Tag rückgängig gemacht (PR #6620). Anschließend hat er am 11. Oktober 4.6.6 veröffentlicht, aber es enthielt NICHT den infizierten Code.
Übrigens war Zod nicht das einzige Ziel – derselbe Angriff wurde auch gegen standard-schema und nub versucht. Nub HAT es zu npm geschafft, aber das Malware-Scanning von npm hat es blockiert.
Sieht nach einem legitimen (naja, illegitimen) versuchten Supply-Chain-Angriff aus, aber keine tatsächliche Zod-Veröffentlichung wurde kompromittiert.
- luggage_bazooka
Die neueste Version 4.6.6 hat einen sehr interessanten Commit (d821685) "Fix bugs and improve performance", der die folgenden Änderungen enthält: https://github.com/colinhacks/zod/commit/d821685ea6732436fcd...
Ich habe mir nicht genau angesehen, was packages/mini/meta.test.mjs insbesondere macht, aber es sieht nicht gut aus
- jaapz
Might ist ziemlich zahm, es ist infiziert – EDIT: Der Titel wurde geändert, er lautete "might be infected".
Die Malware scheint ein JS-Payload einzuschleusen, das bei der Installation von zod ausgeführt wird, indem es von einem Ethereum-Smart-Contract abgerufen wird (wenn ich das richtig verstehe).
Vergesst nicht, die Version auf npm zu flaggen.
EDIT: Sieht so aus, als wäre das Update nie auf NPM gelandet: https://news.ycombinator.com/item?id=50053253
- xx_ns
Interessanterweise haben sie den Schlüssel `preinstall` (der das bösartige Skript bei der Installation ausführen soll) unter der package.json-Wurzel hinzugefügt und nicht unter `scripts`, also soweit ich das beurteilen kann, würde das bei der Installation nicht ausgeführt werden.
Ansonsten, ja, das scheint ein Stage-1-Loader zu sein, um ein Payload vom Ethereum-Mainnet abzurufen und auszuführen.