{"id":"MAL-2026-14065","revision":"b4d08b4bca164806a1e893b62de4f0df","records":[{"revision":"b4d08b4bca164806a1e893b62de4f0df","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"MAL-2026-14065","aliases":["GHSA-5rgj-m8xx-vvvj"],"title":"Malicious code in akamai-sensor (npm)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f1a8cc3668ec9751c1ef60bf602f1e08f2f2fdf8dce999e442c484458f932178)\nPackage published under a name impersonating Akamai's sensor_data anti-bot SDK. index.js contains a /*... */ comment whose body is encoded in invisible Unicode variation-selector and tag characters (U+FE00-U+FE0F and U+E0100-U+E01EF); sync-metrics.js reads index.js, extracts that comment, decodes the tag characters back to UTF-8 bytes, and passes the reconstructed string to new Function('require', batch)(require), executing hidden JavaScript with full require access. Execution is triggered when a consumer calls the package's exported sensor() API (index.js invokes require('./sync-metrics').touch()). index.js additionally fetches a hardcoded public Google Calendar ICS feed at calendar.google.com/calendar/ical/hev4229%40gmail.com/public/basic.ics, scans event DESCRIPTION fields for a URL (base64-decoding the value), appends /generate, and fetches and parses JSON from that URL on each sensor() call - a dead-drop command-and-control channel whose target endpoint the operator can rotate at will by editing the calendar. The combination of vendor-name impersonation, invisible-Unicode payload concealment, dynamic code execution via new Function, and mutable third-party dead-drop C2 is a supply-chain attack against installers who trust the Akamai brand.\n","state":0,"publishedAt":"2026-08-15T17:41:39+00:00","modifiedAt":"2026-09-24T09:30:15.9200104+00:00","affected":[{"ecosystem":"npm","name":"akamai-sensor","ranges":[],"versions":["1.0.0"],"rawVersionEvidence":null}],"metrics":[],"references":["https://www.npmjs.com/package/akamai-sensor/v/1.0.0","https://github.com/ossf/malicious-packages/blob/051ffb7fdada8b093b7eecdc4cac6f65797fedc7/osv/malicious/npm/require-i18next/MAL-2026-14052.json","https://github.com/ossf/malicious-packages/blob/6ac84d47e42a3fc364be5668e5e9dd4ae5a11cf8/osv/malicious/npm/require-i18next/MAL-2026-14052.json","https://github.com/advisories/GHSA-5rgj-m8xx-vvvj"],"sourceUrl":"https://osv.dev/vulnerability/MAL-2026-14065","license":"OSV · upstream source license applies","key":"osv:MAL-2026-14065","identifiers":["MAL-2026-14065","GHSA-5rgj-m8xx-vvvj"]},"retained":false,"historicalAffected":[]}],"coverage":[]}