npm / playwright / 1.65.0-alpha-2026-10-15
playwright 1.65.0-alpha-2026-10-15
- Source
- https://github.com/microsoft/playwright
- Commit scanned
a038fe7e0eb9- Directory
packages/playwright- Compared with
647e485f2ba5(0 signals introduced since)- Files
- 133 scanned, 13 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 12 info
- Scan time
- 6.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.0.0
- Scanned (UTC)
- 2026-10-15 14:11
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 with Buffer/atob fallback.Reasoning
atob is used as a fallback decoder for stdio chunk data in a test reporter receiver. The decoded value is treated as data, not evaluated or fetched dynamically. Legitimate browser/Node compatibility code.
-
; ; : stringlikely benign Loads the package's own package.json via a computed path.Reasoning
require of path.join(packageRoot, 'package.json') is a standard way to load the package's own manifest. The path is built from __dirname, not attacker input.
-
const ; const libCoverage = ; const libReport = ; const reports = ;likely benign Requires istanbul coverage library resolved from config dir.Reasoning
Resolves istanbul modules relative to the configured config directory, a common plugin-resolution pattern for optional coverage dependencies. No untrusted input appears in the snippet.
-
const libCoverage = ; const libReport = ; const reports = ; const context = libReport.likely benign Requires istanbul-lib-report via resolved path.Reasoning
Same resolveFrom pattern loading istanbul-lib-report; the specifiers are hardcoded package names.
-
const libReport = ; const reports = ; const context = libReport.likely benign Requires istanbul-reports via resolved path.Reasoning
Same resolveFrom pattern loading istanbul-reports with hardcoded names; standard optional dependency loading.
-
...plugins, ...pluginsEpilogue., ], compact: false,likely benign Loads Babel plugins by name from configuration.Reasoning
Requires Babel plugin names from a configured list to build the transform pipeline. This is the expected plugin loading mechanism for a bundler; the names come from the project's own configuration.
-
const : = ; const babelResult = ;likely benign Requires internal babelBundle module by computed path.Reasoning
Loads the internal babelBundle module via libPath with fixed segments. Internal modularization, not attacker-controlled.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:296:29const fileName = url.; const ; // For ESM imports handled by the asynchronous loader, issue a preflight to populatelikely benign eval-based dynamic import of test file URL to load ESM modules.Reasoning
eval is used to perform a dynamic import of a file URL so that ESM loading works from CommonJS context, avoiding TypeScript rewriting import() into require. The argument is JSON.stringify of a file URL derived from the test file path. Unusual but a known, purposeful pattern in test runners; the critical severity reflects the eval pattern rather than malicious content.
-
info
critical→ info by reviewdynamic-executionpackages/playwright/src/transform/transform.ts:303:13likely benign eval-based dynamic import of ESM preflight module.Reasoning
Same eval(import()) trick to preload an ESM preflight module from a file-derived name, guarded by loaderChannel and with error handling. Legitimate loader mechanism; the eval wrapper is a known workaround for import() transpilation.
-
} const result = ; const depsCollector = cc.;likely benign Requires the test file during module loading.Reasoning
Requires the test file being loaded, which is the core purpose of a test runner's module loader. Expected behavior.
-
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.
&&