{"id":"MAL-2026-12130","summary":"Malicious code in accounts-card-design-picker (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (5bdaa2c933125ad6b8c88277ca7b778654f4a73bf7d6b1c9e945a4e9a2a80eed)\nOn require of the package's main, index.js loads _platform.js, which fetches a platform-specific native binary from Cloudflare Workers hosts assembled via String.split+join obfuscation (oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev). If HTTPS retrieval fails, the loader falls back to a DNS-TXT covert channel under *.dl.well1.site (tin/tina/ldr/win.dl.well1.site), reading a chunk count from c.\u003cdomain\u003e TXT records and reassembling base64 fragments from \u003ci\u003e.\u003cdomain\u003e TXT records. The reconstructed bytes are written to a temp path with a deceptive name (dotnet_diag_\u003chex\u003e.exe on Windows,.cache_\u003chex\u003e on Unix), chmodded to 0755, and spawned detached via /bin/sh -c or cmd. A persistence marker file.analytics_state is used, and env-var names impersonate telemetry/analytics opt-out semantics. The declared package purpose is a 'card design picker', unrelated to any of this behavior. A second dropper variant with the same write+chmod+spawn chain (using property-name concatenation like 'chmod'+'Sync' and require('child_'+'process')) is bundled at lib/telemetry.js but not reached from main.\n","modified":"2026-08-05T10:05:43.694991243Z","published":"2026-08-05T09:07:00Z","database_specific":{"malicious-packages-origins":[{"import_time":"2026-08-05T09:28:24.689492302Z","modified_time":"2026-08-05T09:07:00Z","sha256":"41c26b5e9dc3a2124a6af59dbca75dc8a559d82048d023ddc5b0c1c07f19bd39","source":"amazon-inspector","versions":["33.5.1"],"id":"IN-MAL-2026-014551"},{"source":"amazon-inspector","versions":["0.0.2"],"id":"IN-MAL-2026-014554","import_time":"2026-08-05T09:28:25.015106656Z","modified_time":"2026-08-05T09:07:25Z","sha256":"5bdaa2c933125ad6b8c88277ca7b778654f4a73bf7d6b1c9e945a4e9a2a80eed"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/accounts-card-design-picker/v/33.5.1"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/accounts-card-design-picker/v/0.0.2"}],"affected":[{"package":{"name":"accounts-card-design-picker","ecosystem":"npm","purl":"pkg:npm/accounts-card-design-picker"},"versions":["33.5.1","0.0.2"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/accounts-card-design-picker/MAL-2026-12130.json","cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}],"indicators":{"evidence_files":[{"path":"_platform.js","sha256":"05eb0f46d87687af123c8528ee584e575346e541984e4d905672ba956f50e77f","tlsh":"f7a1a7aa16a6301d8bb0dbe487175816f65af6637780c1c5fb5c69940f7212483b1ffc"},{"tlsh":"a5835055566a242186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc","path":"lib/telemetry.js","sha256":"70d47d882a0e7841451d86ad82bb50e305cfd78c8a3d6b7818faa14204be3563"}],"package_integrity":[{"hashes":{"sha1":"2e8d474f094e794eb2af99d3f065a06e9b02455c","sha512_sri":"sha512-5S8hEInY9C+aaPdG3t/Xfbp9FH8+BAgrIgaAwSi0/qOYZQ4WAT7l1oDNCDXO+HATy7eKP1avhP20JiqgrgPa1A=="},"filename":"accounts-card-design-picker-33.5.1.tgz"}]}}}],"schema_version":"1.8.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}