{"id":"MAL-2026-18206","summary":"Malicious code in @ecg-internal/adobe-dmp-js (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f)\nPackage uses the `@ecg-internal/*` scope (resembling an internal namespace) and ships a minimal stub whose only effect is to beacon host identifiers to a hardcoded bare-IP endpoint. `package.json` declares a `postinstall` that runs `beacon.cjs`, which POSTs JSON containing `os.hostname()`, `__dirname` (install path), `process.cwd()`, Node version, and the package name to `http://185.158.107.175:8787/_ah/dc` over plain HTTP. The package `main` (`index.js`) also calls `require('./beacon.cjs').fire()` at top level, so the same callback fires on every `require`/`import`. `index.js` exports a `Proxy` no-op so property accesses on the module silently return functions, allowing consumer build pipelines to continue without errors and masking that the package is a stub. The hardcoded bare-IP destination over plain HTTP, unrelated to any legitimate Adobe or ECG infrastructure, together with the internal-looking scope and inert functional surface, is the canonical dependency-confusion reconnaissance payload used to map which victims resolved an attacker-published public package in place of a private internal one.\n\n## Source: ghsa-malware (129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50)\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-vcj4-3hxm-4rf3"],"modified":"2026-10-23T02:45:05.048440900Z","published":"2026-10-23T01:58:53Z","database_specific":{"malicious-packages-origins":[{"modified_time":"2026-10-23T01:59:09Z","sha256":"1c2c047d5f80833e70fcfda5361a085a9e68608633af309b7e4c861c838cee83","source":"amazon-inspector","versions":["99.0.1"],"id":"IN-MAL-2026-021591","import_time":"2026-10-23T02:25:38.177032956Z"},{"source":"amazon-inspector","versions":["2.0.0"],"id":"IN-MAL-2026-021592","import_time":"2026-10-23T02:25:38.234036759Z","modified_time":"2026-10-23T01:59:15Z","sha256":"2db721b8d79848a662c7f2d6b18ff575c1106a02023821175596c08cf9c27d66"},{"import_time":"2026-10-23T02:25:38.026829941Z","modified_time":"2026-10-23T01:58:53Z","sha256":"43d35abbcc942b984c6fc0b422c41292a3274bae4f59fe10cd6e3c2866b10158","source":"amazon-inspector","versions":["1.0.1"],"id":"IN-MAL-2026-021589"},{"source":"amazon-inspector","versions":["2.0.1"],"id":"IN-MAL-2026-021593","import_time":"2026-10-23T02:25:38.3145625Z","modified_time":"2026-10-23T01:59:22Z","sha256":"82464e0eaaaf0cea70efcd8d8fbcfcc48ee3df40e3bf2e28601e3850928304e6"},{"id":"IN-MAL-2026-021590","import_time":"2026-10-23T02:25:38.083882468Z","modified_time":"2026-10-23T01:59:01Z","sha256":"8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f","source":"amazon-inspector","versions":["0.0.1"]},{"sha256":"129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50","source":"ghsa-malware","id":"GHSA-vcj4-3hxm-4rf3","import_time":"2026-10-23T02:36:25.389614195Z","modified_time":"2026-10-23T02:05:19Z","ranges":[{"events":[{"introduced":"0"}],"type":"SEMVER"}]}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/99.0.1"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/2.0.0"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/1.0.1"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/2.0.1"},{"type":"PACKAGE","url":"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/0.0.1"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-vcj4-3hxm-4rf3"}],"affected":[{"package":{"name":"@ecg-internal/adobe-dmp-js","ecosystem":"npm","purl":"pkg:npm/%40ecg-internal/adobe-dmp-js"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["99.0.1","2.0.0","1.0.1","2.0.1","0.0.1"],"database_specific":{"indicators":{"evidence_files":[{"tlsh":"b23161efa8f1a0089aa77098c54f0409b17af4079901ab54f95c82919f7253c33fa8dc","path":"beacon.cjs","sha256":"2d0dae8f5cffde387e24f61001fef116b1b8b07a666d9e0b67428a0eb421a0c7"},{"path":"index.js","sha256":"a86a4da763bbb34c16f361abe7aab66d5df591b66867ac8160041f932159b08d","tlsh":"2201d0d7225661b10b5221a4978f43c4a3b99d74027941d0d84a9226365108c463b8ee"}],"package_integrity":[{"filename":"adobe-dmp-js-99.0.1.tgz","hashes":{"sha1":"ce699eea2a24fe09d936384e4d75525394c393eb","sha512_sri":"sha512-dkvddio4UekgE7NX4UPQJcNf4JZjf5hiT41GzCwcvSOOiIAhVh0LVfa/bynMwgOutp4Lr6oJTEKTWo8RSTSf0Q=="}}]},"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@ecg-internal/adobe-dmp-js/MAL-2026-18206.json","cwes":[{"description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code","cweId":"CWE-506"},{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"},{"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"},{"name":"Embedded Malicious Code","cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature."}]}}],"schema_version":"1.9.0","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}