Malicious code in @dransay/logger (npm)
@dransay/logger@99.0.0 is a dependency-confusion probe claiming the internal `@dransay/*` namespace, not an identified public package. Its `preinstall` hook runs on npm install as `node beacon.js` and sends a DNS lookup and an HTTPS GET to `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, using the package name in the request; npm account `0xamino_hunter` published it on 2026-10-08. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5d4cbd17edce3b0c45619c9af869321807357e3dae1af8aa94835d3143185e85) The package @dransay/logger@99.0.0 ships a preinstall hook (`node beacon.js`) that fires on `npm install`. The script performs a DNS lookup and HTTPS GET to the interactsh collaborator host `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, encoding the package name in the subdomain/path. The version number (99.0.0) is implausibly high for a package with no release history, consistent with a dependency-confusion squat intended to win semver resolution against a private internal name. On install, the beacon discloses the installer's source IP, DNS resolver, and timestamp to a third-party host under the scoped name `@dransay/logger`, confirming successful resolution of this public package in an environment that may have intended to resolve a private `@dransay/*` package. No further payload is executed in this version, but the install-time callback to an attacker-controlled OAST endpoint is the reconnaissance stage of a dependency-confusion attack.
- Products
- @dransay/logger
- Affected versions
- 99.0.0
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 06:02 UTC · Revision 1
Source evidence
@dransay/logger@99.0.0 is a dependency-confusion probe claiming the internal `@dransay/*` namespace, not an identified public package. Its `preinstall` hook runs on npm install as `node beacon.js` and sends a DNS lookup and an HTTPS GET to `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, using the package name in the request; npm account `0xamino_hunter` published it on 2026-10-08. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5d4cbd17edce3b0c45619c9af869321807357e3dae1af8aa94835d3143185e85) The package @dransay/logger@99.0.0 ships a preinstall hook (`node beacon.js`) that fires on `npm install`. The script performs a DNS lookup and HTTPS GET to the interactsh collaborator host `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, encoding the package name in the subdomain/path. The version number (99.0.0) is implausibly high for a package with no release history, consistent with a dependency-confusion squat intended to win semver resolution against a private internal name. On install, the beacon discloses the installer's source IP, DNS resolver, and timestamp to a third-party host under the scoped name `@dransay/logger`, confirming successful resolution of this public package in an environment that may have intended to resolve a private `@dransay/*` package. No further payload is executed in this version, but the install-time callback to an attacker-controlled OAST endpoint is the reconnaissance stage of a dependency-confusion attack.
osv:MAL-2026-17697
@dransay/logger
Fixed versions: Not specified
Complete source record
{
"id": "b6985e582d4c1662cd45068cbf7324986097093ba73b1662b76d96ff82aba456",
"url": "https://osv.dev/vulnerability/MAL-2026-17697",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Malicious code in @dransay/logger (npm)",
"summary": "@dransay/logger@99.0.0 is a dependency-confusion probe claiming the internal `@dransay/*` namespace, not an identified public package. Its `preinstall` hook runs on npm install as `node beacon.js` and sends a DNS lookup and an HTTPS GET to `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, using the package name in the request; npm account `0xamino_hunter` published it on 2026-10-08. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5d4cbd17edce3b0c45619c9af869321807357e3dae1af8aa94835d3143185e85) The package @dransay/logger@99.0.0 ships a preinstall hook (`node beacon.js`) that fires on `npm install`. The script performs a DNS lookup and HTTPS GET to the interactsh collaborator host `db3klhbi6i9hark1kegg174t38h33b6wt.oast.site`, encoding the package name in the subdomain/path. The version number (99.0.0) is implausibly high for a package with no release history, consistent with a dependency-confusion squat intended to win semver resolution against a private internal name. On install, the beacon discloses the installer's source IP, DNS resolver, and timestamp to a third-party host under the scoped name `@dransay/logger`, confirming successful resolution of this public package in an environment that may have intended to resolve a private `@dransay/*` package. No further payload is executed in this version, but the install-time callback to an attacker-controlled OAST endpoint is the reconnaissance stage of a dependency-confusion attack.",
"evidence": "osv:MAL-2026-17697",
"products": [
{
"name": {
"value": "@dransay/logger",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "99.0.0",
"evidence": "/affected/0/versions"
}
]
}
],
"severity": "unknown",
"structured": {
"id": "MAL-2026-17697",
"aliases": [
"MAL-2026-17697"
],
"affected": [
{
"package": {
"name": "@dransay/logger",
"purl": "pkg:npm/%40dransay/logger",
"ecosystem": "npm"
},
"versions": [
"99.0.0"
],
"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."
}
],
"source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@dransay/logger/MAL-2026-17697.json",
"indicators": {
"evidence_files": [
{
"path": "beacon.js",
"tlsh": "931165ad0be42b00b1e8f4a4888e01e94b73d1a8844946c0f2cec3ab6e5347c17674fb",
"sha256": "6d5bfbcce18f2b83bbf6db3a4b36b8ca8e35b0df507d344a8af0b0d132461ffb"
}
],
"package_integrity": [
{
"hashes": {
"sha1": "7bed3312af9c237aa9a08cbff1bcd8e2d5db7c25",
"sha512_sri": "sha512-F9Y//cXkNsqdFcC+cGhtRG1T9T17KMPrRjFniAJg3U/fDUqYkUZN5BZ559x7blByXb5bCG897dpTPzXV5lHsBg=="
},
"filename": "logger-99.0.0.tgz"
}
]
}
}
}
],
"modified": "2026-10-12T04:45:05.880001929Z",
"provider": "osv",
"references": [
"https://www.npmjs.com/package/@dransay/logger/v/99.0.0",
"https://www.npmjs.com/package/@dransay/logger"
],
"provider_metadata": {
"iocs": {
"urls": [
"https://db3klhbi6i9hark1kegg174t38h33b6wt.oast.site/logger"
],
"files": [
{
"note": "preinstall script: node beacon.js",
"paths": [
"package.json"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "ccf9b4cf0e74252300e7c42bbc62aa2d3e7ced4ed122357d3db6c8e78f9a6326"
}
},
{
"note": "Executed by the preinstall script of @dransay/logger@99.0.0.",
"paths": [
"beacon.js"
],
"source": "PACKAGE_ARCHIVE",
"digests": {
"sha256": "6d5bfbcce18f2b83bbf6db3a4b36b8ca8e35b0df507d344a8af0b0d132461ffb"
}
}
],
"domains": [
"db3klhbi6i9hark1kegg174t38h33b6wt.oast.site"
]
},
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-021217",
"sha256": "5d4cbd17edce3b0c45619c9af869321807357e3dae1af8aa94835d3143185e85",
"source": "amazon-inspector",
"versions": [
"99.0.0"
],
"import_time": "2026-10-08T17:17:19.484094692Z",
"modified_time": "2026-10-08T16:54:45Z"
}
]
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 298566,
"published_at": "2026-10-08T07:58:52+00:00"
}