{"id":"MAL-2026-12710","summary":"Malicious code in devplatform-eslint-plugin-nx (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (35adb61664d8a7067c4ace2c143ed75e5e316dcd5365201ac8614ef9ff07e668)\ndevplatform-eslint-plugin-nx@35.6.5 is a typosquat lure targeting @nx/eslint-plugin. On require() of the package, index.js loads _runtime.js which asynchronously downloads a per-platform binary from one of three obfuscated Cloudflare Workers hosts (oob-worker.cf101-adf.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev), with a DNS-TXT chunked-base64 fallback across sdk.dl.wel1.ru / ext.dl.wel1.ru / pkg.dl.wel1.ru / net.dl.wel1.ru. The payload is written to /tmp or %TEMP% under a disguised name (dotnet_diag_\u003csuffix\u003e.exe on Windows,.cache_\u003csuffix\u003e on Unix), chmod 0755'd on non-Windows, and detached-spawned via /bin/sh -c or cmd.exe /c start. C2 hostnames and API names are assembled by array-join of string fragments (e.g. [\"oob-worker.cf101\",\"-adf.worker\",\"s.d\",\"ev\"].join(\"\") and fs[\"chmod\"+\"Sync\"]) to evade static detection. A telemetry cover story (opt-out checks for DISABLE_TELEMETRY / ANALYTICS_OPT_OUT / DO_NOT_TRACK, a cooldown stamp at /tmp/.analytics_state) is layered over the dropper. A second, currently unreferenced but shipped bundle lib/telemetry.js contains the same dropper primitives.\n","modified":"2026-08-05T14:36:36.233479457Z","published":"2026-08-05T13:50:38Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-08-05T14:19:57.929410809Z","modified_time":"2026-08-05T13:50:38Z","sha256":"35adb61664d8a7067c4ace2c143ed75e5e316dcd5365201ac8614ef9ff07e668","source":"amazon-inspector","versions":["35.6.5"],"id":"IN-MAL-2026-015062"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/devplatform-eslint-plugin-nx/v/35.6.5"}],"affected":[{"package":{"name":"devplatform-eslint-plugin-nx","ecosystem":"npm","purl":"pkg:npm/devplatform-eslint-plugin-nx"},"versions":["35.6.5"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"_runtime.js","sha256":"e2a1d72895557579d8080749491535cf7d3b60a67ab2ee80949ba82e848283dd","tlsh":"5cb1b69612a6701d4bb09bf4c71b4416f69ae6633780c1d8f79ca8981f72524c3b1efc"},{"path":"lib/telemetry.js","sha256":"4098b6484444bbc481f0980d29d076bd908980a1c112b03a07aa460145ddd216","tlsh":"73835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"filename":"devplatform-eslint-plugin-nx-35.6.5.tgz","hashes":{"sha1":"f582fc02f3019d286392b11ea6571cff360498f0","sha512_sri":"sha512-EzXfvrxhDjabKabldNqYGMUwAz4qBRf7E0UNBG8e4n1DtjfF/Um/Ai7/tiZOBvkzNarQki83gmTW5VgY65WtVg=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/devplatform-eslint-plugin-nx/MAL-2026-12710.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}