Criticalnpm5 affected versions

node-ci-utils

node-ci-utils has 5 versions on the npm registry flagged in 2 incidents we track. Other versions of this package are not implicated - only the exact versions listed below were named by the source advisories.

Affected versions

Check what you actually have installed with npm ls node-ci-utils.

  • node-ci-utils@2.1.4
  • node-ci-utils@2.1.3
  • node-ci-utils@2.1.2
  • node-ci-utils@2.1.1
  • node-ci-utils@2.1.0

The 2 incidents that flagged it

Critical

GitHub Advisory npm CWE-506 mega-sweep - 54-package sample from the 2026-07-27 → 2026-07-28 batch (8-package Ethereum-tooling `curl|bash` typosquat cluster, chalk / express / prettier / prisma / dotenv / chai-as-promised typosquat pairs, "helper/utils/tool/pack" credential+wallet-stealer family, 13-package dep-confusion cluster with `999.x` / `19999.x` / `99.99.99` version-inflation, Shai-Hulud-style preinstall Bun stealer resurgence, `@vaultflow/*` 2026-07-28 pair, `claude-code-base-action` Anthropic typosquat)

GitHub Advisory Database published a mega-batch of 250+ new npm CWE-506 malware advisories on 2026-07-27 (spanning 12+ paginated result pages), plus 2 more on 2026-07-28 (@vaultflow/create-flow, @vaultflow/update-flow). This module catalogues 54 non-@antv non-previously-tracked packages from the batch. Notable clusters: 8-package Ethereum-tooling curl|bash operator (web3-core-js, truffle-js, truffle-helper, solc-helper, hardhat-core, ethers-common, ethers-io, cdp-core), typosquat pairs (chalk-*, exxpress-*, prettier-lint-lenz, prisma-callback, env-threads), dep-confusion with inflated version numbers (999.x, 19999.x, 99.99.99), and Shai-Hulud-style preinstall Bun credential stealers on mcp-echarts, mcp-mermaid, ai-figure, gantt-for-react, amapcn, boring-avatars-vanilla, jest-canvas-mock, @cap-js/openapi.

Versions named here: 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4

Critical

`node-ci-utils` / `win-env-setup` / `macos-ci-utils` npm droppers deliver the NastyC2 Rust post-exploitation framework

Three npm packages - node-ci-utils@2.1.4, win-env-setup@3.0.5/3.0.6, and macos-ci-utils@1.0.0/1.0.1 - masqueraded as CI tooling while acting as cross-platform droppers for NastyC2, a previously undocumented Rust post-exploitation framework with 80+ commands comparable in scope to Cobalt Strike and Sliver. npm removed all three packages between 2026-06-01 and 2026-06-13; the public disclosure landed in The Hacker News ThreatsDay Bulletin on 2026-06-18.

Versions named here: 2.1.4

What to do if you installed one of these

Treat the machine as compromised rather than simply upgrading. Packages in these incidents typically execute at install time, so the payload has already run with whatever credentials were in the environment.

  1. 1.Rotate every credential that machine or CI job could reach - registry tokens, cloud keys, SSH keys, CI secrets - from a different machine.
  2. 2.Pin to a version not listed above, then reinstall from a clean lockfile.
  3. 3.Clear caches and private mirrors. Artifactory, Nexus, Verdaccio, and devpi routinely keep serving a tarball after the public registry has pulled it.
  4. 4.Read the incident write-up above - recommended actions differ per incident, and some have specific indicators of compromise worth grepping your logs for.

Check your whole project

node-ci-utils is one of many packages in these incidents, and it is usually pulled in as a transitive dependency rather than one you installed directly. Paste your package-lock.json to check every dependency at once - it runs in your browser and nothing is uploaded.

Other packages in the same incident

If node-ci-utils is in your tree, these are worth checking too - they were published by the same campaign.

See the full incident

Version data comes from the public advisories cited on each incident page. We list only versions those advisories name - we don't infer additional ones. Think this is wrong or incomplete? Tell us.