NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

html-to-gutenbergnpm

Advisory published Updated

html-to-gutenberg is a confirmed malicious npm package (MAL-2026-6359) that executes malicious code on install (malicious versions 4.2.11, 4.2.12, 4.2.13…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in html-to-gutenberg (npm)

MAL-2026-6359
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall html-to-gutenberg

What this malware does

The published tarball contains api.js at the package root, a heavily obfuscated loader using an obfuscator.io-style XOR-decoded string table (key 0x46) that reconstructs identifiers including 'constructor', stashes require and module on the global object, and uses Function(...) to compile and immediately invoke an approximately 9.6 KB decoded payload. The file is referenced only by the author's manual scripts.build step (node api.js && tsc); it is not referenced by the package's main entry (index.js), not imported by any reachable module, and not invoked by the declared postinstall. The postinstall script performs a local file-copy of vendor/fetch-page-assets/index.ts into node_modules via fs.copyFileSync with no network I/O and no shell exec of api.js. Because the obfuscated loader is dormant on both npm install and require of the package, no installer-harm dataflow is produced in normal consumer use, but shipping an obfuscated dynamic-eval loader with concealed payload contents in a published tarball is an unusual transparency and supply-chain hygiene concern.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

15 flagged
4.2.114.2.124.2.134.2.144.2.154.2.164.2.174.2.184.2.194.2.204.2.214.2.224.2.244.2.254.2.26

Indicators of compromise (SHA-256)

6381496c1a275836b5d3c11ca7f141ad32f84b5263450bf5cb3c9a91289dcd1d
e311a5a838f758acacf488a502568566fb82c33303aee309a41614113ea6900c
3edf079490239b2b4c592ce4b7094c8089596437c15a73972ebd8282484a5273
c6ca99ca29cc0ce98db0ac82ab220dbd8add677417dc2ac8e721f52eb2c14304
d8a81a28406e20afb4ca23058394ebd8b749e84333b0fd24a3b2e63a65b18c57
4a8795db7351a0b860948e1e15eaef37cf5d04c4d2ef5881b6e5d536928a4d57
1174968e4d17db473aae7b809beb7fdc736524f984820800de480d224a2053db
37f20c51102a5bf8a10320e2c027a33879f96c70b089ac4d0c9f916c9b18e0f4
45cdbd96e2d8c43d17c85e878889d2d9f30e57a3f752db4a7754d4a55f0e2a38
dc78f8bbd3aafcfdf8b05c8fedd24102217ef9aec466b970dbed228adc104372
ec30d6141fa856c57d3ffe4f270bd860c2bc2d075a383582980a0763d57afa2b
8d9512b7f6c1494ff9ef05358c9f2c661ad85de87e4b860f5b35877b8086a673
b4e3b38055d924ccd5540e529660f55d9e4f49a2f76897c0903e7475fab1ffd1
bd513f59d8ff4eef00b432a6197c2fea08a82c63f9df1e7ef362c7308e7692fe
81dce66e380f5f6d08a3a321d6769102a645df0293147ca6378b588134654cc1
5d821fe76555d90c1c05ecce2f3892955031f996d3c86143f520348ca2604f2e
2e66863d21579107377db16cbe0e4cea20585f53529a81533b04ba91851af8e0
ad55bd01687902eea54021b3d30ce0b10f795a1521b425b32e57ef46b7a4ae77
d7c536d05b994a22e834ca23d5f29245a37ce948f52f2c836ab0dec95d37ff74

Detection & response playbook

Malicious package
  1. Find it

    Search your lockfiles and build artifacts for html-to-gutenberg (15 malicious versions).

  2. If you installed it — respond

    Remove html-to-gutenberg from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

    If html-to-gutenberg was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. html-to-gutenberg on npm has been identified as a malicious package (versions 4.2.11, 4.2.12, 4.2.13, 4.2.14, 4.2.15, 4.2.16, 4.2.17, 4.2.18, and 7 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

GHSA-2gqj-wrf5-35w8IN-MAL-2026-013371IN-MAL-2026-019317IN-MAL-2026-019442IN-MAL-2026-019439IN-MAL-2026-019440IN-MAL-2026-019441IN-MAL-2026-019443IN-MAL-2026-019839IN-MAL-2026-019882IN-MAL-2026-022007IN-MAL-2026-022006IN-MAL-2026-022075

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks html-to-gutenberg-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore

html-to-gutenberg (npm) malicious package — MAL-2026-6359 | O3 Security