npm / playwright / 1.65.0-alpha-2026-10-22
playwright 1.65.0-alpha-2026-10-22
- Source
- https://github.com/microsoft/playwright
- Commit scanned
ca7ca36145b8- Directory
packages/playwright- Compared with
66070a1eaa0b(0 signals introduced since)- Files
- 132 scanned, 13 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 12 info
- Scan time
- 7.6 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 07:29
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-decodes test runner stdout/stderr chunks for reporting.Reasoning
atob decodes a base64 stdio chunk received from the test runner's own IPC channel. It only produces data for output display and never feeds eval or a fetch of code.
-
; ; : stringlikely benign Loads the package's own package.json via a computed path.Reasoning
The require target is path.join of the package root and the literal 'package.json', which is a fixed, local, expected file.
-
const ; const libCoverage = ; const libReport = ; const reports = ;likely benign Resolves and loads the istanbul-lib-coverage dependency.Reasoning
The specifier is resolved with require.resolve from the config directory for well-known istanbul packages. This is standard dependency loading for coverage reporting.
-
const libCoverage = ; const libReport = ; const reports = ; const context = libReport.likely benign Resolves and loads the istanbul-lib-report dependency.Reasoning
Same resolveFrom pattern loading the fixed istanbul-lib-report package. No attacker-controlled input is visible.
-
const libReport = ; const reports = ; const context = libReport.likely benign Resolves and loads the istanbul-reports dependency.Reasoning
Same resolveFrom pattern loading the fixed istanbul-reports package, which is ordinary plugin-style loading.
-
...plugins, ...pluginsEpilogue., ], compact: false,likely benign Loads Babel plugins named in the configuration.Reasoning
Plugin names come from the user's own Babel configuration and are loaded as named Babel plugins. This is expected behaviour for a configurable transform pipeline.
-
const : = ; const babelResult = ;likely benign Loads the internal babelBundle module via a helper path.Reasoning
The require target is libPath of the fixed 'transform/babelBundle' module, a bundled internal module, so the specifier is not attacker-controlled.
-
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 issue a native dynamic import() of an ESM test file.Reasoning
The eval wraps a dynamic import() of JSON.stringify of a file URL. This is a known idiom for keeping import() native inside CommonJS output so ESM test files load correctly, and the input is the test file being loaded rather than untrusted data.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:293:13likely benign Uses eval to trigger a native dynamic import of an ESM preflight file.Reasoning
Same native import() idiom via eval, here for a preflight module of the test file, with a JSON-escaped path and a catch handler. This is a loader mechanism, not a dropper.
-
} const result = ; const depsCollector = cc.;likely benign Requires the test file under test for execution.Reasoning
require(file) loads the test file being executed, which is the core purpose of a test runner. The file comes from the project's own test discovery.
-
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.
&&