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

laycotnpm

Advisory published Updated

laycot is a confirmed malicious npm package (MAL-2026-16253) that executes malicious code on install (malicious version 1.3.10). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in laycot (npm)

MAL-2026-16253
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall laycot

What this malware does

This package is part of a malicious npm campaign published by the laycot account. Importing the package automatically launches a detached JavaScript loader that retrieves and executes additional code from npoint.io. The retrieved payload communicates with an attacker-controlled server and implements clipboard collection, keyboard and mouse event collection, filesystem scanning, and theft of Chrome extension storage.

On import, index.js unconditionally calls initialize(), which spawns loader.js as a detached, unref'd, stdio-suppressed child process (windowsHide:true) and writes a.pid file to enforce singleton persistence. loader.js issues an HTTPS GET to https://api.npoint.io/641d37178a880b1e8b8f — a free anonymous JSON-hosting service whose content is fully mutable by whoever holds the bin's edit token — base64-decodes the code field of the JSON response, and executes it via new Function('require','__dirname','__filename','module','exports', decodedCode), granting the fetched bytes full Node privileges including require. The package's declared identity is a cover story: package.json describes laycot as 'all pro layout cat visible smooth' with education/advanced-testing keywords, the README presents it as runtime-utils/image-utils with a fake getProcessInfo API, and the fetch URL is stored in a variable named API_KEY to obscure that it is an HTTP endpoint. The shipped code has no functionality matching any of these descriptions; its sole runtime behavior is the remote-fetch-and-eval loader.

Malicious versions

1 flagged
1.3.10

Indicators of compromise (SHA-256)

888eb7470e3887d76a6ecd9ccb3c635fac2e5c9c2726550b2047f7e52d6c6062

Detection & response playbook

Malicious package
  1. Find it

    Search your lockfiles and build artifacts for laycot (version 1.3.10).

  2. If you installed it — respond

    Remove laycot 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 laycot 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. laycot on npm has been identified as a malicious package (version 1.3.10 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-020132

References

Credits

  • Amazon Inspector · finder
  • ESTsecurity · finder

Detect & block this

O3 blocks laycot-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

laycot (npm) malicious package — MAL-2026-16253 | O3 Security