{"schema_version":"1.8.0","id":"MAL-2026-13054","published":"2026-08-05T14:30:37Z","modified":"2026-08-05T15:52:00.855908181Z","summary":"Malicious code in boxy-live (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (2804acf2e6e6e87de8651cf13574290daa1a3a59bb556d8f225d2d6d2abd8783)\nOn package load, index.js require()s _loader.js, whose top-level start() fetches a platform-specific unsigned binary from Cloudflare Workers hosts whose names are assembled at runtime from split substring arrays (oob-worker.cf10{0-3}-*.workers.dev). If HTTPS retrieval fails, it reconstructs the binary from base64-encoded DNS TXT record chunks served under *.dl.wel1.ru (hostnames such as sdk.dl.wel1.ru also assembled via ['sdk.d','l.wel1.r','u'].join(\"\"); count fetched from c.<domain> TXT and chunks from N.<domain> TXT records). The retrieved bytes are written to a hidden/disguised path (.cache_<hex> under /var/tmp on Unix, dotnet_diag_<hex>.exe under %TEMP% on Windows), chmod 0755, and spawned detached via cp.spawn(\"/bin/sh\", [\"-c\", fp + \" &\"], {detached:true, stdio:\"ignore\"}).unref() (or the cmd equivalent on Windows). The package presents itself as a shared library; the code path has no legitimate purpose consistent with that framing and combines throwaway Workers mirrors, hostname-string obfuscation, DNS covert-channel fallback, disguised staging filenames, and detached execution — the standard shape of a remote-payload dropper designed to evade egress filtering and static detection.\n","affected":[{"package":{"name":"boxy-live","ecosystem":"npm","purl":"pkg:npm/boxy-live"},"versions":["35.8.6"],"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":"_loader.js","sha256":"d79c6b7ce8895d679bc8a4f49f23cb400beeefdb2c3ca140b9589b2dae7baf0a","tlsh":"34b196a615aa701d8bb0ebf0871b5419f65be663338082d8fb5c68941fb316483b1dfc"},{"path":"lib/telemetry.js","sha256":"e4051268fc23c7f07e99913e007bf29059e2ff29601fa222f6b25fee3dd0b14d","tlsh":"22835056566a142186b2b368df234107ff3685272643429dbafc82dc1fbd72092a5ffc"}],"package_integrity":[{"filename":"boxy-live-35.8.6.tgz","hashes":{"sha1":"fc746b751ac64d085e8d0eb6bf5ce1e303936540","sha512_sri":"sha512-l2RRSZGth1gul+8Q9RAdJl7SSnMyQ4O7M33NS5Qml0MHTkT6aEgiyuZ9kGdB59nWfuVCQnONUG4/tIk9zzc+sQ=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/boxy-live/MAL-2026-13054.json"}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/boxy-live/v/35.8.6"}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-015328","import_time":"2026-08-05T15:19:45.12674186Z","modified_time":"2026-08-05T14:30:37Z","sha256":"2804acf2e6e6e87de8651cf13574290daa1a3a59bb556d8f225d2d6d2abd8783","source":"amazon-inspector","versions":["35.8.6"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}