PkgRadar

Package evidence

[email protected]

Install Lifecycle Suppresses Failure: preinstall="node scripts/preinstall.js || true"

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
1,019Niche · −30% score
Versions published
191
First published
Dec 2025
Publisher
opcastil

Effective trust discount applied: 30% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.

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":["[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"}'
Publisheropcastil
Artifact bytes185,676
Previous version0.2.108
Published2026-05-26T16:36:28.740Z
SHA-256e8bb0a8dc3d36228f35cf0fbb81b0bae2a3ce7ca13b8b327e78eb2d54c812f9f

Why flagged

What the scanner saw

Install Lifecycle Suppresses Failure: preinstall="node scripts/preinstall.js || true"

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

Availability ledger

available

high
Last checked
highRisk
35Score
0.2.110Version
Status history (3 events)
  1. availableavailable · risk high · score 35 · status available -> available, risk high -> high, score 50 -> 35
  2. availableavailable · risk high · score 50 · status available -> available, risk high -> high, score 122 -> 50
  3. newavailable · risk high · score 122 · status changed

Related candidates

Linked campaigns and clusters

Publisher / release actor burststale

opcastil

4 members · evidence strength 84
Repeated static TTPstale

Install Lifecycle Remote Or Exec — postinstall="node scripts/postinstall.js || true"

11 members · evidence strength 90

Evidence

Static findings

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

SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonpreinstall="node scripts/preinstall.js || true"20
highInstall Lifecycle Suppresses Failurepackage.jsonpostinstall="node scripts/postinstall.js || true"20
Show all 4 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Suppresses Failurepackage.jsonpreinstall="node scripts/preinstall.js || true"20
highInstall Lifecycle Suppresses Failurepackage.jsonpostinstall="node scripts/postinstall.js || true"20
lowInstall-time lifecycle scriptpackage.jsonpreinstall="node scripts/preinstall.js || true"5
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node scripts/postinstall.js || true"5

Manifest

Package metadata

Scripts8
  • buildtsc && cp -r src/ui/public dist/ui/
  • build:binarynpm run build && bash scripts/build-binaries.sh
  • build:bundlenpm run build && npx esbuild dist/index.js --bundle --platform=node --target=node20 --format=esm --outfile=bin/orquesta-agent.mjs --external:@homebridge/node-pty-prebuilt-multiarch --banner:js="import{createRequire}from'module';const require=createRequire(import.meta.url);" --minify
  • devtsc --watch
  • postinstallnode scripts/postinstall.js || true
  • preinstallnode scripts/preinstall.js || true
  • prepublishOnlynpm run build
  • startnode dist/index.js
Dependencies9
  • @anthropic-ai/sdk^0.95.1
  • @homebridge/node-pty-prebuilt-multiarch^0.13.1
  • @types/cors^2.8.19
  • @types/express^5.0.6
  • chalk^5.3.0
  • commander^11.1.0
  • cors^2.8.6
  • express^5.2.1
  • socket.io-client^4.8.1