{"id":"MAL-2026-5712","summary":"Malicious code in jextic-eclib (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (13a6476409b9cb9296b7f778be375081c8ad12b030658351092e9fef90f4b707)\nOn `npm install`, the package's postinstall hook (`postinstall.js`) requires `index.js`, whose top-level `scanAndExfiltrate()` call walks the installer's working directory and parent directories for sensitive files (.env,.aws/credentials,.ssh/id_rsa,.npmrc,.netrc,.git-credentials, service-account.json, and similar) and POSTs their contents via `execSync('curl...')` to a hardcoded Discord webhook. The webhook URL is split into two base64-encoded chunks (`aHR0cHM6Ly9kaXNjb3JkLmNvbS9hcGkvd2ViaG9va3Mv` plus a base64-encoded webhook ID/token) and reassembled at runtime to evade simple string scanners. The combination of installer-secret enumeration, hardcoded attacker-controlled exfil endpoint, base64 obfuscation, and unconditional execution under the postinstall lifecycle hook is a textbook supply-chain credential-theft attack.\n\n## Source: ghsa-malware (e1b711973232fc0cb41d14fdad4ab528b239cff398f86eaf9d4c33e253783ec6)\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","aliases":["GHSA-fvh5-fhfx-3whm"],"modified":"2026-07-27T10:08:33.101923627Z","published":"2026-06-12T20:35:41Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-06-12T20:35:41Z","versions":["1.0.0"],"source":"amazon-inspector","sha256":"13a6476409b9cb9296b7f778be375081c8ad12b030658351092e9fef90f4b707","import_time":"2026-06-12T20:49:38.041891302Z","id":"IN-MAL-2026-006230"},{"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"source":"ghsa-malware","sha256":"e1b711973232fc0cb41d14fdad4ab528b239cff398f86eaf9d4c33e253783ec6","import_time":"2026-07-27T09:43:03.798754516Z","id":"GHSA-fvh5-fhfx-3whm","modified_time":"2026-07-27T02:39:18Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/jextic-eclib/v/1.0.0"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-fvh5-fhfx-3whm"}],"affected":[{"package":{"name":"jextic-eclib","ecosystem":"npm","purl":"pkg:npm/jextic-eclib"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["1.0.0"],"database_specific":{"cwes":[{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."},{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"}],"indicators":{"evidence_files":[{"sha256":"af46e4470629d3beb9d161cb05ee876f38e8ab70604d69b6da0afc07af5bd725","tlsh":"2d41a8f605fa1bb04467cddad60f18011297e6933224a8f0716c059c0f8ee20b6f3eac","path":"index.js"},{"sha256":"c83d17768d6e40437fdc68b827e130ba70de18c73effe5cd2c697561c76f601e","tlsh":"76e07d000d568f3325c50f5b0d26845c66225f1f0000791c2bdf106cc34e1b699ff39e","path":"package.json"}],"package_integrity":[{"filename":"jextic-eclib-1.0.0.tgz","hashes":{"sha1":"4c887f08f577cd599c8915dcd5532757b6ed5c08","sha512_sri":"sha512-lWPDLdhNxPBZSdUP5nkcrb5pQsDsMrPPsQzsvxPOl05dXflbgyIA38BmSI9SrHJmbyUwvxwlEtK8meMEY/F+Ng=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/jextic-eclib/MAL-2026-5712.json"}}],"schema_version":"1.7.5","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}