Malicious code in @ecg-internal/adobe-dmp-js (npm)
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f) Package 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. ## Source: ghsa-malware (129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that co
- Products
- @ecg-internal/adobe-dmp-js
- Affected versions
- 0.0.1, 1.0.1, 2.0.0, 2.0.1, 99.0.1
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 20:41 UTC · Revision 1
Source evidence
Malicious code in @ecg-internal/adobe-dmp-js (npm)
core-osv · Original sourcePublished 23 Oct 2026, 01:58 UTC
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f) Package 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. ## Source: ghsa-malware (129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that co
osv:MAL-2026-18206
@ecg-internal/adobe-dmp-js
Fixed versions: Not specified
Complete source record
{
"id": "9f323df7d5f56073a572e07b0717c9fd0e2868a41b899f4960f1143b85952879",
"url": "https://osv.dev/vulnerability/MAL-2026-18206",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in @ecg-internal/adobe-dmp-js (npm)",
"summary": "--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f) Package 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. ## Source: ghsa-malware (129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that co",
"evidence": "osv:MAL-2026-18206",
"products": [
{
"name": {
"value": "@ecg-internal/adobe-dmp-js",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "99.0.1",
"evidence": "/affected/0/versions"
},
{
"value": "2.0.0",
"evidence": "/affected/0/versions"
},
{
"value": "1.0.1",
"evidence": "/affected/0/versions"
},
{
"value": "2.0.1",
"evidence": "/affected/0/versions"
},
{
"value": "0.0.1",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-18206",
"aliases": [
"GHSA-vcj4-3hxm-4rf3",
"MAL-2026-18206"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "@ecg-internal/adobe-dmp-js",
"purl": "pkg:npm/%40ecg-internal/adobe-dmp-js",
"ecosystem": "npm"
},
"versions": [
"99.0.1",
"2.0.0",
"1.0.1",
"2.0.1",
"0.0.1"
],
"database_specific": {
"cwes": [
{
"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."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@ecg-internal/adobe-dmp-js/MAL-2026-18206.json",
"indicators": {
"evidence_files": [
{
"path": "beacon.cjs",
"tlsh": "b23161efa8f1a0089aa77098c54f0409b17af4079901ab54f95c82919f7253c33fa8dc",
"sha256": "2d0dae8f5cffde387e24f61001fef116b1b8b07a666d9e0b67428a0eb421a0c7"
},
{
"path": "index.js",
"tlsh": "2201d0d7225661b10b5221a4978f43c4a3b99d74027941d0d84a9226365108c463b8ee",
"sha256": "a86a4da763bbb34c16f361abe7aab66d5df591b66867ac8160041f932159b08d"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "ce699eea2a24fe09d936384e4d75525394c393eb",
"sha512_sri": "sha512-dkvddio4UekgE7NX4UPQJcNf4JZjf5hiT41GzCwcvSOOiIAhVh0LVfa/bynMwgOutp4Lr6oJTEKTWo8RSTSf0Q=="
},
"filename": "adobe-dmp-js-99.0.1.tgz"
}
]
}
}
}
],
"modified": "2026-10-23T02:45:05.048440900Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/99.0.1",
"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/2.0.0",
"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/1.0.1",
"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/2.0.1",
"https://www.npmjs.com/package/@ecg-internal/adobe-dmp-js/v/0.0.1",
"https://github.com/advisories/GHSA-vcj4-3hxm-4rf3"
],
"provider_metadata": {
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021591",
"sha256": "1c2c047d5f80833e70fcfda5361a085a9e68608633af309b7e4c861c838cee83",
"source": "amazon-inspector",
"versions": [
"99.0.1"
],
"import_time": "2026-10-23T02:25:38.177032956Z",
"modified_time": "2026-10-23T01:59:09Z"
},
{
"id": "IN-MAL-2026-021592",
"sha256": "2db721b8d79848a662c7f2d6b18ff575c1106a02023821175596c08cf9c27d66",
"source": "amazon-inspector",
"versions": [
"2.0.0"
],
"import_time": "2026-10-23T02:25:38.234036759Z",
"modified_time": "2026-10-23T01:59:15Z"
},
{
"id": "IN-MAL-2026-021589",
"sha256": "43d35abbcc942b984c6fc0b422c41292a3274bae4f59fe10cd6e3c2866b10158",
"source": "amazon-inspector",
"versions": [
"1.0.1"
],
"import_time": "2026-10-23T02:25:38.026829941Z",
"modified_time": "2026-10-23T01:58:53Z"
},
{
"id": "IN-MAL-2026-021593",
"sha256": "82464e0eaaaf0cea70efcd8d8fbcfcc48ee3df40e3bf2e28601e3850928304e6",
"source": "amazon-inspector",
"versions": [
"2.0.1"
],
"import_time": "2026-10-23T02:25:38.3145625Z",
"modified_time": "2026-10-23T01:59:22Z"
},
{
"id": "IN-MAL-2026-021590",
"sha256": "8a24a1672f5d2075c0159dee85aaad5dcb27d0cdc7eb6e007bfdbb742b82149f",
"source": "amazon-inspector",
"versions": [
"0.0.1"
],
"import_time": "2026-10-23T02:25:38.083882468Z",
"modified_time": "2026-10-23T01:59:01Z"
},
{
"id": "GHSA-vcj4-3hxm-4rf3",
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
}
]
}
],
"sha256": "129bfdb7d01fac087cf552c1da7cf53197ddf37159ca4dd8d73f6d8b1fe87d50",
"source": "ghsa-malware",
"import_time": "2026-10-23T02:36:25.389614195Z",
"modified_time": "2026-10-23T02:05:19Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 411759,
"published_at": "2026-10-23T01:58:53+00:00"
}