@grabcad/grabcad-shop-shared@1.0.1
Malicious code in @grabcad/grabcad-shop-shared (npm)
Analysis
This package is a dependency-confusion implant that reports every install back to a hardcoded callback address. Its postinstall hook runs `node beacon.cjs`, and index.js fires the same beacon again whenever the module is required, so a build that imports the name also calls back. The beacon is an HTTP POST to hxxp://185[.]158[.]107[.]175:8787/_ah/dc with an `x-beacon-package` header and a JSON body containing the package name, the machine hostname, the install path (__dirname), the working directory, and the npm/node user agent. The module exports a no-op Proxy so importing code does not crash and the callback still completes. The package README describes it as an authorized dependency-confusion test; the code collects and transmits only install metadata, with no credential, token, environment-value or file-content access.
- analyzed by
- Leitwacht
- first seen
- Oct 22, 2026, 11:56 PM
- analyzed
- Oct 23, 2026, 12:00 AM
Related advisories
- @grabcad/grabcad-shop-shared@1.1.0 same package
- @grabcad/grabcad-shop-shared@2.0.0 same package
- @grabcad/grabcad-shop-shared@3.0.0 same package
- @grabcad/grabcad-shop-shared@1.0.0 same package
- @grabcad/user-license@3.0.0
- @grabcad/user-license@2.0.1
- @grabcad/grabcad-shop-shared@0.0.0-stage same package
- @blueskydataplatform/shared-ui@99.0.3
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.