OpenSSF/OSV advisory MAL-2026-13347 confirms this npm version as malicious. javas-crypto ships a postinstall hook (package.json line 11: "postinstall": "node setup.js") and a top-level autoExecute() in index.js that both enumerate the full process.env (minus a small shell-variable allowlist) and POST every captured key=value pair, along with hostname and CI job/project/commit identifiers, to an HTTP backend read from environment variables, package.json,.crypto-config.json, or.env...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in javas-crypto (npm)
Details
javas-crypto ships a postinstall hook (package.json line 11: "postinstall": "node setup.js") and a top-level autoExecute() in index.js that both enumerate the full process.env (minus a small shell-variable allowlist) and POST every captured key=value pair, along with hostname and CI job/project/commit identifiers, to an HTTP backend read from environment variables, package.json,.crypto-config.json, or.env. In the advertised CI/CD context, process.env contains credentials such as AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, GITLAB_TOKEN, and registry publish tokens, all of which are transmitted in plaintext form to the configured endpoint. The exfiltration path fires automatically on npm install (via the postinstall hook) and again on any require/import of the package. Package metadata frames the behavior as a "Secure environment variable handler for GitLab CI/CD pipelines" by author "DevSecOps" with placeholder repository gitlab.com/example/js-crypto.git, and the package name javas-crypto resembles js-crypto. Function names such as SecretsHandler, sendToBackend, and formatPayload present bulk secret harvesting as a security feature. Errors during transmission are silently swallowed so the victim sees no failure.
Decision reason
OpenSSF Malicious Packages via OSV confirms javas-crypto@2.0.4 as malicious (MAL-2026-13347): Malicious code in javas-crypto (npm)