PkgRadar

Package evidence

[email protected]

Install-time lifecycle script: postinstall="node -e \"const p=require('path'),fs=require('fs'),d=p.join(__dirname,'node_modules','node-pty','prebuilds');if(fs.existsSync(d))for(const s of fs.readdirSync(d)){const h=p.join(d,s,'spawn-helper');if(fs.existsSync(h))fs.chmodSync(h,0o755)}\""

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.

Versions published
48
First published
Feb 2026
Publisher
kplates

Recommended action

Review before promoting

Mixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.

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":"review"}'

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":"review"}'
Publisherkplates
Artifact bytes357,460
Previous version0.9.18
Published2026-05-26T09:51:03.674Z
SHA-256df23b34ca90aa78ef5ecd74875bf98e6b31a18a2421c7d580c23d4e2561cb7ca

Why flagged

What the scanner saw

Install-time lifecycle script: postinstall="node -e \"const p=require('path'),fs=require('fs'),d=p.join(__dirname,'node_modules','node-pty','prebuilds');if(fs.existsSync(d))for(const s of fs.readdirSync(d)){const h=p.join(d,s,'spawn-helper');if(fs.existsSync(h))fs.chmodSync(h,0o755)}\""

Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.

Availability ledger

available

review
Last checked
reviewRisk
5Score
0.9.19Version
Status history (1 event)
  1. newavailable · risk review · score 5 · status changed

Evidence

Static findings

1 static · 0 from release diff · showing high-signal first.

No high-signal findings — see all findings below.

Show all 1 findings (low-signal and informational)
SeverityKindPathDetailPoints
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node -e \"const p=require('path'),fs=require('fs'),d=p.join(__dirname,'node_modules','node-pty','prebuilds');if(fs.existsSync(d))for(const s of fs.readdirSync(d)){const h=p.join(d,s,'spawn-helper');if(fs.existsSync(h))fs.chmodSync(h,0o755)}\""5

Manifest

Package metadata

Scripts12
  • buildnpm run clean && npm run build:web && npm run build:server
  • build:servertsc -p tsconfig.server.json
  • build:webcd web && pnpm install && pnpm build && mkdir -p ../dist/web && cp -r dist/* ../dist/web/
  • cleanrm -rf dist && rm -rf web/dist
  • devconcurrently "cd web && pnpm dev" "tsx server/index.ts --dev --port 3000"
  • postinstallnode -e "const p=require('path'),fs=require('fs'),d=p.join(__dirname,'node_modules','node-pty','prebuilds');if(fs.existsSync(d))for(const s of fs.readdirSync(d)){const h=p.join(d,s,'spawn-helper');if(fs.existsSync(h))fs.chmodSync(h,0o755)}"
  • prepublishOnlynpm run build
  • releasenpm publish
  • release:majornpm version major && npm publish
  • release:minornpm version minor && npm publish
  • release:patchnpm version patch && npm publish
  • startnode dist/server/index.js
Dependencies6
  • commander^12.1.0
  • express^4.21.0
  • node-pty^1.0.0
  • open^10.1.0
  • uuid^10.0.0
  • ws^8.18.0