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
- Remove the package if it is installed: run
npm uninstall llm-nebula. [1] - Rotate all secrets and keys stored on that computer immediately from a different computer. [1]
- 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.
What happened
- Package presents itself as an LLM SDK (nebula.js exposes a small client stub) but declares
preinstall: node preinstall.cjsin 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 viaString.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
- 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.
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-npmCorrections
Report an error or request a correction. We review requests within 5 business days and add a dated correction note.
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.