pnpm 12.11.2
- Source
- https://github.com/pnpm/pnpm
- Tag scanned
v12.11.2- Directory
pnpm/npm/pnpm- Compared with
v12.11.1(0 signals introduced since)- Files
- 15 scanned, 4 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 3 info
- Scan time
- 3.7 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 3 of 3 warn and critical signals; 3 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 19:36
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
const = await .likely benign pnpm launcher lazily imports its downloader module via a constant specifier after logging a download message.Reasoning
GET_PNPM is a module-level constant pointing at the pnpm downloader module, imported with a catch that reports a missing file. This is a version-gated lazy load of a sibling module, not an attacker-controlled specifier. The non-literal specifier is still a reduced-visibility pattern worth a glance, so the verdict is likely benign rather than fully settled.
-
const = const = awaitdismissed Test imports native-binary.mjs with a per-architecture query string to get a fresh module instance.Reasoning
Test file dynamically importing a sibling module with an arch query string to bust the module cache, so each test sees fresh platform-dependent state. This is a standard test pattern with no execution of untrusted input.
-
const = await // Android is bionic, so the libc ordering the linux entries go throughdismissed Test imports native-binary.mjs with an android-specific query string for a fresh module instance.Reasoning
Same cache-busting dynamic import pattern in a test, parameterized by arch and an android label. The specifier is a template over test-controlled constants with no external input.
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.
&&