MAL-2026-14379Malicious code in totp-utils (npm)
| 版本 | 状态 | 大小 | SHA-256 | 获取方式 |
|---|---|---|---|---|
1.4.2 | unavailable | — | — | — |
1.4.3 | unavailable | — | — | — |
1.4.4 | unavailable | — | — | — |
1.4.5 | unavailable | — | — | — |
1.4.6 | unavailable | — | — | — |
1.4.7 | unavailable | — | — | — |
1.4.8 | archived | — | — | VIP 下载 |
1.4.9 | unavailable | — | — | — |
| Ecosystem | Package | Version |
|---|---|---|
| npm | totp-utils | * |
| npm | totp-utils | 1.4.2 |
| npm | totp-utils | 1.4.3 |
| npm | totp-utils | 1.4.4 |
| npm | totp-utils | 1.4.5 |
| npm | totp-utils | 1.4.6 |
| npm | totp-utils | 1.4.7 |
| npm | totp-utils | 1.4.8 |
| npm | totp-utils | 1.4.9 |
{"schema_version":"1.7.4","id":"MAL-2026-14379","published":"2026-08-21T12:25:46Z","modified":"2026-08-24T05:49:48.924291434Z","aliases":["GHSA-m72r-95xc-q6g8"],"summary":"Malicious code in totp-utils (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (8cebaa0a3370c12104ef2816420193171f431df0d113fdc5d8c9f1dc921deeb5)\nPackage advertises itself as a TOTP utility but its postinstall script (`node./index.js --setup 2>/dev/null || true`) and its exported `validateSecret` API both invoke a hidden `_run()` routine that (1) scans Discord/Chrome/Edge/Brave/Opera LevelDB stores under `os.homedir()` for Discord auth-token regexes, DPAPI-decrypts encrypted tokens via a spawned powershell `ProtectedData.Unprotect` call, parses Minecraft launcher credentials (vanilla `launcher_accounts.json`, Lunar `accounts.json`, ModrinthApp `app.db` JWTs), validates the harvested Discord tokens against `discord.com/api/v9`, and POSTs the collected credentials to a hardcoded Discord webhook whose URL is stored as chunked base64 in `_x` and reassembled at runtime (`Buffer.from(_x.join(''),'base64')`) to a `discord.com/api/webhooks/1532429233769419004/...` endpoint; and (2) enumerates vanilla/Modrinth/Lunar Minecraft profile `mods/` directories and writes an opaque JAR named `optimized-renderer-1.0.0.jar` (URL also stored as chunked base64 decoding to `cdn.discordapp.com/attachments/1507484731535785994/1540335670831222894/optimized-renderer-1.0.0.jar`) into each discovered mods folder, delivering unverified code that will execute the next time the user launches Minecraft with a Fabric loader. The postinstall suppresses stderr and uses a 4-second `setTimeout` to appear to finish cleanly. Because `validateSecret` (part of the three-function public API) schedules `_run()` via `setImmediate`, the same theft and dropper also fire whenever a downstream consumer imports the package and calls the advertised TOTP function — extending the attack surface well beyond install time.\n\n## Source: ghsa-malware (145fefb1ae148805aea6871e4815b86fb21f89d31230787f8a9a5eb8e5a1cea2)\nAny computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.\n\n## Source: ossf-package-analysis (9c45116c29a00a054ccdbbef39b740b4551b671bdb999a0c8d76deac16b9352e)\nThe OpenSSF Package Analysis project identified 'totp-utils' @ 1.4.4 (npm) as malicious.\n\nIt is considered malicious because:\n\n- The package communicates with a domain associated with malicious activity.\n","affected":[{"package":{"name":"totp-utils","ecosystem":"npm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["1.4.8","1.4.7","1.4.6","1.4.2","1.4.5","1.4.4","1.4.3","1.4.9"],"database_specific":{"cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"evidence_files":[{"path":"index.js","sha256":"f347ed56ba253a8e243558f4c558ddf82f40276166e3bd68d4740c7d89f57fe8","tlsh":"db62833651b3212876a3e1ec9a0790197179f443310ade90779cb2946fcf87c92b3abd"}],"package_integrity":[{"filename":"totp-utils-1.4.8.tgz","hashes":{"sha1":"69ee7ef1a09be369ff7e6651637296a97ddf318c","sha512_sri":"sha512-R6irZpaoVxJr3mt3b6nHFaploGS3SFk4scKZch+Cl6dZBoXBNTZhbmxu0cCF84+RkxVwrSTGK6Va2A1ZJzIoaw=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.8"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.7"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.6"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.2"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.5"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.4"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.3"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/totp-utils/v/1.4.9"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-m72r-95xc-q6g8"}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-018557","import_time":"2026-08-23T03:25:55.080831405Z","modified_time":"2026-08-23T03:12:59Z","sha256":"159988f0acc3ba380dd82b99d2cce2a3970e07aa7494c39c549f0ba88b7d787a","source":"amazon-inspector","versions":["1.4.8"]},{"id":"IN-MAL-2026-018554","import_time":"2026-08-23T03:25:54.804355655Z","modified_time":"2026-08-23T03:12:33Z","sha256":"46699d4670a172968db679dd8d8061283ccfbf9eee4554c6a6ce0e67eb16d6e3","source":"amazon-inspector","versions":["1.4.7"]},{"id":"IN-MAL-2026-018555","import_time":"2026-08-23T03:25:54.896503665Z","modified_time":"2026-08-23T03:12:42Z","sha256":"5734460fd684f09f39708d3033d94ce9c8e583c83894b949bd4a47520004922d","source":"amazon-inspector","versions":["1.4.6"]},{"id":"IN-MAL-2026-018553","import_time":"2026-08-23T03:25:54.691565422Z","modified_time":"2026-08-23T03:12:20Z","sha256":"887df98d985be698c6ed663d1ca5704d80b2d60786836d75994cf0eb4a974127","source":"amazon-inspector","versions":["1.4.2"]},{"id":"IN-MAL-2026-018556","import_time":"2026-08-23T03:25:54.984995961Z","modified_time":"2026-08-23T03:12:53Z","sha256":"8cebaa0a3370c12104ef2816420193171f431df0d113fdc5d8c9f1dc921deeb5","source":"amazon-inspector","versions":["1.4.5"]},{"id":"IN-MAL-2026-018558","import_time":"2026-08-23T03:25:55.174628388Z","modified_time":"2026-08-23T03:13:05Z","sha256":"b47329f2fed5aec352ee8075511b4c376383589353751c6af797d5f683707298","source":"amazon-inspector","versions":["1.4.4"]},{"id":"IN-MAL-2026-018550","import_time":"2026-08-23T03:25:54.336002989Z","modified_time":"2026-08-23T03:11:57Z","sha256":"ece76e4c56511dbf378c70d9a4e9ea57114f2e11d1d9a257cb54e44a0973012e","source":"amazon-inspector","versions":["1.4.3"]},{"id":"IN-MAL-2026-018552","import_time":"2026-08-23T03:25:54.598965582Z","modified_time":"2026-08-23T03:12:13Z","sha256":"f6231fb9eaa1f92b21582e78502121021602c785ab96a4d19086cc0c4967d254","source":"amazon-inspector","versions":["1.4.9"]},{"id":"GHSA-m72r-95xc-q6g8","import_time":"2026-08-23T17:23:25.207520455Z","modified_time":"2026-08-23T16:47:54Z","ranges":[{"events":[{"introduced":"0"}],"type":"SEMVER"}],"sha256":"145fefb1ae148805aea6871e4815b86fb21f89d31230787f8a9a5eb8e5a1cea2","source":"ghsa-malware"},{"import_time":"2026-08-24T05:47:54.827891997Z","modified_time":"2026-08-21T12:40:43Z","sha256":"9c45116c29a00a054ccdbbef39b740b4551b671bdb999a0c8d76deac16b9352e","source":"ossf-package-analysis","versions":["1.4.4"]},{"import_time":"2026-08-24T05:47:54.742502031Z","modified_time":"2026-08-21T12:25:46Z","sha256":"540564c8df54a933b6fb7f053cc98136e52caa53f6eb74a96fa0d1597ba4479a","source":"ossf-package-analysis","versions":["1.4.3"]}]},"credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"},{"name":"OpenSSF: Package Analysis","contact":["https://github.com/ossf/package-analysis","https://openssf.slack.com/channels/package_analysis"],"type":"FINDER"}]}数据来源:OpenSSF Malicious Packages · Apache-2.0