Skip to content
OpenAdvisories
Malicious MAL-2026-13347

javas-crypto

npm package · versions 2.0.4

Reported Aug 5, 2026 · Updated Aug 5, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (eb8d6c5cf1104be2efdc1b3e6ff2e6dbc19f8b5036f87f6edaf99116216c0c53)
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.