@ecg-internal/js-react-i18n@1.0.1
Malicious code in @ecg-internal/js-react-i18n (npm)
Analysis
This package is a dependency-confusion implant that reports installs to a hardcoded endpoint. Its package.json declares a postinstall hook running "node beacon.cjs", and index.js additionally calls require('./beacon.cjs').fire() at import time, so the callback fires both on install and whenever the name is imported. beacon.cjs POSTs a JSON body to hxxp://185[.]158[.]107[.]175:8787/_ah/dc with the header x-beacon-package set to the package name. The body contains the package name, the machine hostname (os.hostname()), the install directory (__dirname), the working directory (process.cwd()), the Node version and the URL protocol. index.js exports a Proxy that returns a no-op function for every property access, so that imports of the name succeed silently while the beacon runs. The package ships no functional i18n code; it is a 4-file, ~2.9KB shim whose only behaviour is the install-time callback to 185[.]158[.]107[.]175:8787.
- analyzed by
- Leitwacht
- first seen
- Oct 23, 2026, 01:56 AM
- analyzed
- Oct 23, 2026, 01:57 AM
Related advisories
- @ecg-internal/media-util-js-lib@2.0.0
- @grabcad/grabcad-shop-shared@1.0.1
- @grabcad/user-license@3.0.0
- @grabcad/grabcad-shop-shared@1.1.0
- @grabcad/grabcad-shop-shared@2.0.0
- @grabcad/grabcad-shop-shared@3.0.0
- @grabcad/user-license@2.0.1
- @grabcad/grabcad-shop-shared@1.0.0
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.