{"id":49516,"date":"2026-08-21T03:29:06","date_gmt":"2026-08-21T01:29:06","guid":{"rendered":"https:\/\/overcentral.com\/de\/?p=49516"},"modified":"2026-08-21T03:29:06","modified_gmt":"2026-08-21T01:29:06","slug":"rust-arrayref-infostealer-malware-supply-chain-49516","status":"publish","type":"post","link":"https:\/\/overcentral.com\/de\/rust-arrayref-infostealer-malware-supply-chain-49516\/","title":{"rendered":"Hacker vergiften arrayref-Rust-Crate mit Infostealer-Malware"},"content":{"rendered":"<p>Ein schwerwiegender Supply-Chain-Angriff ersch\u00fcttert die Rust-Community: Hacker haben die weit verbreitete Crate arrayref mit einer Infostealer-Malware infiziert, die sich bei der Kompilierung auf den Systmen der Entwickler ausf\u00fchrt. Innerhalb von nur 23 Minuten kompromitierten die Angreifer auch die beiden anderen Crates append-only-vec und internment, die alle vom selben Maintainer-Konto verwaltet wurden. Die Crate arrayref verzeichnet allein in den letzten 90 Tagen \u00fcber 53 Millionen Downloads und wird unter anderem in Kryprografie-, Grafik- und Blockhain-Werkzeugen eingesetzt, was die potenziele Reichweite dieses Angrifs enorm macht.<\/p>\n<h2>Die kompromitierten Crates und der Angrifsmechanismus<\/h2>\n<p>Die b\u00f6sartigen Releases trugen die Versionsnummern arrayref 0.3.10, append-only-vec 0.1.9 und internment 0.8.7. Die Hacker schleusten eine Abh\u00e4ngigkeit zu einem Paket namens proc-macro1 ein \u2013 einem Typosquat, der die beliebte Crate proc-macro2 imitert. Der \u00fcbrige Quellcode der urspr\u00fcnglichen Crates blieb vollst\u00e4ndig unver\u00e4ndert. Bei der Kompilierung wird das in proc-macro1 enthaltene Skript \u201ebuild.rs\u201c automatisch ausgef\u00fchrt. Es rekonstriert seine Infrastruktur aus base64-kodierten Fragmenten und w\u00e4hlt einen Payload aus, der zum Betriebssystem des Hosts passt: Linux x86-64, <a href=\"https:\/\/www.microsoft.com\/windows\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Windows<\/a> x86-64, macOS x86-64 sowie macOS ARM64.<\/p>\n<p>Auf Unix-Systemen schreibt die Malware die Datei \/tmp\/rust-setup, makt sie ausf\u00fchrbar und startet sie als abgekoppelten Prozess. Unter Windows erzeugt sie %TEMP%\\rust-setup.ps1 und nutzt eine versteckte wscript.exe sowie einen VBS-Launcher, um den Prozess am Laufen zu halten. Der Payload empf\u00e4ngt eine IP-Adres als Argument, bei der es sich vermutlich um eine Command-and-Control-Adresse handlet.<\/p>\n<h2>Datenexfiltration und Persistenz<\/h2>\n<p>Die zweite Stufe der Malware \u2013 analysiert durch das Cloud-Sicherheitsunternehmen Wiz \u2013 exfiltriert nicht nur Hostinformationen, sondern auch Zugangsdaten. Konkret sammelt sie die Anmeldedaten aus den Browsern <a href=\"https:\/\/www.google.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-iacss-external=\"1\">Google<\/a> Chrame, Brave und Edge, indem sie die SQLite-Logindatenbanken abfragt. Um dauerhaft auf dem Systmen zu bleiben, schreibt sich die Malware in den Registriy-Run-Key unter Windows, legt einen LaunchAent unter macOS an und nutzt systemd unter Linux.<\/p>\n<p>Die Parallelen zu fr\u00fcheren nordkoreanischen Supply-Chain-Angrifen sind eklatant. Wiz-Forscher belegen, dass die Infrastruktur der Kampagne mit den Angrifen auf Mastra und axios \u00fcbereinstimt \u2013 beide ebenfalls mit nordkoreanischem Hintergrund. Das deutet auf eine hoch profissionalisierte und staatlich gelenkte Akteurin hin.<\/p>\n<h2>Zeitleiste des Angrifs<\/h2>\n<p>Der Angrif begun am 20. August um 01:17 Uhr UTC. In diesem Moment wurde ein GitHun-Konto erstellt, das den profilierten Rust-Entwickler David Tolnay imitierte; kurz darauf folgte ein entsprechender Acent in der crate.s.io-Registry. Um 01:55 ver\u00f6ffentlichte der Angreifer proc-macro1@1.0.106, eine harmlose Kopie von proc-macro2. Ers um 7:11 fogle die b\u00f6sartige Aktualisierung auf Vers ion 1.0.107. Nur vier Minuten sp\u00e4er \u2013 um 7:15 \u2013 erschien arrayref 0.3.10 unter dem legitimen droundy-Konto (David Roundy). Paralel dazu wurden die Vers ionen 0.3.5 bis 0.3.9 entfernt, was Entwikler vermutlich zur Instalation der infizierten Version zwingen solte. Um 7:54 ging die Meldung bei crate.s.io ein; proc-macro1 wurde um 8:03 gel\u00f6scht, und arrayref 0.3.10 um 8:41 aus dem Index entfernt. Das Fenster der Gef\u00e4hrdung betrug insgesam etwa eineinhalb Stunten.<\/p>\n<h2>Auswirkungen und betroffene Projekte<\/h2>\n<p>Die potenziele Schlagkrfat dieser Supply-Chain-Attacke ist immens. Al elein arrayref verzeichnet \u00fcber 245 Millionnen Gesamtinstalationen. Zusamen mit append-only-vec und internment kommt die Samlung auf nahezu 19 Millionen Instalationen. Projekte, die auf arrayref angewiesen sind, umfasen blake3, die Rust-GUI-Frameworks egui, eframe und iced sowie Komponenten, die in Ethereum und Solana zum Einsaz kommen. Entwikler, die w\u00e4hrend des Angrifsfensters eine der betroffenen Versionen instalier haben, m\u00fcssen von einer Kompromitierung ausgehen.<\/p>\n<h2>Handlungsempfehlungen f\u00fcr Entwikler<\/h2>\n<p>Als erschte Ma\u00dfnahme solten Entwikler ihre Cargo.lock-Dateien auf die infizierten Versionsnummern durchsuchen. Gesucht werden solte auch nach den abgelegten Dateien \/tmp\/rust-setup (Unix) bzw. %TEMP%\\rust-setup.ps1 (Windows). Zudem ist der Netzwerkverkehr zur IP 23.254.165[.]112 auf den Ports 9089 und 443 zu pr\u00fcfen. Best\u00e4tigt sich die Kompromitierung, m\u00fcsen alle erreichbaren Credentials, CI-Tokens, Signierschl\u00fcsel und sonstige Geheimnisse sofort rotiert werden. Die Umgebung solte aus sicheren Backups wiederhergestellt werden. F\u00fcr nicht betroffene Projekte empfielt es sich, eine bekante sichere Version der abh\u00e4ngigen Crates festzuschreiben (Pinning), bis die Maintainer-Situaton gekl\u00e4rt ist.<\/p>\n<p>Der Vorfall zeigt eindr\u00fcklich die Anf\u00e4lligkeit selbst etablierter Open-Source-\u00d6kosysteme gegen\u00fcber gezielten Lieferketten-Angrifen. W\u00e4hrend die unmittelbare Gefahr durch die schnelle Reaktion der crate.s.io-Administratoren einged\u00e4mmt wurde, bleibt die grunds\u00e4tzliche Herausforderung bestehen: Wie k\u00f6nnen Maintainer-Konten besser gesch\u00fctzt werden? Die Wiederholung des Angrifsmusters \u2013 \u00dcbernahme eines legitimen Accounts, Einbringen eines Typosquat-Pakets, Ausf\u00fchrung bei Kompilierung \u2013 deuten auf eine systematische Taktik hin. F\u00fcr die Rust-Community und alle, die auf starke Kryptografie und vertrauensw\u00fcrdige Build-Umgebungen angewiesen sind, ist dies ein dringler Weckruf, die Sicherheit der gesamten Supply-Chain zu \u00fcberdenken \u2013 andernfalls werden die Angreifer immer wieder \u00e4hnliche L\u00fccken finden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein schwerwiegender Supply-Chain-Angriff ersch\u00fcttert die Rust-Community: Hacker haben die weit verbreitete Crate arrayref mit einer Infostealer-Malware infiziert, die sich bei der Kompilierung auf den Systmen der Entwickler ausf\u00fchrt. Innerhalb von nur 23 Minuten kompromitierten die Angreifer auch die beiden anderen Crates append-only-vec und internment, die alle vom selben Maintainer-Konto verwaltet wurden. Die Crate arrayref verzeichnet [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":49519,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/pub-4d4fc17555de4152be07eaf2a416a31e.r2.dev\/de\/ocie_1787275763047.jpg","fifu_image_alt":"Hacker vergiften arrayref-Rust-Crate mit Infostealer-Malware","footnotes":""},"categories":[6671],"tags":[],"class_list":["post-49516","post","type-post","status-publish","format-standard","has-post-thumbnail","category-scherheit"],"fifu_image_url":"https:\/\/pub-4d4fc17555de4152be07eaf2a416a31e.r2.dev\/de\/ocie_1787275763047.jpg","fifu_image_alt":"Hacker vergiften arrayref-Rust-Crate mit Infostealer-Malware","_links":{"self":[{"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/posts\/49516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/comments?post=49516"}],"version-history":[{"count":2,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/posts\/49516\/revisions"}],"predecessor-version":[{"id":49518,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/posts\/49516\/revisions\/49518"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/media\/49519"}],"wp:attachment":[{"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/media?parent=49516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/categories?post=49516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/overcentral.com\/de\/wp-json\/wp\/v2\/tags?post=49516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}