OpenSSF/OSV advisory MAL-2026-12359 confirms this npm version as malicious. The package's postinstall hook runs setup.js, which enumerates process.env (excluding only a small OS blocklist for PATH/HOME/USER/SHELL/LANG), collects every remaining variable's value together with CI job metadata (CI_JOB_ID, GITHUB_RUN_ID, project, commit, branch, hostname), and HTTPS-POSTs the payload to a URL and API key read from BACKEND_URL/BACKEND_API_KEY,...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in crypto-javas (npm)
Details
The package's postinstall hook runs setup.js, which enumerates process.env (excluding only a small OS blocklist for PATH/HOME/USER/SHELL/LANG), collects every remaining variable's value together with CI job metadata (CI_JOB_ID, GITHUB_RUN_ID, project, commit, branch, hostname), and HTTPS-POSTs the payload to a URL and API key read from BACKEND_URL/BACKEND_API_KEY, package.json.crypto-javas.backend,.crypto-config.json, or.env in the current working directory. The declared main entrypoint index.js additionally invokes autoExecute() at module top level, instantiating SecretsHandler.readFromEnvironment and sendToBackend so that every require/import of the package re-runs the same environment-variable harvest and POST. The behavior is undisclosed in the README, which presents the package as @wizlabs/js-crypto (a typosquat-style mismatch with the actual name crypto-javas); repository is the placeholder gitlab.com/example/js-crypto and author is a generic DevSecOps handle. In a CI runner this ships AWS_*, GITHUB_TOKEN, NPM_TOKEN, CI_JOB_TOKEN and any other pipeline secrets to an attacker-configurable backend.
Decision reason
OpenSSF Malicious Packages via OSV confirms crypto-javas@2.0.4 as malicious (MAL-2026-12359): Malicious code in crypto-javas (npm)