Skip to content
OpenAdvisories
Malicious MAL-2026-13617

ts-utility-plus

npm package · versions 1.3.2

Reported Aug 7, 2026 · Updated Aug 7, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (75e338acac1218e74bb44a4141ac9eb195da36f48eef6f4b1d11c84fe92a96ef)
The package's default export `getPlugin` performs an HTTPS request to a hardcoded bare-IP endpoint at https://31.97.137.157:45000/icons/109 and passes the response field `data.credits` into `new Function('require','module',...)` with `require`, `process`, `Buffer`, and other Node globals injected as arguments, then invokes the constructed function. This gives the operator of that IP arbitrary code execution inside the installer's Node process whenever the package is required and its default export is called. A cover-story of Font Awesome / icon CDN naming (`IconProvider`, `iconDomain`, `/ajax/libs/font-awesome/...`, `bearrtoken:"logo"`) surrounds the real payload URL, which is assembled by concatenating `protocol`+`separator`+`domain`+`path` where `domain` is the bare IP. The declared dependencies (@primno/dpapi, better-sqlite3, node-machine-id) are consistent with a follow-on credential/browser-secret stealer delivered through this channel.