Package evidence
[email protected]
Install Lifecycle Remote Or Exec: postinstall="node -e \"try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}\""
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
- 345
- First published
- Feb 2026
- Publisher
- djtony707
Recommended action
Block this updateStatic 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"}'Why flagged
What the scanner saw
Install Lifecycle Remote Or Exec: postinstall="node -e \"try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}\""
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 high · score 84 · status changed
Evidence
Static findings
13 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | postinstall="node -e \"try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}\"" | 30 |
| medium | Remote Payload | package/dist/skills/marketplace.js | matched "raw.githubusercontent.com" | 12 |
| medium | Remote Payload | package/dist/cli/onboard.js | matched "api.telegram.org/bot" | 12 |
Show all 13 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | postinstall="node -e \"try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}\"" | 30 |
| medium | Remote Payload | package/dist/skills/marketplace.js | matched "raw.githubusercontent.com" | 12 |
| medium | Remote Payload | package/dist/cli/onboard.js | matched "api.telegram.org/bot" | 12 |
| low | Credential file access | package/dist/security/exfilScan.js | matched "AWS_ACCESS_KEY" | 5 |
| low | Credential file access | package/dist/skills/builtin/filesystem.js | matched "id_rsa" | 5 |
| low | Messenger Bot Endpoint | package/dist/cli/onboard.js | matched "api.telegram.org/bot" — messenger-bot URL without exfil context (likely a notification handler) | 5 |
| low | Credential file access | package/dist/security/secretGuard.js | matched "aws_access_key" | 5 |
| low | Credential file access | package/dist/agent/stagingScanners.js | matched "AWS_ACCESS_KEY" | 5 |
| low | Install-time lifecycle script | package.json | postinstall="node -e \"try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}\"" | 5 |
| low | Large Javascript Payload | package/ui/dist/babel.min.js | 3137678 bytes | 0 |
| low | Obfuscation Density | package/dist/gateway/dashboard.js | high encoded/escaped-token density | 0 |
| low | Obfuscation Density | package/dist/eval/gaia-harness.js | high encoded/escaped-token density | 0 |
| low | Obfuscation Density | package/dist/cli/onboard.js | high encoded/escaped-token density | 0 |
Manifest
Package metadata
Scripts38
bench:gaiatsx scripts/benchmark/gaia.tsbench:swetsx scripts/benchmark/swe-bench.tsbenchmarktsx scripts/benchmark.tsbenchmark:drytsx scripts/benchmark.ts --dry-runbuildtsupbuild:personalnode scripts/build-personal.cjsbuild:uicd ui && npm install && npm run buildcinpm run typecheck && npm run testdevtsx src/cli/index.tsdev:debugTITAN_LOG_LEVEL=debug tsx src/cli/index.ts gateway -vdev:doctortsx src/cli/index.ts doctordev:gatewaytsx src/cli/index.ts gatewaydev:onboardtsx src/cli/index.ts onboarddoctortsx src/cli/index.ts doctorevaltsx scripts/agent-eval-v2.tseval:jsontsx scripts/agent-eval-v2.ts --jsoneval:recordtsx scripts/eval-record.tseval:verbosetsx scripts/agent-eval-v2.ts --verbosegatewaytsx src/cli/index.ts gatewaygitnexus:querynode /opt/homebrew/lib/node_modules/gitnexus/dist/cli/index.js querygitnexus:rebuildnode /opt/homebrew/lib/node_modules/gitnexus/dist/cli/index.js analyze --name TITANgitnexus:statusnode /opt/homebrew/lib/node_modules/gitnexus/dist/cli/index.js statuslinteslint src/ --ext .tslint:fixeslint src/ --ext .ts --fixonboardtsx src/cli/index.ts onboardpostinstallnode -e "try{require('./scripts/postinstall.cjs')}catch(e){if(e.code==='MODULE_NOT_FOUND'){console.log('TITAN installed. Run: titan onboard')}else{throw e}}"startnode dist/cli/index.jstestvitest run --reporter=basictest:coveragevitest run --coveragetest:e2enpx playwright test- …and 8 more.
Dependencies17
@inquirer/prompts^8.4.3@langchain/core^1.1.46@mozilla/readability^0.6.0boxen^8.0.1chalk^5.3.0commander^14.0.3dotenv^17.4.2express^4.22.2jsdom^29.1.1node-cron^4.2.1ora^9.4.0posthog-node^5.34.2turndown^7.2.2undici^8.2.0uuid^14.0.0ws^8.20.1zod^3.23.8
Optional dependencies9
@browserbasehq/stagehand^3.4.0@whiskeysockets/baileys^6.7.0bonjour-service^1.3.0imapflow^1.3.3livekit-server-sdk^2.9.1matrix-js-sdk^41.5.0node-llama-cpp^3.0.0pdf-parse^2.4.5playwright^1.58.2