PkgRadar

Package evidence

[email protected]

Install-time lifecycle script: postinstall="node cjs/bin/postinstall.js"

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
1
First published
Jun 2026
Publisher
katanyadev

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"}'
Publisherkatanyadev
Artifact bytes215,936
Previous versionnone
Published2026-06-04T13:06:23.864Z
SHA-25659be5b8985c4636d3f592415beedb41f07def7a451e3e1657069fdc0563651b3

Why flagged

What the scanner saw

Install-time lifecycle script: postinstall="node cjs/bin/postinstall.js"

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

Availability ledger

available

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

Evidence

Static findings

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

No high-signal findings — see all findings below.

Show all 2 findings (low-signal and informational)
SeverityKindPathDetailPoints
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node cjs/bin/postinstall.js"5
lowCredential file accesspackage/package.jsonmatched ".npmrc"3

Manifest

Package metadata

Scripts14
  • buildtsc -p ./
  • build-all-binnpm run build && npm run rollup && npm run build-linux-bin && npm run build-mac-bin && npm run build-windows-bin
  • build-linux-binpkg tunnelmole.bundle.js --targets node18-linux-x64 --output tmole-linux
  • build-mac-binpkg tunnelmole.bundle.js --targets node18-mac-x64 --output tmole-mac
  • build-windows-binpkg tunnelmole.bundle.js --targets node18-win-x64 --output tmole.exe
  • linteslint . --ext .ts
  • postinstallnode cjs/bin/postinstall.js
  • postrollupgit checkout package.json
  • prepublishOnlynode -e "if (require('fs').existsSync('./.nopublish')) process.exit(1)"
  • prerollupcat package.json | jq 'del(.type)' > /tmp/package.json && mv /tmp/package.json package.json
  • rollupnpm run prerollup && rollup -c --bundleConfigAsCjs && npm run postrollup #Prerollup is a workaround to prevent node complaining about the package type in the cjs bundle
  • startnpm run watch & nodemon dist/src/tunnelmole.js 3000
  • testnpm run build && node --experimental-vm-modules node_modules/jest/bin/jest --forceExit
  • watchtsc -p ./ -w
Dependencies25
  • @types/deep-equal^1.0.1
  • @types/is-number^7.0.3
  • @types/jest^29.5.0
  • @types/node-fetch^2.5.7
  • @types/node-localstorage^1.3.0
  • @types/node-persist^3.0.0
  • @types/source-map-support^0.5.6
  • @types/validator^13.7.14
  • @types/ws^7.2.4
  • axios^1.3.5
  • chalk4.1.2
  • commander^5.1.0
  • deep-equal^2.0.3
  • deepmerge^4.2.2
  • detect-port^2.1.0
  • is-number^7.0.0
  • multer^1.4.5-lts.1
  • nanoid^3.1.5
  • node-fetch^2.6.9
  • node-localstorage^2.1.6
  • source-map-support^0.5.21
  • toml^3.0.0
  • tunnelmole^2.1.6
  • validator^13.0.0
  • ws^7.2.5