MAL-2026-17696

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@dransay/feature-flags/MAL-2026-17696.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-17696
Published
2026-10-08T07:58:52Z
Modified
2026-10-12T04:45:05Z
Summary
Malicious code in @dransay/feature-flags (npm)
Details

@dransay/feature-flags@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 (cc545bbb96903ee25218d8cab1a7d116d2ceb1ba64a3c929c79e56a6fc8e0585)

@dransay/feature-flags@99.0.0 publishes a scoped name on the public npm registry at an inflated version (99.0.0) designed to win semver resolution against any private internal @dransay/* copy. package.json declares a preinstall hook node beacon.js; beacon.js unconditionally performs a DNS lookup and HTTPS GET to the hardcoded interactsh callback host db3klhbi6i9hark1kegg174t38h33b6wt.oast.site on every npm install, leaking the installer's public source IP, a timestamp, and confirmation that the scoped name resolved from the public registry to a third-party out-of-band interaction collector. The README self-describes the artifact as a probe of DrAnsay build infrastructure; author self-labeling as research does not change the install-time behavior for any environment whose npm resolves @dransay/* publicly.

Database specific
{
    "iocs":  {
        "domains":  [
            "db3klhbi6i9hark1kegg174t38h33b6wt.oast.site"
        ],
        "files":  [
            {
                "digests":  {
                    "sha256":  "f3a916de7c5f5312d3f7f3668fc348be0594f74cb74942df7b88af81b61a9056"
                },
                "note":  "preinstall script: node beacon.js",
                "paths":  [
                    "package.json"
                ],
                "source":  "PACKAGE_ARCHIVE"
            },
            {
                "digests":  {
                    "sha256":  "5ba13afc2e6d6acf3876a0d06bf8e0e81046d1174bbe4c23ca147c313da3df53"
                },
                "note":  "Executed by the preinstall script of @dransay/feature-flags@99.0.0.",
                "paths":  [
                    "beacon.js"
                ],
                "source":  "PACKAGE_ARCHIVE"
            }
        ],
        "urls":  [
            "https://db3klhbi6i9hark1kegg174t38h33b6wt.oast.site/feature-flags"
        ]
    },
    "malicious-packages-origins":  [
        {
            "id":  "IN-MAL-2026-021215",
            "import_time":  "2026-10-08T17:17:19.429819003Z",
            "modified_time":  "2026-10-08T16:54:29Z",
            "sha256":  "cc545bbb96903ee25218d8cab1a7d116d2ceb1ba64a3c929c79e56a6fc8e0585",
            "source":  "amazon-inspector",
            "versions":  [
                "99.0.0"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / @dransay/feature-flags

Package

Name
@dransay/feature-flags
View open source insights on deps.dev
Purl
pkg:npm/%40dransay/feature-flags

Affected ranges

Affected versions

99.*
99.0.0

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":  "beacon.js",
            "sha256":  "5ba13afc2e6d6acf3876a0d06bf8e0e81046d1174bbe4c23ca147c313da3df53",
            "tlsh":  "541165ad4ae42b00b1e9f4a8988e01e94f73d1a8844946c0f1cec3ab5e9347c17674fb"
        },
        {
            "path":  "package.json",
            "sha256":  "f3a916de7c5f5312d3f7f3668fc348be0594f74cb74942df7b88af81b61a9056",
            "tlsh":  "7be0f1546f402e3300cd14f11d2c919752f39c6e531c2d4851cb030f536d53553bb19c"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "feature-flags-99.0.0.tgz",
            "hashes":  {
                "sha1":  "fcebaa3f8c486545a35613aa3d4489f11ef3484a",
                "sha512_sri":  "sha512-42rlCO5zyc1wEX+A5hlFsMwnAbN0YpRFEcWGF3SSvGdZ8YZV7ucO0L7XGv/FORTAV1U1lzyzWlWNF7BkNWUD3A=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@dransay/feature-flags/MAL-2026-17696.json"