- NPM ecosystem में लोकप्रिय @ctrl/tinycolor सहित 40 से अधिक पैकेजों में self-propagating malware इंजेक्ट किया गया, जिससे development environment के secrets और CI/CD credentials तक श्रृंखलाबद्ध संक्रमण फैल सकने वाला supply chain attack हुआ। संक्रमित versions को npm से हटा दिया गया है
- attack payload npm install प्रक्रिया के दौरान Webpack bundle (
bundle.js, ~3.6MB) को asynchronous तरीके से चलाता है, और environment variables, file system, तथा cloud SDKs के जरिए व्यापक credential collection करता है
- malicious logic NpmModule.updatePackage के जरिए दूसरे पैकेजों को force patch और publish करके cascading propagation करता है, और GitHub Actions में shai-hulud workflow इंजेक्ट कर संगठन के secrets को
toJSON(secrets) के माध्यम से चुरा लेता है
- एकत्रित data public GitHub repository
Shai-Hulud बनाकर बाहर निकाला जाता है, और यह सामान्य development activity के रूप में छिप जाता है, जिससे detection से बचने की क्षमता अधिक होती है
- AWS/GCP/Azure/NPM/GitHub tokens तथा metadata endpoints तक पहुंच, और TruffleHog आधारित secret discovery जैसी गतिविधियां चुपचाप की जाती हैं
- तुरंत package removal, repository cleanup, और सभी credentials rotation के साथ CloudTrail/GCP Audit logs की जांच, webhook blocking, branch protection/Secret Scanning/cooldown policies लागू करने की आवश्यकता है
Affected Packages
- कुल 195 packages/versions रिपोर्ट किए गए हैं। प्रमुख उदाहरणों में @ctrl/tinycolor(4.1.1, 4.1.2), @ctrl/ namespace के कई पैकेज, @crowdstrike/ modules, ngx-bootstrap/ngx-toastr/ng2-file-upload/ngx-color जैसे Angular/web UI ecosystem के पैकेज, @nativescript-community/ और @nstudio/ mobile stack, teselagen/ life sciences toolchain, ember-*, koa2-swagger-ui, pm2-gelf-json, wdio-web-reporter शामिल हैं
- हर पैकेज के सटीक versions के लिए मूल तालिका देखें और यह बारीकी से cross-check करें कि वे versions उपयोग में हैं या नहीं
- उदाहरण:
@ctrl/ngx-emoji-mart 9.2.1, 9.2.2, @ctrl/qbittorrent 9.7.1, 9.7.2, ngx-bootstrap 18.1.4, 19.0.3–20.0.5, ng2-file-upload 7.0.2–9.0.1 आदि, यानी दायरा काफी व्यापक है
Immediate Actions Required
Identify and Remove Compromised Packages
- project में संक्रमित packages की मौजूदगी जांचें:
npm ls @ctrl/tinycolor आदि से सत्यापित करें
- संक्रमित packages को तुरंत हटाएं:
npm uninstall @ctrl/tinycolor जैसे command चलाएं
- ज्ञात
bundle.js hashes खोजकर local traces जांचें: sha256sum | grep 46faab8a... का उपयोग करें
Clean Infected Repositories
- malicious GitHub Actions workflow हटाएं:
.github/workflows/shai-hulud-workflow.yml को delete करें
- remote पर बने shai-hulud branch को detect और delete करें:
git ls-remote ... | grep shai-hulud के बाद git push origin --delete shai-hulud चलाएं
Rotate All Credentials Immediately
- NPM tokens, GitHub PAT/Actions secrets, SSH keys, AWS/GCP/Azure credentials, DB connection strings, third-party tokens, CI/CD secrets आदि सबका पूर्ण rotation आवश्यक है
- AWS Secrets Manager/GCP Secret Manager में stored items सहित सब कुछ rotate करना आवश्यक है
Audit Cloud Infrastructure for Compromise
- AWS: CloudTrail में
BatchGetSecretValue, ListSecrets, GetSecretValue calls के समय और patterns की जांच करें, और IAM Credential Report से असामान्य key creation/usage की पुष्टि करें
- GCP: Audit Logs से Secret Manager access records की जांच करें, और
CreateServiceAccountKey events की मौजूदगी सत्यापित करें
अभी कोई टिप्पणी नहीं है.