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.8 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 10 of 10 warn and critical signals; 10 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-21 06:26
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 chunks with a Buffer-or-atob fallback.Reasoning
The atob call is a fallback for browser environments where Buffer is unavailable, decoding base64 stdio chunks from the Playwright test runner. It feeds data into a plain string chunk and is not executed or fetched, so it is ordinary data handling.
-
; ; : 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 fixed filename package.json. The specifier is non-literal only because of path construction, and it reads the project's own metadata.
-
const ; const libCoverage = ; const libReport = ; const reports = ;likely benign Loads istanbul coverage libraries resolved from the config directory.Reasoning
The module is resolved with require.resolve from the configured directory and limited to fixed istanbul package names. This is a standard way to load optional peer dependencies.
-
const libCoverage = ; const libReport = ; const reports = ; const context = libReport.likely benign Loads istanbul-lib-report via a resolved path.Reasoning
Same pattern as the adjacent line: a fixed istanbul-lib-report name is resolved from the config directory and then required. No attacker-controlled input is involved.
-
const libReport = ; const reports = ; const context = libReport.likely benign Loads istanbul-reports via a resolved path.Reasoning
The istanbul-reports package is resolved from a fixed name and required, matching the other coverage dependency loads in this function.
-
...plugins, ...pluginsEpilogue., ], compact: false,likely benign Requires internal Babel plugins by name from a configured list.Reasoning
The plugin names come from Playwright's own internal epilogue list of Babel plugins, not from untrusted input. Requiring configured Babel plugins by name is standard practice.
-
const : = ; const babelResult = ;likely benign Loads the internal babelBundle module via libPath.Reasoning
The require path is built from libPath with fixed segments to load Playwright's own babelBundle module. It is an internal bundling split rather than a dropper.
-
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 Eval-wrapped dynamic import of a local file URL to preserve native ESM loading.Reasoning
The eval wraps a dynamic import with the file URL serialized through JSON.stringify. This is a known idiom to keep the import() call from being downleveled to require by the TypeScript build. The argument is a local test file path, so the eval is not run on attacker-controlled code.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:293:13likely benign Eval-wrapped dynamic import of an ESM preflight module for a local test file.Reasoning
This is the same eval-wrapped import idiom, loading a '.esm.preflight' companion of a local test file for source map handling. The string is built from a local path and JSON-escaped, and the error is caught and logged.
-
} const result = ; const depsCollector = cc.;likely benign Requires the test file being loaded by the Playwright runner.Reasoning
The require loads the user's test file, which is the core purpose of a test runner. The dependency collector wraps this load for tracking, so the non-literal specifier is expected.
-
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.
&&