Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Weekly downloads
- 996,985Ubiquitous · −70% score
- Versions published
- 286Mature · −50% score
- First published
- Jul 2023
- Publisher
- GitHub ActionsTrusted automation · −70% score
Effective trust discount applied: −70% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Block this updateStatic evidence trips multiple high-signal indicators. Quarantine the release until the publisher validates the change or you can rule out the indicators below.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"high"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["[email protected]"],"fail_on":"high"}'Why flagged
What the scanner saw
New Lifecycle Script Vs Previous: postinstall added in 3.17.0 vs 3.16.0: "node ./scripts/install.js"
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk high · score 81 · status changed
Evidence
Static findings
4 static · 1 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | New Lifecycle Script Vs Previous | package.json | postinstall added in 3.17.0 vs 3.16.0: "node ./scripts/install.js" | 40 |
| medium | Remote Payload | package/dist/browser.js | matched "cUrl " | 12 |
| medium | Remote Payload | package/dist/edge-light.js | matched "cUrl " | 12 |
| medium | Remote Payload | package/dist/workerd.js | matched "cUrl " | 12 |
Show all 5 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | New Lifecycle Script Vs Previous | package.json | postinstall added in 3.17.0 vs 3.16.0: "node ./scripts/install.js" | 40 |
| medium | Remote Payload | package/dist/browser.js | matched "cUrl " | 12 |
| medium | Remote Payload | package/dist/edge-light.js | matched "cUrl " | 12 |
| medium | Remote Payload | package/dist/workerd.js | matched "cUrl " | 12 |
| low | Install-time lifecycle script | package.json | postinstall="node ./scripts/install.js" | 5 |
Manifest
Package metadata
Scripts29
benchtsx src/queue.bench.tsbuildcross-env NODE_OPTIONS="--max-old-space-size=8192" tsupcheck:typingstsc --noEmitcleanrm -r dist/* && rm -r dev/dist/* && rm -r util/dist/*docstypedoc --options typedoc.json src/node/index.tsfix:linteslint --fix .linteslint .playgroundtsx playground.tsplayground:automkdir -p .context && pnpm exec esbuild playground.ts --platform=node --format=esm --outfile=.context/playground.auto.mjs && node --import ./dist/auto-instrumentations/hook.mjs ./.context/playground.auto.mjsplayground:cli:evalnode dist/cli.js eval playground.tsplayground:cli:pushnode dist/cli.js push playground.tspostinstallnode ./scripts/install.jstestvitest run --exclude "src/wrappers/**/*.test.ts" --exclude "src/otel/**/*.test.ts" --exclude "smoke/**/*.test.ts" --exclude "src/zod/**/*.test.ts" --exclude "tests/api-compatibility/**"test:ai-sdk-v1vitest run src/wrappers/ai-sdk-v1.test.tstest:ai-sdk-v2vitest run src/wrappers/ai-sdk-v2.test.ts src/wrappers/ai-sdk-v1.test.tstest:ai-sdk-v3vitest run src/wrappers/ai-sdk-v3.test.tstest:allpnpm run test:checkstest:api-compatvitest run tests/api-compatibility/api-compatibility.test.tstest:checkspnpm run test:core && pnpm run test:vitesttest:corepnpm prune && pnpm testtest:mastravitest run src/wrappers/mastra.test.tstest:otelvitest run --dir src/oteltest:otel-no-depsvitest run src/otel/otel-no-deps.test.ts --reporter=verbosetest:outputtsx scripts/test-output.ts --with-comparison --with-metrics --with-progresstest:vitestpnpm --filter @braintrust/vitest-wrapper-tests testtest:zod-v3vitest run src/zod/zod-v3-serialization.test.tstest:zod-v4vitest run src/zod/zod-v4-serialization.test.tswatchtsup --watchyalc:publishyalc publish
Dependencies24
@apm-js-collab/code-transformer^0.12.0@next/env^14.2.3@vercel/functions^1.0.2ajv^8.20.0argparse^2.0.1cli-progress^3.12.0cli-table3^0.6.5cors^2.8.5dc-browser^1.0.4dotenv^16.4.5esbuild0.28.0eventsource-parser^1.1.2express^5.2.1http-errors^2.0.0minimatch^10.2.5module-details-from-path^1.0.4mustache^4.2.0pluralize^8.0.0simple-git^3.36.0source-map^0.7.4termi-link^1.0.1unplugin^2.3.5uuid^11.1.1zod-to-json-schema^3.25.0
Optional dependencies7
@braintrust/bt-darwin-arm640.11.1@braintrust/bt-darwin-x640.11.1@braintrust/bt-linux-arm640.11.1@braintrust/bt-linux-x640.11.1@braintrust/bt-linux-x64-musl0.11.1@braintrust/bt-win32-arm640.11.1@braintrust/bt-win32-x640.11.1