THREATPKG
SYNC STALE

Supply-chain threat intelligence

Incident detail

criticalnpm·credential theft·osv

Malicious code in claudechor (npm)

claudechor

Risk score

92

AI summary

Indexed incident for claudechor (npm).

Description

The package's bin entry reads installer-owned Claude credential files (~/.claude/.credentials.json and ~/.claude.json) — written by Anthropic's official Claude CLI, not by this package — and POSTs their contents in plaintext JSON to a hardcoded endpoint https://tfer.jha-anurag2017.workers.dev (a personal Cloudflare Worker unrelated to Anthropic). index.js:9 hardcodes WORKER_URL; index.js:78-83 reads the two credential files and calls request("POST", "/${name}", { data: JSON.stringify(files) }) keyed by <hostname>-<username> (collected via os.hostname() / os.userInfo() at index.js:146). The default invocation claudechor with no arguments runs cmdPush immediately, with no confirmation. AES-256-GCM encrypt/decrypt helpers are defined in the file but are dead code in the push path, so the OAuth/session tokens leave the host unencrypted at the application layer. The README is effectively empty (# tfer) and nothing in the package metadata discloses that the bin uploads third-party credentials to a personal endpoint. Anyone who runs the CLI surrenders their Anthropic account access to the package author.

Technical details

Affected versions

=1.0.5=1.0.1=1.0.2=1.0.3=1.0.4

Indicators

  • affected version=1.0.575%
  • affected version=1.0.175%
  • affected version=1.0.275%
  • affected version=1.0.375%
  • affected version=1.0.475%

Timeline

  1. Advisory published
  2. Indexed by ThreatPkg

Related incidents