{"schema_version":"1.8.0","id":"MAL-2026-12723","published":"2026-08-05T13:50:07Z","modified":"2026-08-05T14:36:42.636612697Z","summary":"Malicious code in devplatform-nx-gle (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (5c9ada1c90c8e8217f9020f02c530477f38a6fd89338f415c815413498036faf)\nOn require() of devplatform-nx-gle, index.js side-loads a sibling module _bridge.js inside a swallowing try/catch. _bridge.js reconstructs hardcoded Cloudflare Workers hostnames from split string fragments joined at runtime (oob-worker.cf103-070.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf100-416.workers.dev), downloads a platform-specific native executable via https.get, writes it under /tmp or %TEMP% with decoy filenames such as dotnet_diag_<rand>.exe or.cache_<rand>, chmods it 0755, and spawns it detached via spawn(\"/bin/sh\", [\"-c\",...]) or spawn(\"cmd\",...). A DNS TXT-record channel over sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru serves as a fallback delivery path. The advertised package purpose is a trivial no-op class described as a shared backend integration library; the dropper module is unrelated to that advertised API. Hostnames are constructed via string-join concatenation to defeat static string matching, and the try/catch around the _bridge require() silently suppresses failures.\n","affected":[{"package":{"name":"devplatform-nx-gle","ecosystem":"npm","purl":"pkg:npm/devplatform-nx-gle"},"versions":["35.5.3"],"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":"_bridge.js","sha256":"1754d94382da6b07a476f4b59007cd9518ce1fcc05cd4ccdaeee1cb9dd36fec9","tlsh":"82a1a59a066a70198bb09be4cb174415f65ff6633781c284fb5ca9885f7302483b2dfc"},{"path":"index.js","sha256":"4d90fc76e76a20a36ebddd137a0b3c3fd1a103c5d28bc8022839be4e86158442","tlsh":"90f0219515eaec628770a3f3ceb30041f5e284255e87419c76c590df0bb4814029dfba"}],"package_integrity":[{"filename":"devplatform-nx-gle-35.5.3.tgz","hashes":{"sha1":"83e10a995b749d395ef05130d366cf3118166079","sha512_sri":"sha512-goicAaChHcQ/EhIXHnMisQUKZy1fuVNP1frDbnqSj3G9/hQN9G3NxzkIFgF/w0tNiq6oEsdVNYq2tXjFmlJyHw=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/devplatform-nx-gle/MAL-2026-12723.json"}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/devplatform-nx-gle/v/35.5.3"}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-015058","import_time":"2026-08-05T14:19:57.526349012Z","modified_time":"2026-08-05T13:50:07Z","sha256":"5c9ada1c90c8e8217f9020f02c530477f38a6fd89338f415c815413498036faf","source":"amazon-inspector","versions":["35.5.3"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}