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
- 497 scanned, 66 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 34 info
- Scan time
- 17.5 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 25 of 25 warn and critical signals; 25 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-21 09:11
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/client/client.ts:160:27new in this releaseconst browserUrl = const importPromise =likely benign Dynamic import of a browser URL computed for a module during HMR.Reasoning
The specifier is produced by moduleUrlToBrowserUrl from the module graph, and the @vite-ignore annotation shows intentional dynamic loading of Vite-managed modules for HMR.
-
likely benign IPA phonetic symbol in the Vite README pronunciation text.
Reasoning
The mixed Latin and IPA character in the README is the phonetic transcription of 'Vite' (/viːt/), a legitimate linguistic symbol in documentation prose, not an identifier.
-
likely benign Dynamic import of an HMR patch URL relative to the configured base.
Reasoning
This is Vite's HMR client loading update patches from its own base path; the @vite-ignore comment marks an intentional dynamic import of internally generated module URLs, a standard build-tool pattern.
-
: Promise<any>likely benign Evaluator method importing an external module by filepath.Reasoning
This is the ESM evaluator of the module runner, whose purpose is to import externalized modules by file path; the dynamic import is the core functionality rather than hidden execution.
-
return })likely benign Base64 decode helper that turns a string into decoded text.Reasoning
atob decoding a base64 string into a Uint8Array followed by TextDecoder is a routine utility for decoding inlined source maps or data; the snippet shows no eval or fetch of the decoded payload.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/__tests__/environment.spec.ts:173:25const chunk = . const mod = awaitlikely benign Test importing a built fixture chunk via path.join.Reasoning
In a test file, the import path is built with path.join from import.meta.dirname to load a freshly built fixture bundle; this is ordinary test scaffolding.
-
-
}) const mod1 = awaitlikely benign Test importing a fixture module from a fixed relative path.Reasoning
Test code importing a local fixture file via join(import.meta.dirname, ...); the path is static and benign.
-
}) const mod2 = awaitlikely benign Test importing a virtual fixture module from a fixed relative path.Reasoning
Same pattern as the previous finding: a test importing a local fixture module at a fixed path.
-
-----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIJS9D2rIN7tA8mMA0GCSqGSIb3DQEBCwUAMGkxFDASBgNV BAMTC2V4YW1wbGUub3JnMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWEx EzARBgNVBAcTCkJsYWNrc2J1cmcxDTALBgNVBAoTBFRlc3QxDTALBgNVBAsTBFRllikely benign Embedded PEM certificate used as test fixture data.Reasoning
The base64 block is a PEM certificate literal in a test file used to exercise certificate handling; the raw-pass blob heuristic fires on expected test data.
-
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 Config loader importing the bundled config file with a timestamp query.Reasoning
Vite's config loader imports the bundled user config file via its file URL with a cache-busting query, which is the documented mechanism for loading vite.config files.
-
likely benign Imports a temporary compiled config file and removes it after.
Reasoning
Imports a temporary bundled config file in a try/finally that deletes it afterward; this is the standard transpile-then-load path for TypeScript configs.
-
const sssPath = const resolved = . return })likely benign Loads the optional SSS preprocessor module from a resolved path.Reasoning
Loads the optional sass-style preprocessor from a path resolved from the project root, a normal plugin-loading pattern for an optional dependency.
-
asynclikely benign Loads the sass package from a resolved path to create a compiler.Reasoning
Loads the user's installed sass implementation by resolved path to initialize the compiler, which is the expected behavior of the CSS preprocessor plugin.
-
likely benign Probes availability of the sass-embedded package by importing it.
Reasoning
Imports the sass-embedded package path in a try block to detect availability, a routine optional-dependency probe.
-
) =>likely benign Dynamic import of the Less compiler from a resolved path.Reasoning
The import specifier is a path resolved from the installed Less package, a standard way to load an optional peer dependency. Nothing here shows untrusted input reaching the import.
-
) =>likely benign Dynamic import of the Stylus compiler from a resolved path.Reasoning
This mirrors the Less case: the Stylus module is loaded from a resolved path for an optional preprocessor dependency, which is a normal plugin pattern.
-
) =>likely benign Dynamic import of terser from a resolved path.Reasoning
terserPath is resolved from the project's installed terser package before minification. This is a standard optional-dependency load, not attacker-controlled execution.
-
}likely benign Base64 decoding of an embedded WASM module in a fallback path.Reasoning
atob is used to decode a base64 WebAssembly payload that the build tool itself embeds, in a browser-compatible fallback path. The decoded bytes feed a WASM instantiation helper, not an eval or fetch of remote content.
-
info
warn→ info by reviewdynamic-importpackages/vite/src/node/ssr/runtime/__tests__/fixtures/cyclic/entry.js:7:16likely benign Test fixture performing a dynamic import with a variable id.Reasoning
This is a test fixture for SSR module-runtime cyclic imports. The variable id is a test input, and the pattern is the point of the test.
-
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.Reasoning
This is a test fixture exercising dynamic import forms in the SSR runtime. The specifiers are local test 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 path.Reasoning
Same test fixture; the specifiers point to local test modules to verify dynamic import resolution.
-
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 with a platform-dependent path prefix.Reasoning
Test fixture building an /@fs/ path prefix per platform to test absolute-path dynamic imports. The path is test data.
-
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 module with extension.Reasoning
Same test fixture pattern for an absolute extension-bearing import used in runtime tests.
-
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, which tests the runtime's URL handling. There is no sign of malicious use.
-
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` -
evalValue<T = any>: Tlikely benign Evaluates a raw config value string via new Function to parse JavaScript-style values.Reasoning
new Function evaluates a raw string, but it is a dev-time helper that parses values from the project's own configuration or env files, with the globals shadowed. It is an unsafe-by-design eval of local config, not a dropper or remote payload, though the severity is high for a non-literal Function body.
-
: 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.
&&