Critical (AgentArmorHQ estimate)Supply chain

Malicious code in llm-nebula (npm)

Product
llm-nebula (npm)
Affected
llm-nebula (npm) all versions
Fixed in
No fix yet

Last verified against sources: October 26, 2026

Am I affected?

llm-nebula (npm): affected llm-nebula (npm) all versions. No fix has been reported yet.

  • Check your version: run npm ls llm-nebula. Versions all versions of llm-nebula are affected. [1]

What to do now

  1. Remove the package if it is installed: run npm uninstall llm-nebula. [1]
  2. Rotate all secrets and keys stored on that computer immediately from a different computer. [1]
  3. Remove the package. [1]

General practice, not from the source: if the affected software could read tokens or credentials, rotate them after upgrading; pin versions and review changes before updating tools your agents run.

Discuss this incident

What happened

  • Package presents itself as an LLM SDK (nebula.js exposes a small client stub) but declares preinstall: node preinstall.cjs in package.json. [1]
  • preinstall.cjs is a ~232KB single-line obfuscated blob that runs automatically on npm install. [1]
  • The script wraps its body in a Function(...) constructor and uses a custom PRNG-based string decoder over a packed printable-ASCII string plus a hex-int array to reconstruct characters via String.fromCharCode, driving a control-flow-flattened switch dispatcher. [1]
  • Node builtins and method names are resolved dynamically at runtime (e.g. Ooa8zU["Bd5Wj1"]("fs")) so module ids, filesystem paths, network destinations, and command strings are not visible without executing the decoder. [1]

Impact

  • This obfuscation-plus-lifecycle-hook composition is the canonical install-time dropper / RCE shape: the benign-looking library entry serves as a cover story while the hidden preinstall payload runs on any consumer's machine at install time with the user's privileges, capable of arbitrary filesystem, process, and network operations. [1]
  • Any computer that has this package installed or running should be considered fully compromised. [1]

What was done

  • The advisory lists the package as affected in all versions and patched in none. [1]

Sources

  1. MAL-2026-17230 — OSV (Open Source Vulnerabilities)

Every statement above was checked against these sources before publishing. Spotted an error? Tell us and we will correct it with a dated note.

Share advisory brief with your team

Copy a plain-text summary for Slack, GitHub issues, or team security channels.

Brief
Malicious code in llm-nebula (npm)
Product: llm-nebula (npm) | Affected: llm-nebula (npm) all versions | Fixed in: No fix yet
Summary: Package presents itself as an LLM SDK (nebula.js exposes a small client stub) but declares `preinstall: node preinstall.cjs` in package.json.
Source & remediation on AgentArmorHQ: https://agentarmorhq.com/incidents/2026/09/mal-2026-17230-llm-nebula-npm
Was this page useful?

Corrections

Report an error or request a correction. We review requests within 5 business days and add a dated correction note.

10 to 2,000 characters. A link to a source helps. Stored as plain text.

Discussions for llm-nebula (npm)

Ask questions or share configuration tips. Governed by our Community Rules & Terms.

No posts match this filter yet.

Be the first to ask a question or share a working tip.

Check before you install

Paste a package name or a GitHub link and get a clear answer in seconds: Block, Review or No known issues. No account needed.

Check a package

Questions? Contact us