PkgRadar

Package evidence

@openjobs/[email protected]

Install Lifecycle Remote Or Exec: postinstall="node -e \"const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }\""

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
19
First published
Apr 2026
Publisher
cchakons

Recommended action

Block this update

Static 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":["@openjobs/[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":["@openjobs/[email protected]"],"fail_on":"high"}'
Publishercchakons
Artifact bytes183,882
Previous version2.6.3
Published2026-05-16T05:47:43.911Z
SHA-256ceab27bf1369f305931f9c871493635120f17aaba6108c561f2aba3fff08e31c

Why flagged

What the scanner saw

Install Lifecycle Remote Or Exec: postinstall="node -e \"const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }\""

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

Availability ledger

available

high
Last checked
highRisk
35Score
2.7.0Version
Status history (1 event)
  1. newavailable · risk high · score 35 · status changed

Evidence

Static findings

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

SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }\""30
Show all 2 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }\""30
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node -e \"const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }\""5

Manifest

Package metadata

Scripts4
  • buildnpm run clean && tsc -p tsconfig.json && mv dist/index.js dist/index.mjs && mv dist/bin.js dist/bin.mjs && tsc -p tsconfig.cjs.json && cp dist-cjs/index.js dist/index.cjs && cp dist-cjs/bin.js dist/bin.cjs && rm -rf dist-cjs && node -e "const fs=require('fs'); for (const [f,from,to] of [['dist/bin.cjs','./index.js','./index.cjs'],['dist/bin.mjs','./index.js','./index.mjs']]) { fs.writeFileSync(f, fs.readFileSync(f,'utf8').split(JSON.stringify(from)).join(JSON.stringify(to))); } const f='dist/bin.cjs'; fs.writeFileSync(f,'#!/usr/bin/env node\n'+fs.readFileSync(f,'utf8')); fs.chmodSync(f,0o755);"
  • cleanrm -rf dist dist-cjs
  • postinstallnode -e "const fs=require('fs'),p=require('path'),d=process.cwd(); if (!d.includes('node_modules')) process.exit(0); const missing=[]; for (const rel of ['dist/bin.cjs','skill/SKILL.md']) { if (!fs.existsSync(p.join(d, rel))) missing.push(rel); } if (missing.length) { console.error('[@openjobs/cli] FATAL: bundled file(s) missing from this install: '+missing.join(', ')+'. This is a packaging bug — please report at https://github.com/openjobsagent/openjobs/issues and reinstall with: npm i -g @openjobs/cli@latest'); process.exit(1); }"
  • prepublishOnlynpm run build
Dependencies2
  • bs58^6.0.0
  • tweetnacl^1.0.3