Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

json-schema-inspectornpm

json-schema-inspector is a confirmed malicious npm package (MAL-2026-11138) that opens a backdoor for remote access (malicious versions 1.1.4, 1.1.5, 1.1.6…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in json-schema-inspector (npm)

MAL-2026-11138
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall json-schema-inspector

What this malware does

The package advertises itself as a JSON/XML schema validator, but both public entry points (validateJson, validateXml in lib/core.js) invoke a trigger() routine that performs remote code execution against the installer's host. The C2 URL is stored as XOR-encoded hex (key 0x55) and decodes to a manifest hosted at https://cdn.jsdelivr.net/gh/cryptonomad411/cool-utils/package.json. The manifest supplies per-platform payload URLs (wurl/lrurl/laurl/mrurl/maurl) selected by process.platform and process.arch. lib/core.js then spawns node -e (Windows) or sh -c (Linux/macOS) at lines 97 and 114 to execute AES-256-CBC-decrypted staging scripts (aesDecrypt with a statically-derived key) that run the fetched payload. Execution is gated by sandbox-evasion checks in isEnvironment() (os.uptime() >= 300s, os.cpus().length >= 2, os.totalmem() >= 2GB) and a one-shot lock file at ~/.cache/.<hostname>.lock (or %APPDATA%.cache.<hostname>.lock) so the dropper runs once per victim. The combined obfuscation of the C2 URL and staging scripts, the sandbox-evasion gating, the per-host persistence marker, and the mismatch between advertised purpose (schema validation) and shipped behavior (attacker-controlled code execution) together confirm hostile intent.

Malicious versions

4 flagged
1.1.41.1.51.1.61.1.7

Indicators of compromise (SHA-256)

023b104d04c30fccd05f5db5842a2d8735c572eb13cfbb5ca7ba763eeb525429
5ca6605b7321cc0ba97351bc791f17829f467951eaa9de99ce928f1338c4fcd1
65d8e513622df69653c38f8f1ded6dbf9022d731b6f9549b4eb2338b69cc6781
6b933581c13815fdf509261acd0f26d8f9446b313d2ff7866c274167e986d87b

Detection & response playbook

Backdoor / remote access
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for json-schema-inspector (4 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging json-schema-inspector across your stack and pipelines.

  2. If you installed it — respond

    json-schema-inspector establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.

  3. Did it already run?

    If json-schema-inspector was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks json-schema-inspector before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. json-schema-inspector on npm has been identified as a malicious package (versions 1.1.4, 1.1.5, 1.1.6, 1.1.7 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-010955IN-MAL-2026-010963IN-MAL-2026-010959IN-MAL-2026-010956

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks json-schema-inspector-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

Explore