MAL-2026-4637 Malicious code in pewter-constants (npm)
Malicious package
Published
MAL-2026-4637 is a malicious package: pewter-constants (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-4637/ (Markdown: https://insights.sbomify.com/MAL-2026-4637/index.md)
- Package
- pewter-constants
- Registry
- npm
What is MAL-2026-4637?
MAL-2026-4637 is a malicious package in pewter-constants, published on 23 May 2026.
Official description
On
npm install, a preinstall hook in callback.js collects os.hostname(), os.userInfo().username, process.cwd(), the configured npm registry (npm_config_registry), and CI repo identifiers (GITHUB_REPOSITORY, CI_PROJECT_PATH, BUILD_REPOSITORY_NAME) and HTTP-GETs them to http://75.119.137.232:31337/depconfuse. The package is shaped as a dependency-confusion squat: version 9999.0.0 to win semver resolution against an internal package of the same name, an empty index.js (module.exports = {}), and placeholder author/description metadata (Security Researcher, Security research placeholder). Any build that resolves pewter-constants from the public registry will install this package and silently leak its internal registry URL, CI repo path, and host/user identity to a third-party operator over plain HTTP. The 'security research' framing in the metadata does not change the installer-side impact — internal infrastructure is fingerprinted and disclosed without consent.What should I do about MAL-2026-4637?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.