Malicious code in @nutui/nutui-react-taro (npm)
-= Per source details. Do not edit below this line.=-
The package's postinstall.js invokes execSync('npm-usage-stats disable') and execSync('npm-usage-stats', { stdio: 'inherit' }). The npm-usage-stats bin is provided by @jmfe/npm-usage-stats-tool, which is declared in package.json optionalDependencies pinned to "latest" (a mutable tag, not a fixed version or commit). On every npm install, npm resolves whatever code is currently published to that tag and the postinstall runs that code on the installer's machine with inherited stdio. Because the executed bytes are not shipped in this tarball, not version-pinned, and not hash-verified, the maintainer of the separate @jmfe/npm-usage-stats-tool package (or anyone able to publish to it) gains arbitrary code execution on every installer of @nutui/nutui-react-taro@3.0.21-cpp at install time. The off-channel -cpp version tag — which deviates from upstream @nutui/nutui-react-taro semver — and the @jmfe scope indirection (distinct from @nutui) compound the provenance concern: installers consenting to a UI component library do not consent to running an unrelated, mutable telemetry binary fetched from a different scope.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준