{"id":"MAL-2026-13502","summary":"Malicious code in devplatform-react-mcp (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (21349fd06b973a43dd3b8e7bbf1ec9c726d71fba81e1656410d718a3ef4b7e7e)\ndevplatform-react-mcp@35.5.6 is a dropper disguised as a React MCP SDK. On require(), index.js loads _helpers.js which assembles three Cloudflare Workers hostnames (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf102-baf.workers.dev) from small string fragments joined at runtime, downloads a platform-specific binary via https.get, writes it to /tmp/.cache_\u003chex\u003e or %TEMP%\\dotnet_diag_\u003chex\u003e.exe, chmods it 0755, and spawns it detached via /bin/sh -c or cmd /c start. A DNS-TXT fallback resolves further payload sources under sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. A second dropper pipeline in lib/telemetry.js repeats the same primitives (base64 chunk assembly, fs[\"chmod\"+\"Sync\"], cp.spawn(\"/bin/sh\",[\"-c\", filePath+\" &\"])) behind an 'analytics SDK' cover story. Identifier strings such as child_process and chmodSync are concatenated at runtime to evade static analysis. There is no native-build purpose; the package is a stub SDK whose only observable behavior on load is fetching and executing an opaque attacker-controlled binary on the installer's host.\n","modified":"2026-08-07T12:35:10.040259486Z","published":"2026-08-07T12:12:04Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-08-07T12:12:04Z","sha256":"21349fd06b973a43dd3b8e7bbf1ec9c726d71fba81e1656410d718a3ef4b7e7e","source":"amazon-inspector","versions":["35.5.6"],"id":"IN-MAL-2026-016880","import_time":"2026-08-07T12:23:25.529986899Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/devplatform-react-mcp/v/35.5.6"}],"affected":[{"package":{"name":"devplatform-react-mcp","ecosystem":"npm","purl":"pkg:npm/devplatform-react-mcp"},"versions":["35.5.6"],"database_specific":{"indicators":{"evidence_files":[{"sha256":"51f72554b90d467aa19afe69e1ccfcafd260d95d829cf37686158eda1dea49dc","tlsh":"fda1b69a06a670084bb09be5c7175416f66bf2633681d1c4f7ac99981f7313883b2efc","path":"_helpers.js"},{"path":"lib/telemetry.js","sha256":"5785c7c2f50c4295e502eb47faa4ce0b29a61ea499ccb49c37b33f02f4999b72","tlsh":"9a835055566a242186b2b368df234107ff3685272642429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"hashes":{"sha512_sri":"sha512-IOdBnazWR/tHtdFOYDLHvjIff9y8sYtPCrtPP+Imw76TFK+n6y4dQB3uLPj1Ib5wEb+cA30nPVxGHmIxmbhcCQ==","sha1":"d24c8d062cd576230b908ca845450f08f9ca2e40"},"filename":"devplatform-react-mcp-35.5.6.tgz"}]},"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/devplatform-react-mcp/MAL-2026-13502.json"}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}