{"id":"MAL-2026-12799","revision":"bdaa67a59b38406bb9a5df7fb72900da","records":[{"revision":"bdaa67a59b38406bb9a5df7fb72900da","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2026-12799","aliases":[],"title":"Malicious code in poly-bbc-service (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (3bb49d43833628610acae14ea039bb3a490dc94ec90bd8faac084a977a8f8ebd)\nThe package's exported getPlugin function issues an HTTPS request to the hardcoded bare-IP endpoint https://46.183.25.232:45000/icons/107 and passes the response's data.credits field into new Function('require','module','exports',...,'Promise', data.credits) for execution. The generated function receives require, module, exports, process, and Buffer, giving the fetched payload full Node.js privileges on the consumer's machine. An unused setDefaultModule helper constructs plausible cdnjs.cloudflare.com/font-awesome URLs that are never used at runtime, providing a cover story inconsistent with both the README (advertised as a Polymarket client) and the actual runtime target. Declared runtime dependencies include @primno/dpapi (Windows DPAPI bindings), better-sqlite3, and node-machine-id, which are consistent with staging for browser-credential / DPAPI-protected secret extraction once the remote payload is delivered.\n","state":0,"publishedAt":"2026-08-05T13:12:40+00:00","modifiedAt":"2026-09-24T09:30:16.7455921+00:00","affected":[{"ecosystem":"npm","name":"poly-bbc-service","ranges":[],"versions":["3.7.2"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/poly-bbc-service/v/3.7.2"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-12799","license":"OSV · upstream source license applies","key":"osv:MAL-2026-12799","identifiers":["MAL-2026-12799"]},"retained":false,"historicalAffected":[]}],"coverage":[]}