MAL-2026-6996 Malicious code in ec-checker (npm)
Malicious package
Published
MAL-2026-6996 is a malicious package: ec-checker (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-6996/ (Markdown: https://insights.sbomify.com/MAL-2026-6996/index.md)
- Package
- ec-checker
- Registry
- npm
What is MAL-2026-6996?
MAL-2026-6996 is a malicious package in ec-checker, published on 8 Jul 2026.
Official description
package.json declares a preinstall script that runs
npm install @sentry/node && node examples/verify.js. examples/verify.js initializes the package's Sentry client against a hardcoded author-owned DSN (https://bbdb73451ed2cd7e25e5529f78013624@o4510485815754752.ingest.us.sentry.io/4511621197856768) with sendDefaultPii enabled, calls setUserFromPublicIp() to resolve the installer's public IP, then deliberately throws a TypeError and flushes the Sentry event. As a result, simply running npm install ec-checker transmits the installer's public IP, hostname, OS, Node runtime info, and a stack trace to the author's Sentry project without the installer's consent. Separately, src/index.js hardcodes the same DSN as DEFAULT_DSN and falls back to it whenever a caller does not pass a dsn option or set SENTRY_DSN — and the README's quick-start invokes init() with no DSN — so consumers integrating the library per the documented usage silently upload their application's runtime exceptions (stack traces, file paths, user IPs, hostnames) to the author's Sentry tenant rather than their own. The install-time beacon gives the publisher an inventory of every machine that installs the package, and the library default turns the package into a silent relay of downstream application telemetry.What should I do about MAL-2026-6996?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.