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

@depup/memfsnpm

@depup/memfs is a confirmed malicious npm package (MAL-2026-13624) that typosquats a legitimate package to trick installs (malicious version 4.67.0-depup.0). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @depup/memfs (npm)

MAL-2026-13624
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @depup/memfs

What this malware does

This package is an automated 'DepUp' republish of memfs whose lib/index.js and lib/index.d.ts have been stripped of the upstream source and rewritten to require nine '@jsonjoy.com/fs-' packages (fs-node, fs-core, fs-node-utils, fs-fsa, fs-node-to-fsa, fs-fsa-to-node, fs-print, fs-snapshot, fs-node-builtins), all pinned to 4.67.0 — a version tag that matches memfs itself rather than any real release history of those names. Upstream memfs bundles its own source and does not depend on these packages. The republished lib/index.js contains only require() calls to the '@jsonjoy.com/fs-' names, so installing this package and importing memfs resolves and executes whatever code is published under those names at 4.67.0. The package.json 'depup.changes' metadata also records bumping @jsonjoy.com/json-pack and @jsonjoy.com/util from ^1.11.0/^1.9.0 to ^18.28.0, non-contiguous jumps well beyond the real published range of those libraries, consistent with steering the resolver toward attacker-published versions. Installing or requiring @depup/memfs pulls in and runs code from a set of newly-introduced dependency names controlled by the republisher, with no lifecycle hook needed — a dependency-chain dropper shape via a memfs lookalike.

Malicious versions

1 flagged
4.67.0-depup.0

Indicators of compromise (SHA-256)

267188642a5aa8db495698be0d44bd4fed45e0e247572d44da6b76e3d1b72a5e

Detection & response playbook

Typosquat
  1. Find it

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

  2. If you installed it — respond

    @depup/memfs is a typosquat — you almost certainly intended a legitimately-named package. Remove @depup/memfs, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If @depup/memfs 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 @depup/memfs 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. @depup/memfs on npm has been identified as a malicious package (version 4.67.0-depup.0 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-017132

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @depup/memfs-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