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
- 303
- Versions published
- 166
- First published
- Jan 2026
- Publisher
- htafolla
Recommended action
Review before promotingMixed 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"}'Why flagged
What the scanner saw
Remote Payload: matched "curl "
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 review · score 17 · status changed
Evidence
Static findings
2 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/dist/cli/commands/skill-install.js | matched "curl " | 12 |
Show all 2 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| medium | Remote Payload | package/dist/cli/commands/skill-install.js | matched "curl " | 12 |
| low | Install-time lifecycle script | package.json | postinstall="node scripts/node/postinstall.cjs" | 5 |
Manifest
Package metadata
Scripts62
buildtsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/validate-stringray-comprehensive.js dist/scripts/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt="dist/${f#src/}"; mkdir -p "$(dirname $tgt)"; cp "$f" "$tgt"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt="dist/${f#src/}"; mkdir -p "$(dirname $tgt)"; cp "$f" "$tgt"; done; done && mkdir -p dist/plugin && cp .opencode/plugin/strray-codex-injection.js dist/plugin/strray-codex-injection.js && cp -r src/opencode/ .opencode/build:allnpm run buildbuild:cleannode scripts/build/utils.js cleanbuild:runnode scripts/build/utils.js buildbuild:verifynode scripts/build/utils.js verifyci-installnpm cicleanrm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfoconfig:setupnode scripts/config/utils.js setup-devdebug:inference:forceSTRRAY_FORCE_MCP_GOVERNANCE=true STRRAY_DEV_PATH=dist node dist/cli/index.js inference:run --forceenforce:versionsbash scripts/node/enforce-version-compliance.shlinteslint -c tests/config/eslint.config.js srclint:fixeslint src --fixmonitoring:reportnode scripts/monitoring/daemon.js reportmonitoring:startnode scripts/monitoring/daemon.js startmonitoring:stopnode scripts/monitoring/daemon.js stoppostinstallnode scripts/node/postinstall.cjspre-publish-guardnode scripts/node/pre-publish-guard.jsprebuildrm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfoprepare-consumernode scripts/node/prepare-consumer.cjsprepublishOnlynpm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -fpreversionnpm run version:syncpublishnpm run pre-publish-guard && npm run safe-publishreleasenode scripts/node/release.jsrelease:drynode scripts/node/release.js --dry-runrelease:majornode scripts/node/release.mjs majorrelease:minornode scripts/node/release.mjs minorrelease:patchnode scripts/node/release.mjs patchsafe-publishnpm run prepare-consumer && npm run buildsecurity-auditnpm audit || truesetup-devnode scripts/node/setup-dev.cjs- …and 32 more.
Dependencies6
@modelcontextprotocol/sdk^1.0.4commander^11.1.0express^5.2.1jsonwebtoken^9.0.3strray-ai^1.22.65ws^8.16.0
Optional dependencies1
@rollup/rollup-linux-x64-gnu^4.30.1