npm / playwright / 1.65.0-alpha-2026-10-21
playwright 1.65.0-alpha-2026-10-21
- Source
- https://github.com/microsoft/playwright
- Commit scanned
66070a1eaa0b- Directory
packages/playwright- Compared with
27219bd2cc94(0 signals introduced since)- Files
- 132 scanned, 13 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 12 info
- Scan time
- 8.5 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 10 of 10 warn and critical signals; 10 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-22 20:57
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
info
warn→ info by reviewdynamic-executionpackages/playwright/src/isomorphic/teleReceiver.ts:462:90privatelikely benign Base64 decoding of test stdio output when Buffer is unavailable.Reasoning
The atob call is a fallback for decoding base64 stdio chunks from a test runner. It only decodes data into a string or buffer and never evaluates or fetches anything, so the flagged pattern is not present.
-
; ; : stringlikely benign Loads the package's own package.json via a computed path.Reasoning
The require path is built from __dirname and a fixed 'package.json' name, which is a standard way for a package to read its own metadata. The specifier is not attacker-controlled.
-
const ; const libCoverage = ; const libReport = ; const reports = ;likely benign Resolves and requires istanbul coverage libraries from the config directory.Reasoning
The module names are hardcoded istanbul packages resolved relative to the user's config directory. This is ordinary plugin/dependency resolution for a coverage reporter.
-
const libCoverage = ; const libReport = ; const reports = ; const context = libReport.likely benign Requires istanbul-lib-report via resolved path.Reasoning
Same as the adjacent finding: fixed istanbul package names resolved via require.resolve from the configured directory, which is expected behavior for a coverage reporter.
-
const libReport = ; const reports = ; const context = libReport.likely benign Requires istanbul-reports via resolved path.Reasoning
Hardcoded istanbul-reports package loaded through the same resolution helper. No untrusted input reaches the specifier.
-
...plugins, ...pluginsEpilogue., ], compact: false,likely benign Requires Babel plugins named in the project's configuration.Reasoning
The plugin names come from the user's own Babel configuration and are loaded with require, which is how Babel plugins are normally loaded. The code is not hiding the specifier or decoding anything.
-
const : = ; const babelResult = ;likely benign Loads the internal babelBundle module.Reasoning
The path is a fixed internal module (babelBundle) resolved through libPath. This is an internal bundled-module load, not a remote or obfuscated payload.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:286:29const fileName = url.; const ; // For ESM imports handled by the asynchronous loader, issue a preflight to populatelikely benign Uses eval to preserve a native dynamic import() of a local test file URL.Reasoning
The eval wraps a dynamic import() of a file URL built with JSON.stringify. The eval is a known workaround so that TypeScript compilation does not rewrite import() into require() in the loader, so the critical severity overstates it. The input is a local test file path, not external data.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:293:13likely benign Eval-wrapped native import() to preflight an ESM test file.Reasoning
This is the same eval-wrapped native import() pattern, used to preflight an ESM loader file. The argument is a local file name, and the catch handler only logs a debug message, so there is no sign of malicious intent.
-
} const result = ; const depsCollector = cc.;likely benign Requires the test file currently being loaded by the runner.Reasoning
This require loads the test file being run by the test runner. Requiring the user's own test sources is the expected behavior of a test runner.
-
interface TsConfig -
video: VideoMode | /** deprecated */ 'retry-with-video' |
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.
&&