supply chain event / NVI-00010860 / Revision 1
Malicious code in api-nebula (npm)
GitHub lists this malware advisory for api-nebula. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.
This report has not inspected your inventory, configuration, deployed build, reachability or evidence. A catalog listing and a severity score do not establish exposure or compromise.
01 / Meaning
Why it matters
Published affected context helps an owner decide what evidence to gather. This report has not examined your application.
02 / Applicability
The affected context
Affected versions, configuration prerequisites and known exclusions are public. Confirm each one against the deployed service.
api-nebula
source listed= 1.0.0
## Source: amazon-inspector (b8232ec7756422686c2bce805fc87821e61a5bd9176cdb2fe7c3190fd2b2eae2) The package declares `"preinstall": "node preinstall.cjs"` in package.json, and preinstall.cjs is a single-line ~187 KB `Function("pbeIUC", "…")` invocation implementing a custom PRNG plus string-table decoder (numeric constant table, printable-charset string table `UclPgF`, a Bob-Jenkins-style mixer, and a decoder that reconstructs strings via modular arithmetic against `UclPgF.charCodeAt(...)`). The file contains no readable logic — its entire payload is an opaque blob that is decoded and handed to the JS engine during `npm install`. String fragments visible pre-decoding (e.g. `F.kI`, `zehSPTc@y.Ge`, `vCpP.BB/.i+gUAKa`) are placeholder-shaped and only resolve to real hosts/commands after runtime decoding, so the actual install-time behavior and any network destinations are hidden from static inspection. The wrapper module (nebula.js) and package.json declare no native build step, no compilation, and no other legitimate reason for a 187 KB obfuscated preinstall script. This is the canonical obfuscated npm preinstall dropper shape: arbitrary attacker-authored code executes on every instal
03 / Response
What to do next
- investigate
Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.
Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system. GitHub Advisory Database
A fixed release is not deployment evidence.
Check current vendor support and compatibility. After making a change, verify the deployed build and relevant runtime conditions. Keep the evidence, owner and time. An updated lockfile alone does not prove what is running.
04 / Limits
What this report cannot establish
- Customer inventory, deployment, reachability and exploitation have not been inspected.
05 / Provenance
Sources you can inspect
Each assertion retains its source. Mirrored records may repeat one underlying publisher; additional links are not independent corroboration.
- GHSA-jj92-6g5g-gg78 ↗
GitHub Advisory Database · vendor advisory
Observed . GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.
Public revision history
Only published revisions appear here. Routine fetches do not create a material-change event.
- Revision 1 ·
First indexed by Null; source disclosure date is shown separately.