{"id":6983,"date":"2025-09-17T10:04:18","date_gmt":"2025-09-17T10:04:18","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/09\/17\/massive-shai-halud-supply-chain-attack-compromised-477-npm-packages\/"},"modified":"2025-09-17T10:04:18","modified_gmt":"2025-09-17T10:04:18","slug":"massive-shai-halud-supply-chain-attack-compromised-477-npm-packages","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/09\/17\/massive-shai-halud-supply-chain-attack-compromised-477-npm-packages\/","title":{"rendered":"Massive \u201cShai-Halud\u201d Supply Chain Attack Compromised 477 NPM Packages"},"content":{"rendered":"<p>    Massive \u201cShai-Halud\u201d Supply Chain Attack Compromised 477 NPM Packages<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p>A large-scale supply chain attack dubbed \u201cShai-Halud\u201d that infiltrated the JavaScript ecosystem via the npm registry.\u00a0<\/p>\n<p><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">In total, 477 packages, including packages <a href=\"https:\/\/cybersecuritynews.com\/npm-supply-chain-attack-crowdstrike\/\" target=\"_blank\" rel=\"noreferrer noopener\">from CrowdStrike<\/a><\/span>, were found to contain stealthy backdoors and trojanized modules designed to siphon credentials, exfiltrate source code, and enable\u00a0remote code execution (RCE)\u00a0on developer machines.<\/p>\n<pre class=\"wp-block-preformatted\"><strong>Key Takeaways<\/strong><br>1. Obfuscated backdoors hit 477 npm packages via minor version updates.<br>2. Payload harvested and exfiltrated credentials to a C2 server.<br>3. Fix by pinning versions, supply-chain scanning, checksum checks, and rotating secrets.<\/pre>\n<h2 class=\"wp-block-heading\" id=\"h-shai-halud-supply-chain-attack\"><strong>Shai-Halud Supply Chain Attack<\/strong><\/h2>\n<p>The adversary\u2019s campaign began in early August 2025, when compromised maintainer accounts were used to publish malicious updates under minor version bumps (e.g., from 1.2.3 to 1.2.4).\u00a0<\/p>\n<p>Each update injected a small, obfuscated payload within the module entry file (typically index.js). This loader reached out to a <a href=\"https:\/\/cybersecuritynews.com\/command-and-controlc2-server\/\" target=\"_blank\" rel=\"noreferrer noopener\">command-and-control (C2)<\/a> server to fetch a second-stage payload.\u00a0<\/p>\n<p>Socket reports that the payload searched project directories for .env files, SSH private keys (id_rsa), and Git credentials stored in .git\/config, then transmitted them in encrypted form back to the attacker\u2019s infrastructure.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"999\" height=\"633\" src=\"https:\/\/i0.wp.com\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95.png?resize=999%2C633&#038;ssl=1\" alt=\"Packages compromised\" class=\"wp-image-126504\" style=\"width:999px;height:auto\" srcset=\"https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95.png 999w, https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95-300x190.png 300w, https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95-768x487.png 768w, https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95-663x420.png 663w, https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95-696x441.png 696w, https:\/\/cybersecuritynews.com\/wp-content\/uploads\/2025\/09\/image-95-150x95.png 150w\" sizes=\"(max-width: 999px) 100vw, 999px\"><\/figure>\n<\/div>\n<p class=\"has-text-align-center\">Packages compromised<\/p>\n<p><a href=\"https:\/\/cybersecuritynews.com\/npm-supply-chain-attack-crowdstrike\/\" target=\"_blank\" rel=\"noreferrer noopener\">Shai-Halud\u2019s<\/a> use of version-range hijacking allowed attackers to maintain persistence: downstream projects specifying dependencies with loose semver ranges (e.g., \u201c^1.2.0\u201d) automatically pulled in the trojanized release.\u00a0<\/p>\n<p>Many high-profile libraries, ranging from development tools and CLI utilities to UI component frameworks, were affected, amplifying the blast radius. Detection strategies include:<\/p>\n<p>Integrate tools like npm audit, Snyk, or<a href=\"https:\/\/cybersecuritynews.com\/defending-against-owasp-top-10-vulnerabilities\/\" target=\"_blank\" rel=\"noreferrer noopener\"> OWASP<\/a> Dependency-Check into CI pipelines to flag anomalous version releases.<\/p>\n<p>Validate package integrity against known good SHA-256 hashes via npm ci \u2013prefer-offline \u2013hash-checksums. Employ runtime monitoring (e.g., Sysmon on Windows, auditd on Linux) to detect unexpected network calls or use of eval().<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-mitigations\"><strong>Mitigations\u00a0<\/strong><\/h2>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Lock Dependency Versions: <\/strong>Pin to specific package versions and avoid wide semver ranges.<\/li>\n<li>\n<strong>Rotate Secrets:<\/strong> Revoke and regenerate any exposed API tokens, SSH keys, and environment variables.<\/li>\n<li>\n<strong>Audit Your Dependencies:<\/strong> Run npm ls \u2013prod \u2013depth=0 to see direct dependencies and cross-check against advisories.<\/li>\n<\/ul>\n<p>As open-source ecosystems remain a prime target, securing the software <a href=\"https:\/\/cybersecuritynews.com\/cisa-warns-of-supply-chain-attack\/\" target=\"_blank\" rel=\"noreferrer noopener\">supply chain<\/a> through rigorous validation and continuous monitoring is more critical than ever.<\/p>\n<p class=\"has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 94%,rgb(169,184,195) 100%)\"><strong><code>Free live\u00a0webinar\u00a0on new malware tactics from our analysts! Learn advanced detection techniques -&gt;\u00a0<a href=\"https:\/\/anyrun.webinargeek.com\/new-malware-tactics-cases-detection-tips-for-socs?cst=li_csn\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Register for Free<\/a><\/code><\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/shai-halud-supply-chain-attack\/\">Massive \u201cShai-Halud\u201d Supply Chain Attack Compromised 477 NPM Packages<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Florence Nightingale<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/shai-halud-supply-chain-attack\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Massive \u201cShai-Halud\u201d Supply Chain Attack Compromised 477 NPM Packages A large-scale supply chain attack dubbed \u201cShai-Halud\u201d that infiltrated the JavaScript ecosystem via the npm registry.\u00a0 In total, 477 packages, including packages from CrowdStrike, were found to contain stealthy backdoors and trojanized modules designed to siphon credentials, exfiltrate source code, and enable\u00a0remote code execution (RCE)\u00a0on developer [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63,131,648],"tags":[130],"class_list":["post-6983","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-vulnerability","category-vulnerability-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/6983"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=6983"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/6983\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=6983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=6983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=6983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}