Malicious code in fe-utils-core (npm)
-= Per source details. Do not edit below this line.=-
The package's default-exported getPlugin function fetches https://svganchordev.net/icons/110 and passes the response's data.credits field to new Function() with require, process, Buffer, module, exports, and Promise injected — executing arbitrary attacker-controlled JavaScript with full Node privileges whenever a caller invokes the documented API. The endpoint is hardcoded to a domain unrelated to the package's stated purpose and is not referenced in README. Errors are swallowed and the request silently retried, which is consistent with covert C2 behavior. The declared dependency set (@primno/dpapi for Windows DPAPI decryption, node-machine-id, better-sqlite3 and sqlite3 for browser/credential database access, socket.io-client for persistent C2, axios/express/request) is unused by the small advertised utility surface (~30 lines of debounce/throttle/isEmpty helpers in src/utils.js) but is pre-positioned in node_modules so a remote-fetched payload can require() these capabilities without a second fetch. The combination — remote-fetch-and-eval plus a credential-harvesting toolkit pre-installed as dependencies — leaves no benign interpretation.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준