PkgRadar

Package evidence

@qoder-ai/[email protected]

Install Lifecycle Remote Or Exec: postinstall="node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""

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
8,368Niche · −30% score
Versions published
144Established · −30% score
First published
Sep 2025
Publisher
qoder-dev

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":["@qoder-ai/[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":["@qoder-ai/[email protected]"],"fail_on":"high"}'
Publisherqoder-dev
Artifact bytes73,680,202
Previous version0.2.2-beta.9
Published2026-04-28T11:52:29.064Z
SHA-256

Why flagged

What the scanner saw

New Lifecycle Script Vs Previous: postinstall added in 0.2.2-beta.10 vs 0.2.2-beta.9: "node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""

1 candidate cluster(s) currently reference this release.

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

Availability ledger

available

high
Last checked
highRisk
75Score
0.2.2-beta.10Version
Status history (2 events)
  1. scan_erroravailable · risk high · score 75 · status scan_error -> available, risk none -> high, score none -> 75
  2. newscan_error · risk none · score · refusing to fetch https://registry.npmjs.org/@qoder-ai/qodercli/-/qodercli-0.2.2-beta.10.tgz: content-length 63407270 exceeds 50000000

Related candidates

Linked campaigns and clusters

Publisher / release actor burstactive

qoder-dev

5 members · evidence strength 70
Publisher / release actor burstcandidate

qoder-dev

5 members · max score 75

Evidence

Static findings

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

SeverityKindPathDetailPoints
highNew Lifecycle Script Vs Previouspackage.jsonpostinstall added in 0.2.2-beta.10 vs 0.2.2-beta.9: "node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""40
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""30
Show all 4 findings (low-signal and informational)
SeverityKindPathDetailPoints
highNew Lifecycle Script Vs Previouspackage.jsonpostinstall added in 0.2.2-beta.10 vs 0.2.2-beta.9: "node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""40
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""30
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node -e \"try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\\n')}\""5
lowOversized Unscannedmanifesttarball exceeds the 50MB fetch cap; scanned registry metadata (install scripts + dependencies) only0

Manifest

Package metadata

Scripts1
  • postinstallnode -e "try{require('child_process').execSync('rg --version',{stdio:'ignore'})}catch{console.log('\n ripgrep (rg) not found. Install for best search: https://github.com/BurntSushi/ripgrep#installation\n')}"
Optional dependencies1
  • keytar^7.9.0