npm package intelligence

vitest — deep security report

ShadowCanopy's full breakdown of vitest on npm: verdict, AI analysis, dependency chain, network behavior, prebuilds, and obfuscated code.

Safe to use
Deep-scanned by ShadowCanopy — no threats found in its code, dependencies, or network behavior.
Scanned 8/8/2026
Approvedvitest@4.1.10View on registry ↗latest: 4.1.10

All flagged patterns are from legitimate bundled/minified code in Vitest (acorn parser for JS identifiers, ANSI escape handling, source-map base64 decoding, dynamic module imports, worker forking, and Vite module runner). No malicious behavior present.

Protect your projects free

AI breakdown

Plain-English summary of what this package does and how it behaves.

Vitest is a testing framework powered by Vite, providing CLI entrypoint, build/dev scripts, and numerous dist chunks for test running and coverage.

Capabilities

  • Obfuscated source files (multiple)
  • Remote fetch with process execution
  • Decoded payload executed
  • Dynamic module load with remote source
  • Runtime remote code execution
  • Hardcoded public IP in network code

Data access

  • None observed

Network

  • Remote fetch with process execution
  • Hardcoded public IP in network code

Manifest describes a legitimate testing tool with Vite dependency and CLI, but static findings flag repeated obfuscation, remote fetches, dynamic loading, and RCE indicators that warrant caution before installation.

Dependency & execution chain

Every package this one pulls in, colored by verdict. Expand to walk the tree.

40 packages21 direct
vitest@4.1.1028 findings
obug@2.1.4
vite@8.2.124 findings
pathe@2.0.3
std-env@4.2.0
tinyexec@1.3.0
picomatch@4.0.52 findings
tinybench@6.1.2
tinyglobby@0.2.17
@vitest/expect@4.1.102 findings
@vitest/mocker@4.1.102 findings
@vitest/runner@4.1.102 findings
es-module-lexer@2.3.114 findings
@vitest/snapshot@4.1.102 findings

Obfuscated / hidden code

Encoded payloads decoded statically (without executing them) so you can see what they resolve to.

Obfuscated source filedist/chunks/acorn.B2iPLyUM.js

Multiple obfuscation patterns in dist/chunks/acorn.B2iPLyUM.js

Obfuscated source filepackage/dist/chunks/acorn.B2iPLyUM.js

Multiple obfuscation patterns in package/dist/chunks/acorn.B2iPLyUM.js

Security findings (28)

Static analysis rule matches, with the exact code that triggered them.

mediumObfuscated source fileATK-023dist/chunks/acorn.B2iPLyUM.js

Multiple obfuscation patterns in dist/chunks/acorn.B2iPLyUM.js

mediumObfuscated source fileATK-023package/dist/chunks/acorn.B2iPLyUM.js

Multiple obfuscation patterns in package/dist/chunks/acorn.B2iPLyUM.js

mediumObfuscated source fileATK-023dist/chunks/cli-api.BK8pd4xc.js

Multiple obfuscation patterns in dist/chunks/cli-api.BK8pd4xc.js

mediumObfuscated source fileATK-023package/dist/chunks/cli-api.BK8pd4xc.js

Multiple obfuscation patterns in package/dist/chunks/cli-api.BK8pd4xc.js

mediumObfuscated source fileATK-023dist/chunks/index.og1WyBLx.js

Multiple obfuscation patterns in dist/chunks/index.og1WyBLx.js

mediumObfuscated source fileATK-023package/dist/chunks/index.og1WyBLx.js

Multiple obfuscation patterns in package/dist/chunks/index.og1WyBLx.js

mediumObfuscated source fileATK-023dist/chunks/index.UpGiHP7g.js

Multiple obfuscation patterns in dist/chunks/index.UpGiHP7g.js

mediumObfuscated source fileATK-023package/dist/chunks/index.UpGiHP7g.js

Multiple obfuscation patterns in package/dist/chunks/index.UpGiHP7g.js

highRemote fetch with process executionATK-024dist/chunks/cli-api.BK8pd4xc.js

File dist/chunks/cli-api.BK8pd4xc.js combines network access with process execution

highDecoded payload executedATK-026dist/chunks/cli-api.BK8pd4xc.js

File dist/chunks/cli-api.BK8pd4xc.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDynamic module load with remote sourceATK-027dist/chunks/cli-api.BK8pd4xc.js

File dist/chunks/cli-api.BK8pd4xc.js builds a dynamic import/require argument alongside network access — possible remote module loading.

highRemote fetch with process executionATK-024package/dist/chunks/cli-api.BK8pd4xc.js

File package/dist/chunks/cli-api.BK8pd4xc.js combines network access with process execution

highDecoded payload executedATK-026package/dist/chunks/cli-api.BK8pd4xc.js

File package/dist/chunks/cli-api.BK8pd4xc.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDynamic module load with remote sourceATK-027package/dist/chunks/cli-api.BK8pd4xc.js

File package/dist/chunks/cli-api.BK8pd4xc.js builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027dist/chunks/init.k9zZ9sLh.js

File dist/chunks/init.k9zZ9sLh.js builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027package/dist/chunks/init.k9zZ9sLh.js

File package/dist/chunks/init.k9zZ9sLh.js builds a dynamic import/require argument alongside network access — possible remote module loading.

criticalRuntime remote code executionATK-025dist/chunks/startVitestModuleRunner.DB-7oCpn.js

File dist/chunks/startVitestModuleRunner.DB-7oCpn.js fetches data over the network and passes it to a code-execution sink (eval/Function/vm) — remote code can run after install.

highDynamic module load with remote sourceATK-027dist/chunks/startVitestModuleRunner.DB-7oCpn.js

File dist/chunks/startVitestModuleRunner.DB-7oCpn.js builds a dynamic import/require argument alongside network access — possible remote module loading.

criticalRuntime remote code executionATK-025package/dist/chunks/startVitestModuleRunner.DB-7oCpn.js

File package/dist/chunks/startVitestModuleRunner.DB-7oCpn.js fetches data over the network and passes it to a code-execution sink (eval/Function/vm) — remote code can run after install.

highDynamic module load with remote sourceATK-027package/dist/chunks/startVitestModuleRunner.DB-7oCpn.js

File package/dist/chunks/startVitestModuleRunner.DB-7oCpn.js builds a dynamic import/require argument alongside network access — possible remote module loading.

highHardcoded public IP in network codeATK-028dist/chunks/test.DNmyFkvJ.js

File dist/chunks/test.DNmyFkvJ.js contains a hardcoded public IP (8.6.1.5) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028package/dist/chunks/test.DNmyFkvJ.js

File package/dist/chunks/test.DNmyFkvJ.js contains a hardcoded public IP (8.6.1.5) used in network code — review for hidden exfiltration or C2 endpoints.

criticalRuntime remote code executionATK-025dist/chunks/vm.CXMd5FHa.js

File dist/chunks/vm.CXMd5FHa.js fetches data over the network and passes it to a code-execution sink (eval/Function/vm) — remote code can run after install.

highDecoded payload executedATK-026dist/chunks/vm.CXMd5FHa.js

File dist/chunks/vm.CXMd5FHa.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDynamic module load with remote sourceATK-027dist/chunks/vm.CXMd5FHa.js

File dist/chunks/vm.CXMd5FHa.js builds a dynamic import/require argument alongside network access — possible remote module loading.

criticalRuntime remote code executionATK-025package/dist/chunks/vm.CXMd5FHa.js

File package/dist/chunks/vm.CXMd5FHa.js fetches data over the network and passes it to a code-execution sink (eval/Function/vm) — remote code can run after install.

highDecoded payload executedATK-026package/dist/chunks/vm.CXMd5FHa.js

File package/dist/chunks/vm.CXMd5FHa.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDynamic module load with remote sourceATK-027package/dist/chunks/vm.CXMd5FHa.js

File package/dist/chunks/vm.CXMd5FHa.js builds a dynamic import/require argument alongside network access — possible remote module loading.

Package metadata

LicenseMIT

Next generation testing framework powered by Vite

Homepage ↗Repository ↗

Files in package (228)

dist/config.cjspackage/dist/config.cjsindex.cjspackage/index.cjssuppress-warnings.cjspackage/suppress-warnings.cjsindex.d.ctspackage/index.d.ctsdist/chunks/_commonjsHelpers.D26ty3Ew.jspackage/dist/chunks/_commonjsHelpers.D26ty3Ew.jsdist/chunks/acorn.B2iPLyUM.jspackage/dist/chunks/acorn.B2iPLyUM.jsdist/chunks/base.B6Opl8PE.jspackage/dist/chunks/base.B6Opl8PE.jsdist/chunks/benchmark.CX_oY03V.jspackage/dist/chunks/benchmark.CX_oY03V.jsdist/browser.jspackage/dist/browser.jsdist/chunks/cac.DdICfEr1.jspackage/dist/chunks/cac.DdICfEr1.jsdist/chunks/cli-api.BK8pd4xc.jspackage/dist/chunks/cli-api.BK8pd4xc.jsdist/cli.jspackage/dist/cli.jsdist/config.jspackage/dist/config.jsdist/chunks/console.3WNpx0tS.jspackage/dist/chunks/console.3WNpx0tS.jsdist/chunks/constants.CPYnjOGj.jspackage/dist/chunks/constants.CPYnjOGj.jsbrowser/context.jspackage/browser/context.jsdist/chunks/coverage.CTzCuANN.jspackage/dist/chunks/coverage.CTzCuANN.jsdist/chunks/coverage.DM_a_rWm.jspackage/dist/chunks/coverage.DM_a_rWm.jsdist/coverage.jspackage/dist/coverage.jsdist/chunks/creator.DgVhQm5q.jspackage/dist/chunks/creator.DgVhQm5q.js

How ShadowCanopy checks npm packages

ShadowCanopy blocks every dependency by default and only lets through what it can verify — against live malicious-package advisories, an AI behavior scan, and a byte-for-byte hash check. It protects installs across npm, PyPI, crates.io, pkg.go.dev, RubyGems, Maven Central, NuGet, Packagist, Hex, pub.dev, Swift Package Manager.

Protect your projects freeSee what's being blocked

This report reflects ShadowCanopy's threat intelligence at page load and is informational, not a warranty. Canonical URL: https://shadowcanopy.dev/packages/npm/vitest