npm package intelligence

vite — deep security report

ShadowCanopy's full breakdown of vite 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
Approvedvite@8.2.1View on registry ↗latest: 8.2.1

Vite 8.2.1 is a legitimate, widely-used build tool. All flagged patterns (Function('return this'), regex with \x00/\u0100, atob/Buffer.from base64, .exec on regexes, fetch calls, WASM xxhash64) are from bundled third-party deps (lodash, postcss-modules, parse5, entities) performing normal Unicode handling, CSS module parsing, HTML entity decoding, and source-map work. No malicious sinks, C2, exfil, or hidden payloads present.

Protect your projects free

AI breakdown

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

Vite is a native-ESM powered web dev build tool providing CLI, bundling, and development server capabilities via bin/vite.js and distributed build artifacts.

Capabilities

  • Provides CLI entrypoint
  • Runs build and dev scripts using rolldown and other tools
  • Includes bundled client and node modules
  • Contains obfuscated source files
  • Remote fetch with process execution
  • Dynamic module load with remote source

Data access

  • Filesystem
  • Environment variables

Network

  • Makes outbound HTTP requests

Static findings flag multiple instances of obfuscated files, remote fetches with execution, decoded payloads, and dynamic remote module loads; as a widely used build tool these may reflect bundled dependencies or false positives but warrant review before installation.

Dependency & execution chain

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

13 packages6 direct
vite@8.2.124 findings
postcss@8.5.262 findings
rolldown@1.2.36 findings
picomatch@4.0.52 findings
tinyglobby@0.2.17
lightningcss@1.33.0

Security findings (24)

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

mediumObfuscated source fileATK-023dist/node/chunks/build.js

Multiple obfuscation patterns in dist/node/chunks/build.js

mediumObfuscated source fileATK-023package/dist/node/chunks/build.js

Multiple obfuscation patterns in package/dist/node/chunks/build.js

mediumObfuscated source fileATK-023dist/node/chunks/dist.js

Multiple obfuscation patterns in dist/node/chunks/dist.js

mediumObfuscated source fileATK-023package/dist/node/chunks/dist.js

Multiple obfuscation patterns in package/dist/node/chunks/dist.js

mediumObfuscated source fileATK-023dist/node/module-runner.js

Multiple obfuscation patterns in dist/node/module-runner.js

mediumObfuscated source fileATK-023package/dist/node/module-runner.js

Multiple obfuscation patterns in package/dist/node/module-runner.js

highRemote fetch with process executionATK-024dist/node/chunks/build.js

File dist/node/chunks/build.js combines network access with process execution

highDecoded payload executedATK-026dist/node/chunks/build.js

File dist/node/chunks/build.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/node/chunks/build.js

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

highRemote fetch with process executionATK-024package/dist/node/chunks/build.js

File package/dist/node/chunks/build.js combines network access with process execution

highDecoded payload executedATK-026package/dist/node/chunks/build.js

File package/dist/node/chunks/build.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/node/chunks/build.js

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

highDecoded payload executedATK-026dist/node/module-runner.js

File dist/node/module-runner.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highDecoded payload executedATK-026package/dist/node/module-runner.js

File package/dist/node/module-runner.js decodes a base64/hex blob and passes it to an execution sink — a common way to hide a malicious payload.

highRemote fetch with process executionATK-024dist/client/bundledDevClient.mjs

File dist/client/bundledDevClient.mjs combines network access with process execution

highDynamic module load with remote sourceATK-027dist/client/bundledDevClient.mjs

File dist/client/bundledDevClient.mjs builds a dynamic import/require argument alongside network access — possible remote module loading.

highRemote fetch with process executionATK-024package/dist/client/bundledDevClient.mjs

File package/dist/client/bundledDevClient.mjs combines network access with process execution

highDynamic module load with remote sourceATK-027package/dist/client/bundledDevClient.mjs

File package/dist/client/bundledDevClient.mjs builds a dynamic import/require argument alongside network access — possible remote module loading.

highRemote fetch with process executionATK-024dist/client/client.mjs

File dist/client/client.mjs combines network access with process execution

highDynamic module load with remote sourceATK-027dist/client/client.mjs

File dist/client/client.mjs builds a dynamic import/require argument alongside network access — possible remote module loading.

highRemote fetch with process executionATK-024package/dist/client/client.mjs

File package/dist/client/client.mjs combines network access with process execution

highDynamic module load with remote sourceATK-027package/dist/client/client.mjs

File package/dist/client/client.mjs builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027dist/node/index.d.ts

File dist/node/index.d.ts builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027package/dist/node/index.d.ts

File package/dist/node/index.d.ts builds a dynamic import/require argument alongside network access — possible remote module loading.

Package metadata

LicenseMIT

Native-ESM powered web dev build tool

Homepage ↗Repository ↗

Files in package (70)

dist/node/chunks/build.jspackage/dist/node/chunks/build.jsdist/node/cli.jspackage/dist/node/cli.jsdist/node/chunks/dist.jspackage/dist/node/chunks/dist.jsmisc/false.jspackage/misc/false.jsdist/node/index.jspackage/dist/node/index.jsdist/node/internal.jspackage/dist/node/internal.jsdist/node/chunks/lib.jspackage/dist/node/chunks/lib.jsdist/node/module-runner.jspackage/dist/node/module-runner.jsbin/openChrome.jspackage/bin/openChrome.jsdist/node/chunks/postcss-import.jspackage/dist/node/chunks/postcss-import.jsmisc/true.jspackage/misc/true.jsbin/vite.jspackage/bin/vite.jspackage.jsonpackage/package.jsonLICENSE.mdpackage/LICENSE.mdREADME.mdpackage/README.mddist/client/bundledDevClient.mjspackage/dist/client/bundledDevClient.mjsdist/client/client.mjspackage/dist/client/client.mjsdist/client/env.mjspackage/dist/client/env.mjsclient.d.tspackage/client.d.tstypes/internal/cssPreprocessorOptions.d.tspackage/types/internal/cssPreprocessorOptions.d.ts

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/vite