SUBSCRIBE FOR LIVE INCIDENT UPDATES

We'll send you updates on this incident as more details come to light

We are tracking the largest and most dangerous npm supply-chain compromise in history, known as the Shai-Hulud malware campaign, which has now impacted hundreds of packages across multiple maintainers. This includes popular libraries such as @ctrl/tinycolor as well as packages maintained by CrowdStrike. Malicious versions embed a trojanized script (bundle.js) designed to steal developer credentials, exfiltrate secrets, and persist in repositories and endpoints through automated workflows. The table below is continuously updated in real time as additional compromised packages are identified.

Subscribe for live updates

hubspot-form

What Happened?

Attackers published malicious versions of @ctrl/tinycolor and other npm packages, injecting a large obfuscated script (bundle.js) that executes automatically during installation. This payload repackages and republishes maintainer projects, enabling the malware to spread laterally across related packages without direct developer involvement. As a result, the compromise quickly scaled beyond its initial entry point, impacting not only widely used open-source libraries but also CrowdStrike’s npm packages.

The injected script performs credential harvesting and persistence operations. It runs TruffleHog to scan local filesystems and repositories for secrets, including npm tokens, GitHub credentials, and cloud access keys for AWS, GCP, and Azure. It also writes a hidden GitHub Actions workflow file (.github/workflows/shai-hulud-workflow.yml) that exfiltrates secrets during CI/CD runs, ensuring long-term access even after the initial infection. This dual focus on endpoint secret theft and backdoors makes Shai-Hulud one of the most dangerous campaigns ever compared to previous compromises.

What to Do?

Organizations should act quickly to contain the impact of the Shai-Hulud campaign.

  • Begin by scanning across all endpoints - developer machines, build servers, and CI/CD agents - for the presence of impacted packages (Koi customers already got alerts for relevant packages)
  • Any compromised versions should be removed immediately, and we recommend temporarily freezing npm package updates until the full scope of the attack is understood (Koi customers are protected via network guardrails)
  • Next, perform a complete credential rotation, including GitHub, npm, AWS, GCP, and Azure tokens, since the malware is designed to harvest secrets from multiple environments
  • Finally, audit your repositories for persistence mechanisms by reviewing .github/workflows/ for suspicious files such as shai-hulud-workflow.yml or unexpected branches

These steps will help reduce risk and limit attacker footholds while the investigation and cleanup continue.

Need Help?

Concerned your organization may be affected? Reach out to us for expert guidance on detecting compromised packages and mitigating this supply-chain attack.

IOCs

https://webhook[.]site/bb8ca5f6-4175-45d2-b042-fc9ebb8170b7

78e701f42b76ccde3f2678e548886860 [MD5] - bundle.js

fbf3fe241abf21b1a732352a037edec0 [MD5] - bundle.js

Confirmed Compromised Packages (Live Updates)

Compromised Packages Table
Package Name Compromised Version(s) Detection Date Status
react-complaint-image0.0.352025-09-16Removed from NPM
encounter-playground0.0.52025-09-16Removed from NPM
rxnt-authentication0.0.62025-09-16Removed from NPM
@nativescript-community/ui-drawer0.1.302025-09-16Removed from NPM
json-rules-engine-simplified0.2.12025-09-16Removed from NPM
react-jsonschema-form-extras0.3.212025-09-16Removed from NPM
rxnt-healthchecks-nestjs1.0.42025-09-16Removed from NPM
rxnt-kue1.0.52025-09-16Removed from NPM
swc-plugin-component-annotate1.6.132025-09-16Removed from NPM
ngx-color1.9.22025-09-16Removed from NPM
angulartics210.0.22025-09-16Removed from NPM
@ctrl/react-adsense19.0.22025-09-16Removed from NPM
ts-gaussian2.0.352025-09-16Removed from NPM
@ctrl/ngx-rightclick3.0.62025-09-16Removed from NPM
@ctrl/ts-base324.0.22025-09-16Removed from NPM
@ctrl/magnet-link4.0.22025-09-16Version Fixed
@ctrl/tinycolor4.0.42025-09-16Version Fixed
@ctrl/torrent-file4.1.12025-09-16Removed from NPM
@nativescript-community/sentry4.1.22025-09-16Removed from NPM
koa2-swagger-ui4.5.62025-09-16Removed from NPM
@ctrl/ngx-csv4.6.432025-09-16Removed from NPM
@nativescript-community/ui-collectionview5.11.12025-09-16Removed from NPM
@ctrl/shared-torrent5.11.22025-09-16Removed from NPM
@ctrl/ngx-codemirror6.0.22025-09-16Removed from NPM
@ctrl/deluge6.0.62025-09-16Removed from NPM
@nativescript-community/ui-material-bottomsheet6.3.22025-09-16Removed from NPM
@nativescript-community/ui-material-core-tabs7.2.22025-09-16Removed from NPM
@ctrl/transmission7.2.722025-09-16Removed from NPM
ngx-trend7.2.762025-09-16Removed from NPM
@ctrl/ngx-emoji-mart7.2.762025-09-16Removed from NPM
@ctrl/qbittorrent7.3.12025-09-16Removed from NPM
@ahmedhfarag/ngx-perfect-scrollbar8.0.1, 20.0.202025-09-16⚠️ Active
@ahmedhfarag/ngx-virtual-scroller4.0.4, 9.2.22025-09-16⚠️ Active
@art-ws/common9.7.22025-09-16Removed from NPM
@art-ws/config-eslint2.0.4, 2.0.52025-09-16Removed from NPM
@art-ws/config-ts2.0.7, 2.0.82025-09-16Removed from NPM
@art-ws/db-context2.0.242025-09-16Removed from NPM
@art-ws/di2.0.28, 2.0.322025-09-16Removed from NPM
@art-ws/di-node2.0.132025-09-16Removed from NPM
@art-ws/eslint1.0.5, 1.0.62025-09-16Removed from NPM
@art-ws/fastify-http-server2.0.24, 2.0.272025-09-16Removed from NPM
@art-ws/http-server2.0.21, 2.0.252025-09-16Removed from NPM
@art-ws/openapi0.1.9, 0.1.122025-09-16Removed from NPM
@art-ws/package-base1.0.5, 1.0.62025-09-16Removed from NPM
@art-ws/prettier1.0.5, 1.0.62025-09-16Removed from NPM
@art-ws/slf2.0.15, 2.0.222025-09-16Removed from NPM
@art-ws/ssl-info1.0.9, 1.0.102025-09-16Removed from NPM
@art-ws/web-app1.0.3, 1.0.42025-09-16Removed from NPM
@crowdstrike/commitlint8.1.1, 8.1.22025-09-16Removed from NPM
@crowdstrike/falcon-shoelace0.4.1, 0.4.22025-09-16Removed from NPM
@crowdstrike/foundry-js0.19.1, 0.19.22025-09-16Removed from NPM
@crowdstrike/glide-core0.34.2, 0.34.32025-09-16Removed from NPM
@crowdstrike/logscale-dashboard1.205.1, 1.205.22025-09-16Removed from NPM
@crowdstrike/logscale-file-editor1.205.1, 1.205.22025-09-16Removed from NPM
@crowdstrike/logscale-parser-edit1.205.1, 1.205.22025-09-16Removed from NPM
@crowdstrike/logscale-search1.205.1, 1.205.22025-09-16Removed from NPM
@crowdstrike/tailwind-toucan-base5.0.1, 5.0.22025-09-16Removed from NPM
@hestjs/core0.2.12025-09-16Removed from NPM
@hestjs/cqrs0.1.62025-09-16Removed from NPM
@hestjs/demo0.1.22025-09-16Removed from NPM
@hestjs/eslint-config0.1.22025-09-16Removed from NPM
@hestjs/logger0.1.62025-09-16Removed from NPM
@hestjs/scalar0.1.72025-09-16Removed from NPM
@hestjs/validation0.1.62025-09-16Removed from NPM
@nativescript-community/arraybuffers1.1.6, 1.1.7, 1.1.82025-09-16Removed from NPM
@nativescript-community/perms3.0.5, 3.0.6, 3.0.7, 3.0.82025-09-16Removed from NPM
@nativescript-community/sqlite3.5.2, 3.5.3, 3.5.4, 3.5.52025-09-16Removed from NPM
@nativescript-community/typeorm0.2.30, 0.2.31, 0.2.32, 0.2.332025-09-16Removed from NPM
@nativescript-community/ui-document-picker6.0.62025-09-16Removed from NPM
@nativescript-community/ui-label1.3.35, 1.3.36, 1.3.372025-09-16Removed from NPM
@nativescript-community/ui-material-bottom-navigation7.2.72, 7.2.73, 7.2.74, 7.2.752025-09-16Removed from NPM
@nativescript-community/ui-material-ripple7.2.72, 7.2.73, 7.2.74, 7.2.752025-09-16Removed from NPM
@nativescript-community/ui-material-tabs7.2.72, 7.2.73, 7.2.74, 7.2.752025-09-16Removed from NPM
@nativescript-community/ui-pager14.1.36, 14.1.37, 14.1.382025-09-16Removed from NPM
@nativescript-community/ui-pulltorefresh2.5.4, 2.5.5, 2.5.6, 2.5.72025-09-16Removed from NPM
@nexe/config-manager0.1.12025-09-16Removed from NPM
@nexe/eslint-config0.1.12025-09-16Removed from NPM
@nexe/logger0.1.32025-09-16Removed from NPM
@nstudio/angular20.0.4, 20.0.5, 20.0.62025-09-16Removed from NPM
@nstudio/focus20.0.4, 20.0.5, 20.0.62025-09-16Removed from NPM
@nstudio/nativescript-checkbox2.0.6, 2.0.7, 2.0.8, 2.0.92025-09-16Removed from NPM
@nstudio/nativescript-loading-indicator5.0.1, 5.0.2, 5.0.3, 5.0.42025-09-16Removed from NPM
@nstudio/ui-collectionview5.1.11, 5.1.12, 5.1.13, 5.1.142025-09-16Removed from NPM
@nstudio/web20.0.42025-09-16Removed from NPM
@nstudio/web-angular20.0.42025-09-16Removed from NPM
@nstudio/xplat20.0.5, 20.0.6, 20.0.72025-09-16Removed from NPM
@nstudio/xplat-utils20.0.5, 20.0.6, 20.0.72025-09-16Removed from NPM
@operato/board9.0.512025-09-16⚠️ Active
@operato/data-grist9.0.29, 9.0.35, 9.0.36, 9.0.372025-09-16Removed from NPM
@operato/graphql9.0.512025-09-16⚠️ Active
@operato/headroom9.0.2, 9.0.35, 9.0.36, 9.0.372025-09-16Removed from NPM
@operato/help9.0.512025-09-16⚠️ Active
@operato/i18n9.0.35, 9.0.36, 9.0.372025-09-16Removed from NPM
@operato/input9.0.482025-09-16Removed from NPM
@operato/layout9.0.35, 9.0.36, 9.0.372025-09-16Removed from NPM
@operato/popup9.0.22, 9.0.35, 9.0.36, 9.0.37, 9.0.38, 9.0.39, 9.0.40, 9.0.41, 9.0.42, 9.0.43, 9.0.44, 9.0.45, 9.0.462025-09-16Removed from NPM
@operato/pull-to-refresh9.0.472025-09-16⚠️ Active
@operato/shell9.0.22, 9.0.35, 9.0.36, 9.0.37, 9.0.38, 9.0.392025-09-16Removed from NPM
@operato/styles9.0.2, 9.0.35, 9.0.36, 9.0.372025-09-16Removed from NPM
@operato/utils9.0.512025-09-16⚠️ Active
@teselagen/bounce-loader0.3.16, 0.3.172025-09-16Removed from NPM
@teselagen/liquibase-tools0.4.12025-09-16Removed from NPM
@teselagen/range-utils0.3.14, 0.3.152025-09-16Removed from NPM
@teselagen/react-list0.8.19, 0.8.202025-09-16Removed from NPM
@teselagen/react-table6.10.192025-09-16Removed from NPM
@thangved/callback-window1.1.42025-09-16Removed from NPM
@things-factory/attachment-base9.0.552025-09-16⚠️ Active
@things-factory/auth-base9.0.43, 9.0.44, 9.0.452025-09-16Removed from NPM
@things-factory/email-base9.0.592025-09-16⚠️ Active
@things-factory/env9.0.42, 9.0.43, 9.0.44, 9.0.452025-09-16Removed from NPM
@things-factory/integration-base9.0.43, 9.0.44, 9.0.452025-09-16Removed from NPM
@things-factory/integration-marketplace9.0.43, 9.0.44, 9.0.452025-09-16Removed from NPM
@things-factory/shell9.0.43, 9.0.44, 9.0.452025-09-16Removed from NPM
@tnf-dev/api1.0.82025-09-16Removed from NPM
@tnf-dev/core1.0.82025-09-16Removed from NPM
@tnf-dev/js1.0.82025-09-16Removed from NPM
@tnf-dev/mui1.0.82025-09-16Removed from NPM
@tnf-dev/react1.0.82025-09-16Removed from NPM
@ui-ux-gang/devextreme-angular-rpk24.1.72025-09-16Removed from NPM
@yoobic/design-system6.5.172025-09-16Removed from NPM
@yoobic/jpeg-camera-es61.0.132025-09-16Removed from NPM
@yoobic/yobi8.7.532025-09-16Removed from NPM
airchief0.3.12025-09-16Removed from NPM
airpilot0.8.82025-09-16Removed from NPM
browser-webdriver-downloader3.0.82025-09-16Removed from NPM
capacitor-notificationhandler0.0.32025-09-16Removed from NPM
capacitor-plugin-healthapp0.0.32025-09-16Removed from NPM
capacitor-plugin-ihealth1.1.92025-09-16Removed from NPM
capacitor-plugin-vonage1.0.32025-09-16Removed from NPM
capacitorandroidpermissions0.0.52025-09-16Removed from NPM
config-cordova0.8.52025-09-16Removed from NPM
cordova-plugin-voxeet21.0.242025-09-16Removed from NPM
cordova-voxeet1.0.322025-09-16Removed from NPM
create-hest-app0.1.92025-09-16Removed from NPM
db-evo1.1.52025-09-16Removed from NPM
devextreme-angular-rpk21.2.82025-09-16Removed from NPM
ember-browser-services5.0.2, 5.0.32025-09-16Removed from NPM
ember-headless-form1.1.2, 1.1.32025-09-16Removed from NPM
ember-headless-form-yup1.0.12025-09-16Removed from NPM
ember-headless-table2.1.5, 2.1.62025-09-16Removed from NPM
ember-url-hash-polyfill1.0.12, 1.0.132025-09-16Removed from NPM
ember-velcro2.2.1, 2.2.22025-09-16Removed from NPM
eslint-config-crowdstrike11.0.2, 11.0.32025-09-16Removed from NPM
eslint-config-crowdstrike-node4.0.3, 4.0.42025-09-16Removed from NPM
eslint-config-teselagen6.1.72025-09-16Removed from NPM
globalize-rpk1.7.42025-09-16Removed from NPM
graphql-sequelize-teselagen5.3.82025-09-16Removed from NPM
html-to-base64-image1.0.22025-09-16Removed from NPM
jumpgate0.0.22025-09-16Removed from NPM
mcfly-semantic-release1.3.12025-09-16Removed from NPM
mcp-knowledge-base0.0.22025-09-16Removed from NPM
mcp-knowledge-graph1.2.12025-09-16Removed from NPM
mobioffice-cli1.0.32025-09-16Removed from NPM
monorepo-next13.0.1, 13.0.22025-09-16Removed from NPM
mstate-angular0.4.42025-09-16Removed from NPM
mstate-cli0.4.72025-09-16Removed from NPM
mstate-dev-react1.1.12025-09-16Removed from NPM
mstate-react1.6.52025-09-16Removed from NPM
ng2-file-upload7.0.2, 7.0.3, 8.0.1, 8.0.2, 8.0.3, 9.0.12025-09-16Removed from NPM
ngx-bootstrap18.1.4, 19.0.3, 19.0.4, 20.0.3, 20.0.4, 20.0.52025-09-16Removed from NPM
ngx-ws1.1.62025-09-16Removed from NPM
oradm-to-gql35.0.14, 35.0.152025-09-16Removed from NPM
oradm-to-sqlz1.1.22025-09-16Removed from NPM
ove-auto-annotate0.0.92025-09-16Removed from NPM
pm2-gelf-json1.0.52025-09-16Removed from NPM
printjs-rpk1.6.12025-09-16Removed from NPM
remark-preset-lint-crowdstrike4.0.1, 4.0.22025-09-16Removed from NPM
tbssnch1.0.22025-09-16Removed from NPM
teselagen-interval-tree1.1.22025-09-16Removed from NPM
tg-client-query-builder2.14.4, 2.14.52025-09-16Removed from NPM
tg-redbird1.3.12025-09-16Removed from NPM
tg-seq-gen1.0.9, 1.0.102025-09-16Removed from NPM
thangved-react-grid1.0.32025-09-16Removed from NPM
ts-imports1.0.22025-09-16Removed from NPM
tvi-cli0.1.52025-09-16Removed from NPM
ve-bamreader0.2.62025-09-16Removed from NPM
ve-editor1.0.12025-09-16Removed from NPM
verror-extra6.0.12025-09-16Removed from NPM
voip-callkit1.0.32025-09-16Removed from NPM
wdio-web-reporter0.1.32025-09-16Removed from NPM
yargs-help-output5.0.32025-09-16Removed from NPM
yoo-styles6.0.3262025-09-16Removed from NPM
@basic-ui-components-stc/basic-ui-components1.0.52025-09-16⚠️ Active
@ui-ux-gang/devextreme-rpk24.1.72025-09-16Removed from NPM
ng-imports-checker0.0.102025-09-16Removed from NPM
ace-colorpicker-rpk0.0.142025-09-16Removed from NPM

Copied to clipboard