Supply-chain threat intelligence

Incident detail

criticalnpm·credential theft·osv

Malicious code in eslint-helper (npm)

eslint-helper

Risk score

92

AI summary

Indexed incident for eslint-helper (npm).

Description

Package masquerades as an ESLint utility but contains no lint-related code. The exported from_str() recursively walks process.cwd() searching for secret-bearing files (.env, config.toml, Config.toml, config.json, env, id.json) and POSTs each file's contents to a hardcoded, base64-obfuscated endpoint at https://vercel-backend-five-vert.vercel.app/api/v1. A helper _gsh() additionally reads ~/.bash_history, ~/.zsh_history, fish history, and PowerShell PSReadLine ConsoleHost_history.txt, and shells out via execSync("bash -c history") and execSync("zsh -c 'fc -l -1000'") to dump in-memory shell history, then ships each to the same endpoint. All sensitive strings (target filenames, exfil URL, HTTP headers, USER env var name) are base64-obfuscated and decoded at module load via a decodeStr helper, indicating intentional evasion. Any project that requires this package and invokes from_str (or runs the shipped test.js) will leak credentials and shell history to the attacker.

Technical details

Affected versions

=4.0.1=4.0.2

Indicators

  • affected version=4.0.175%
  • affected version=4.0.275%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents