vite 8.3.5
- Source
- https://github.com/vitejs/vite
- Tag scanned
v8.3.5- Directory
packages/vite- Compared with
v8.3.4(1 signals introduced since)- Files
- 503 scanned, 60 skipped (binary, oversized, or unrecognised)
- Signals
- 1 critical · 0 warn · 33 info
- Scan time
- 16.8 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 25 of 25 warn and critical signals; 24 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-22 15:48
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
evalValue<T = any>: Tsuspicious Evaluates a raw string as a JavaScript expression via Function constructor.Reasoning
evalValue builds a Function body around a raw string, a pattern that is dangerous if fed untrusted input. In Vite it is used to parse config values from trusted source such as config files, with a sandboxed set of shadowed globals. It is an intentional, known utility rather than hidden obfuscation, but the evaluation of a string remains a real risk worth a human check of call sites.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/client/client.ts:160:27new in this releaseconst browserUrl = const importPromise =likely benign Vite client dynamically imports a computed module URL.Reasoning
Dynamic import of a browser URL derived from module URL and base for circular-import handling in the Vite client. Expected module-loading behavior with @vite-ignore.
-
likely benign IPA pronunciation notation in the Vite README.
Reasoning
The mixed-script flag is on IPA phonetic characters (ː) in a pronunciation guide in a README. Legitimate linguistic notation, not an identifier used for evasion.
-
likely benign HMR client dynamically imports a patch module by URL.
Reasoning
Dynamic import of an HMR patch URL built from the configured base path. The @vite-ignore comment marks an intentional bundler-skipped import; this is standard Vite HMR behavior, though it loads runtime-determined code from the dev server.
-
: Promise<any>likely benign Module runner evaluator imports an external module by path.Reasoning
The ESM evaluator imports an external module by filepath, which is the purpose of a module runner. The specifier is not attacker-controlled in normal operation, and the AST pattern alone does not show malicious intent.
-
return })likely benign Base64 decoding helper using atob and TextDecoder.Reasoning
atob decodes base64 into a TextDecoder for a utility; it is used to decode inline source or sourcemap data, a common and benign pattern. Decoding alone without a subsequent eval sink is not a dropper.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/__tests__/environment.spec.ts:173:25const chunk = . const mod = awaitlikely benign Test imports a built bundle fixture by path.Reasoning
Test file importing a built fixture path via import.meta.dirname. Ordinary test-harness behavior.
-
-
}) const mod1 = awaitlikely benign Test imports a fixture module relative to its directory.Reasoning
Test importing a fixture module via join with import.meta.dirname. Benign test scaffolding.
-
}) const mod2 = awaitlikely benign Test imports a virtual fixture module.Reasoning
Same pattern as the other resolve test: importing a local fixture file. Benign.
-
-----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIJS9D2rIN7tA8mMA0GCSqGSIb3DQEBCwUAMGkxFDASBgNV BAMTC2V4YW1wbGUub3JnMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWEx EzARBgNVBAcTCkJsYWNrc2J1cmcxDTALBgNVBAoTBFRlc3QxDTALBgNVBAsTBFRllikely benign Test fixture containing a PEM certificate.Reasoning
A PEM certificate fixture in a test file. Base64 of a certificate is expected test data, not a payload.
-
https://evanw.github.io/source-map-visualization/#MzQALyogY29tbWVudCAqLwpjb25zb2xlLmxvZygiZm9vIik7CjE1NgB7InZlcnNpb24iOjMsInNvdXJjZXMiOlsiL3NyYy9mb28uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc29sZS5sb2coXCJmb29cIik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzsifQo= -
https://evanw.github.io/source-map-visualization/#NjMALy8gYi5qcwpjb25zb2xlLmxvZygiLi9iLmpzIik7CgovLyBhLmpzCmNvbnNvbGUubG9nKCIuL2EuanMiKTsKMjIwAHsKICAidmVyc2lvbiI6IDMsCiAgInNvdXJjZXMiOiBbImIuanMiLCAiYS5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc29sZS5sb2coJy4vYi5qcycpXG4iLCAiaW1wb3J0ICcuL2IuanMnXG5jb25zb2xlLmxvZygnLi9hLm -
https://evanw.github.io/source-map-visualization/#NjYALmZvbyB7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7Cn0KMjU1AHsKICAiZmlsZSI6ICIvc3JjL3Nhc3Mvc3R5bGUuc2FzcyIsCiAgIm1hcHBpbmdzIjogIkFBQUE7RUFDRSxnQkFBZ0I7RUNEbEIsa0NBQUE7QURFQSIsCiAgIm5hbWVzIjogW10sCiAgInNvdXJjZXMiOiBbCiAgICAiL3NyYy9zYX -
https://evanw.github.io/source-map-visualization/#MjkALmZvbyB7CiAgb3ZlcmZsb3c6IHNjcm9sbDsKfQoyMDcAewogICJmaWxlIjogIi9zcmMvc2Fzcy9zdHlsZS5zYXNzIiwKICAibWFwcGluZ3MiOiAiQUFBQTtFQUNFIiwKICAibmFtZXMiOiBbXSwKICAic291cmNlcyI6IFsKICAgICIvc3JjL3Nhc3MvdmVuZG9yL2luZGV4LnNjc3MiCiAgXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi5mb28ge1xuICBvdm -
const module = awaitlikely benign Loads the user's Vite config file via dynamic import.Reasoning
Config loader imports a user config file via file URL with a cache-busting query. This is the standard bundled-config loading mechanism in Vite.
-
likely benign Imports a temporary bundled config file, then removes it.
Reasoning
Imports a temporary bundled config file and deletes it afterward. Standard config-bundling flow; the temp file is built from the project's own config.
-
const sssPath = const resolved = . return })likely benign Loads an optional stylus/sss preprocessor package by resolved path.Reasoning
Loads the optional sass-like preprocessor from a resolved path, a standard optional-peer-dependency pattern in Vite's CSS plugin.
-
asynclikely benign Imports the Sass compiler from a resolved path.Reasoning
Loads the user-installed Sass compiler from a resolved path, the expected preprocessor loading behavior.
-
likely benign Tries to import the sass-embedded package and handles load errors.
Reasoning
Probes whether the sass-embedded package loads, catching errors to detect an alternative package. Ordinary optional-dependency probing with no malicious indicators.
-
) =>likely benign Lazy loads the Less preprocessor from a resolved path.Reasoning
Dynamic import of a resolved preprocessor path (lessPath) in Vite's CSS plugin is a standard lazy-loading pattern for an optional peer dependency; not obfuscation.
-
) =>likely benign Lazy loads the Stylus preprocessor from a resolved path.Reasoning
Same pattern as Less: lazy import of the Stylus preprocessor from a resolved module path, a legitimate optional-dependency load.
-
) =>likely benign Lazy loads terser minifier from a resolved path.Reasoning
Terser is dynamically imported from a resolved path to keep it optional; the minify call operates on build output. Ordinary tooling code.
-
}likely benign Decodes base64 wasm data URL content into bytes.Reasoning
atob decodes a base64 WASM data URL in a Vite plugin to produce bytes for WebAssembly instantiation. This is a standard, expected decoding step with no evidence of hidden payload execution.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/cyclic/entry.js:7:16likely benign Test fixture performing dynamic import of a passed id.Reasoning
A test fixture deliberately exercising dynamic import with an ignore annotation for the SSR runtime; expected behavior in tests.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js:13:28dynamicProcessed: await , dynamicRelative: await , dynamicAbsolute: await , dynamicAbsoluteExtension: await ,likely benign Test fixture dynamic import of a relative module name.Reasoning
Test fixture covering various dynamic import forms for the SSR module runner; the specifiers are test-controlled relative paths.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js:14:28dynamicRelative: await , dynamicAbsolute: await , dynamicAbsoluteExtension: await , dynamicAbsoluteFull: awaitlikely benign Test fixture dynamic import of an absolute module name.Reasoning
Same test fixture covering dynamic import variants; not malicious.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js:15:37dynamicAbsolute: await , dynamicAbsoluteExtension: await , dynamicAbsoluteFull: awaitlikely benign Test fixture dynamic import of a platform-adjusted absolute path.Reasoning
Test fixture building a /@fs/ path by platform for dynamic import; benign test coverage of path handling.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js:16:32dynamicAbsoluteExtension: await , dynamicAbsoluteFull: await ,likely benign Test fixture dynamic import of an absolute path with extension.Reasoning
Same test fixture, dynamic import with extension variant; benign.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js:19:27), dynamicFileUrl: await , static: staticModule, }likely benign Test fixture dynamic import of a file URL.Reasoning
Test fixture dynamic import of a file URL, part of a module-runner test; benign.
-
info
encoding-base64packages/vite/src/node/ssr/runtime/__tests__/fixtures/pre-source-mapped-file.js:9:51//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidHJhbnNwaWxlZC1pbmxpbmUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAnbm9kZTpwYXRoJ1xuXG5leHBvcnQgdHlwZSBEdW1teSA9IHtcbiAgZm9vOiBcImZvb1wiLFxufVxuXG4vKipcbiAqIGR1bW15XG4gKiBkdW1teVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0ZX -
info
dynamic-executionpackages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts:296:62`throw new Error('example')\n` + `//# =data:application/json;base64,\n` -
: boolean -
: boolean
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&