PkgRadar

Package evidence

@truealter/[email protected]

Remote Payload: matched "curl "

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,227Niche · −30% score
Versions published
25
First published
Apr 2026
Publisher
maxchop

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

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":["@truealter/[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":["@truealter/[email protected]"],"fail_on":"review"}'
Publishermaxchop
Artifact bytes414,912
Previous version0.8.12
Published2026-06-09T02:43:22.991Z
SHA-25632b797961981b4b832cd562d9d5ba1795af1c433e7784c5a8b920167bacea026

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

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
mediumRemote Payloadpackage/dist/assets/hooks/cc-label-summarise.shmatched "curl "12

Manifest

Package metadata

Scripts12
  • buildtsc -p tsconfig.public.json && node --input-type=module -e "import {copyFileSync,chmodSync,mkdirSync,cpSync,readdirSync} from 'fs'; copyFileSync('src/onboarding/observations.json','dist/onboarding/observations.json'); mkdirSync('dist/lib/sigstore',{recursive:true}); copyFileSync('src/lib/sigstore/trusted-root.json','dist/lib/sigstore/trusted-root.json'); cpSync('src/assets/hooks','dist/assets/hooks',{recursive:true}); for (const f of readdirSync('dist/assets/hooks')) { if (f.endsWith('.sh')) chmodSync('dist/assets/hooks/'+f, 0o755); } cpSync('src/assets/skills','dist/assets/skills',{recursive:true}); for (const f of readdirSync('dist/assets/skills')) { if (f.endsWith('.sh')) chmodSync('dist/assets/skills/'+f, 0o755); } cpSync('src/assets/statusline','dist/assets/statusline',{recursive:true}); for (const f of readdirSync('dist/assets/statusline')) { if (f.endsWith('.sh')) chmodSync('dist/assets/statusline/'+f, 0o755); } chmodSync('dist/index.js', 0o755)" && node scripts/strip-testing-exports.mjs && node scripts/embed-plugin.mjs
  • build:allnpm run build && npm run build:internal
  • build:internaltsc -p tsconfig.internal.json && node scripts/post-build-internal.mjs
  • dev:setup-hooksgit rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath .githooks
  • linteslint 'src/**/*.ts'
  • onboarding:dry-runnode dist/onboarding/dry-run.js
  • preparenode -e "if(process.env.npm_config_global==='true'||process.env.npm_package_name!=='@truealter/cli')process.exit(0);try{require('fs').statSync('.githooks');require('fs').statSync('.git/HEAD');require('child_process').execSync('git config core.hooksPath .githooks')}catch{}"
  • prepublishOnlygit ls-files dist/ | (! grep .) && bash scripts/publish-gate.sh dist
  • startnode dist/index.js
  • testtsc -p tsconfig.test.json && node --input-type=module -e "import {copyFileSync,mkdirSync} from 'fs'; mkdirSync('test-out/src/onboarding', {recursive: true}); copyFileSync('src/onboarding/observations.json','test-out/src/onboarding/observations.json')" && node scripts/run-tests.mjs test-out/tests
  • test:e2etsc -p tsconfig.e2e.json && node scripts/run-tests.mjs test-out-e2e
  • test:e2e:devALTER_E2E_DEV=1 node --experimental-strip-types --test tests/e2e/*.test.ts
Dependencies8
  • @clack/prompts^0.7.0
  • @sigstore/bundle^5.0.0
  • @sigstore/protobuf-specs^0.5.1
  • @sigstore/verify^4.0.0
  • @truealter/sdk^0.5.3
  • chalk^5.3.0
  • smol-toml^1.6.1
  • strip-ansi^7.2.0