{"id":"MAL-2026-14065","summary":"Malicious code in akamai-sensor (npm)","details":"\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","aliases":["GHSA-5rgj-m8xx-vvvj"],"modified":"2026-09-24T09:30:15.920010416Z","published":"2026-08-15T17:41:39Z","database_specific":{"malicious-packages-origins":[{"sha256":"f1a8cc3668ec9751c1ef60bf602f1e08f2f2fdf8dce999e442c484458f932178","source":"amazon-inspector","versions":["1.0.0"],"id":"IN-MAL-2026-017971","import_time":"2026-08-15T18:08:48.394948515Z","modified_time":"2026-08-15T17:41:39Z"},{"import_time":"2026-09-24T09:21:31.951119672Z","modified_time":"2026-09-22T17:16:05Z","sha256":"eeba3606d931e8bf8ce2e7f844fd22f32a3563c1b2853be6f3495e001736ffc7","source":"reversing-labs","versions":["1.0.0"],"id":"RLMA-2026-10679"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/akamai-sensor/v/1.0.0"},{"type":"ADVISORY","url":"https://github.com/ossf/malicious-packages/blob/051ffb7fdada8b093b7eecdc4cac6f65797fedc7/osv/malicious/npm/require-i18next/MAL-2026-14052.json"},{"type":"ADVISORY","url":"https://github.com/ossf/malicious-packages/blob/6ac84d47e42a3fc364be5668e5e9dd4ae5a11cf8/osv/malicious/npm/require-i18next/MAL-2026-14052.json"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-5rgj-m8xx-vvvj"}],"affected":[{"package":{"name":"akamai-sensor","ecosystem":"npm","purl":"pkg:npm/akamai-sensor"},"versions":["1.0.0"],"database_specific":{"cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"package_integrity":[{"filename":"akamai-sensor-1.0.0.tgz","hashes":{"sha1":"a046f0563eae197cc851ea6839463c2ba6e7bee1","sha512_sri":"sha512-JSZSFrDnMYs9Y13wSTuRExwhhio3TUlC+8Va+ZW6jYxlsUHoMKOtzsoiAdZb4gk45jWtQUZssTdU3wxvWDk9eQ=="}}],"evidence_files":[{"tlsh":"b00189db26fb3161831350912adbd15a34dfec633606e0c1fbac92d0af62410477b5ad","path":"sync-metrics.js","sha256":"427c50d775724e65fbaeef7d2b8dc106410934ac89515372b4cf4a2f61d3845b"},{"sha256":"88e66b03beaa43fd92af55081b5618964e836a7a8911f336d839f0e9194fd172","tlsh":"cba1ef517af3317b002351d4a357f0a495079e027585c8d0ea6c5bf52ed1e98c9e3dea","path":"index.js"}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/akamai-sensor/MAL-2026-14065.json"}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"ReversingLabs","contact":["https://www.reversinglabs.com"],"type":"FINDER"}]}