MAL-2026-14020Malicious code in alelo-api (npm)
| Ecosystem | Package | Version |
|---|---|---|
| npm | alelo-api | 99.0.0 |
| npm | alelo-api | 99.0.2 |
{"modified":"2026-08-14T14:29:59Z","published":"2026-08-14T14:13:28Z","schema_version":"1.7.4","id":"MAL-2026-14020","summary":"Malicious code in alelo-api (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (0e520850363c3164a09e0772022283849a0abd1b6f60e9168f4a5fd3ff338886)\nThe package fires attacker-controlled code on `npm install` via both `preinstall.js` and `index.js` (postinstall). preinstall.js collects hostname, username, platform, cwd, and the full `process.env`, JSON-encodes it, and POSTs it over HTTPS with TLS verification disabled to the hardcoded bare-IP endpoint https://209.99.185.109/preinstall. The postinstall path reads installer-owned secret files from the current working directory and its parents (`.env`, `../.env`, `../../.env`, `.npmrc`, `package.json`), captures `process.env`, executes `whoami` and `id`, and POSTs the aggregate to https://209.99.185.109/postinstall (also with TLS verification disabled). The tarball additionally ships a `login.ps1` note referencing the publisher account `oxy12@proton.me` and a local publish workflow under `C:\\Users\\hp\\Documents\\alelo\\npm-publish`; combined with the name `alelo-api` and version `99.0.0`, this indicates a typosquat / dependency-confusion attack aimed at the Alelo organization. Any installer that runs `npm install alelo-api` leaks environment variables, npm tokens, and any `.env` secrets in the working tree to the hardcoded IP.\n","affected":[{"package":{"ecosystem":"npm","name":"alelo-api"},"versions":["99.0.0","99.0.2"],"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"}],"indicators":{"evidence_files":[{"path":"preinstall.js","sha256":"d753bcad41ebf25fd1393ca3e6690c5213b956305ad9c50aa968b717ae7aec37","tlsh":"2ff002f041b9f2f07af5a6c0b067982261b3e1103917bcf0c9d841456b8f4681173cf1"},{"path":"index.js","sha256":"27b0b358d7bdb88d005f7ac164dff32b13f7ac2c52eea12495e29aac286d3b65","tlsh":"4c21e1f067a4a3b07ab556d4e1ae50006263e2123d26b6f0b5d801917b1997815b3db0"},{"path":"login.ps1","sha256":"d784a3de392836730544da8e2ba25bcaaad2632f0cc8e4b8ce76b5cb4fe82d2b","tlsh":"d7f0a272910a614d3ee4466b00f4f536fd3b133269d4de94a6a916c9f8c195c2972833"}],"package_integrity":[{"filename":"alelo-api-99.0.0.tgz","hashes":{"sha1":"f34fb4405b42785465899c11012aea4e50cd4bb1","sha512_sri":"sha512-cj9NYG9FuaQoFSwTkZX9PNWgwp1toDVBKAQukBABiB00c1jWmWmWMIdqJ1MLDx6qk1e1r3jAoAnIhxoSTeCUyA=="}}]}}}],"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/alelo-api/v/99.0.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/alelo-api/v/99.0.2"}],"credits":[{"name":"Amazon Inspector","type":"FINDER","contact":["inspector-research@amazon.com"]}],"database_specific":{"malicious-packages-origins":[{"id":"IN-MAL-2026-017769","import_time":"2026-08-14T14:28:07.56111041Z","modified_time":"2026-08-14T14:13:28Z","sha256":"0e520850363c3164a09e0772022283849a0abd1b6f60e9168f4a5fd3ff338886","source":"amazon-inspector","versions":["99.0.0"]},{"id":"IN-MAL-2026-017770","import_time":"2026-08-14T14:28:07.67859736Z","modified_time":"2026-08-14T14:13:36Z","sha256":"a2f51421bbedaeb1c9c0bd34829ebad9224a41068662bc855d20c06f7d2cc3b6","source":"amazon-inspector","versions":["99.0.2"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0