MAL-2026-16060 Malicious code in selfcerts (npm)
Malicious package
Published
MAL-2026-16060 is a malicious package: selfcerts (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-16060/ (Markdown: https://insights.sbomify.com/MAL-2026-16060/index.md)
- Package
- selfcerts
- Registry
- npm
What is MAL-2026-16060?
MAL-2026-16060 is a malicious package in selfcerts, published on 9 Sep 2026.
Official description
index.js reads sample/cert.pem, strips the BEGIN/END CERTIFICATE header and footer, base64-decodes the body, and eval()s the result. The decoded bytes are a JavaScript IIFE that base64-decodes a hardcoded URL (http://144.172.104.211/settings/privacy.php), fetches its response over plain HTTP, and pipes the body into a detached python3 process via stdin, executing whatever the remote host returns. The loader (loadSampleCertificate) is invoked unconditionally at the top of the exported generateCertificates() API, so any consumer that uses the package as advertised triggers remote code execution on the installer's host. Presenting an executable payload as a PEM certificate and nesting the C2 URL under a second base64 layer is deliberate obfuscation with no legitimate role in a certificate-generation library.
What should I do about MAL-2026-16060?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.