npm package report

Is @testrelic/playwright-analytics safe?

Versions 2.13.0 and 2.12.1-next.88 of @testrelic/playwright-analytics were compromised. Other versions are not flagged as malicious.

Do not install @testrelic/playwright-analytics 2.13.0 or 2.12.1-next.88

CRITICAL

Compromised releases. Added to CyberXYZ 2026-08-29, OSV malicious-package feed (Google / OpenSSF).

// what we observed

scripts/postinstall.cjs is registered as the package's postinstall lifecycle script and runs automatically on npm install. After a block of legitimate-looking config-scaffolding code, the file contains roughly 7 KB of whitespace padding followed by an obfuscated payload that reconstructs a large string via a custom Fisher–Yates shuffle, resolves the String constructor property (Function) to avoid any literal Function/eval token, and invokes Function('', decodedBody)(decodedArg). Immediately before the invocation the script assigns require, module, __dirname, and __filename onto the global object so the decoded body can load arbitrary Node built-ins. The whitespace gap conceals the payload from casual review of the file, and the indirection through String[constructor] avoids the literal tokens static reviewers grep for. The bundled dist/index.cjs, dist/reporter-entry.cjs, and dist/cli.cjs additionally contain require('child_process') alongside outbound HTTP POST call sites and ping invocations. The package's declared identity (a Playwright analytics reporter under an unfamiliar @testrelic scope) is inconsistent with shipping an obfuscated postinstall dynamic-code loader.

Reported by Amazon Inspector via OSV.

// versions and what to do
Malicious
2.13.0, 2.12.1-next.88
Move to
2.16.5 newest 2.x release, no known advisory

If one of these versions was installed, remove it and treat the credentials, tokens and SSH keys on that machine as exposed: rotate them. Check CI runners and container images that installed it too.

npm install @testrelic/playwright-analytics@2.16.5

OSV recordreferencereference

// reach

1 direct dependencies

none carry a known advisory

    0 packages depend on it

    an advisory here reaches each of them

      Create a free accountfor every dependency path, dependent and what to upgrade
      // ai model usage

      Tracked for PyPI packages. HuggingFace models declare Python dependencies, so npm packages are not covered.



      Checked 2026-10-31 at 00:02 UTC. Updated continuously from NVD, GHSA, OSV and CNA feeds.

      Think a verdict here is wrong? Tell us — we respond within 2 business days.