PkgRadar

Package evidence

@stockrepublic/[email protected]

Install Lifecycle Repeated Payload: preinstall,install="node index.js"

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
1
First published
May 2026
Publisher
stockrepublic
External confirmation
MAL-2026-4289OSV match · pinned to high regardless of other signals

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":["@stockrepublic/[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":["@stockrepublic/[email protected]"],"fail_on":"high"}'
Publisherstockrepublic
Artifact bytes787
Previous versionnone
Published2026-05-24T19:49:00.191Z
SHA-2567d93bc99caec3b3aaaa792f2ea4eea81fcc85864818a8fa35b0ffb492c627c7d

Why flagged

What the scanner saw

Install Lifecycle Repeated Payload: preinstall,install="node index.js"

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
47Score
100.0.0Version
Status history (3 events)
  1. availableavailable · risk high · score 47 · status available -> available, risk high -> high, score 107 -> 47
  2. availableavailable · risk high · score 107 · status available -> available, risk high -> high, score 157 -> 107
  3. newavailable · risk high · score 157 · status changed

Related candidates

Linked campaigns and clusters

Publisher / release actor burstactive

stockrepublic

2 members · evidence strength 65
Repeated static TTPstale

Install Lifecycle Remote Or Exec — preinstall="node index.js"

14 members · evidence strength 90
Repeated static TTPstale

Install-time lifecycle script — preinstall="node index.js"

2 members · evidence strength 70
Repeated static TTPstale

Install-time lifecycle script — install="node index.js"

2 members · evidence strength 70
Repeated static TTPstale

Install Lifecycle Remote Or Exec — install="node index.js"

2 members · evidence strength 70
Publisher / release actor burstcandidate

stockrepublic

2 members · max score 94

Evidence

Static findings

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

SeverityKindPathDetailPoints
highInstall Lifecycle Repeated Payloadpackage.jsonpreinstall,install="node index.js"25
highNew Account With Lifecycle Hookpackage.jsonpackage first published 17 day(s) ago, 1 total version(s), has lifecycle hook25
mediumRemote Payloadpackage/index.jsmatched "curl "12
Show all 5 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Repeated Payloadpackage.jsonpreinstall,install="node index.js"25
highNew Account With Lifecycle Hookpackage.jsonpackage first published 17 day(s) ago, 1 total version(s), has lifecycle hook25
mediumRemote Payloadpackage/index.jsmatched "curl "12
lowInstall-time lifecycle scriptpackage.jsonpreinstall="node index.js"5
lowInstall-time lifecycle scriptpackage.jsoninstall="node index.js"5

Manifest

Package metadata

Scripts4
  • installnode index.js
  • preinstallnode index.js
  • preupdatenode index.js
  • testnode index.js