MAL-2026-17427

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-workshop-maa15-radio/MAL-2026-17427.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-17427
Published
2026-09-30T07:11:21Z
Modified
2026-10-04T23:45:17Z
Summary
Malicious code in ai-workshop-maa15-radio (npm)
Details

ai-workshop-maa15-radio is a dependency-confusion package: it takes a name that looks like an internal project, uses an inflated version (100.0.0) so it outranks private-registry versions, and runs node setup.js || true as a preinstall script on npm install. setup.js sends the hostname, username, working directory, OS, architecture, Node.js version and configured npm registry, with a per-package tracking token, in an HTTPS POST to https://s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook. The npm account amel10 published ai-workshop-maa15-radio and 9 similar packages within two minutes on 2026-09-30, all with the same setup.js.


-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (694d978a9ca05c713784f60dbdc3e6bb41f7b05393e4d7811bd0c2abad93cf36)

Package advertises itself as a trivial string helper (reverseWords) but its declared preinstall script (node setup.js) opens an HTTPS POST to a hardcoded endpoint at s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook on every npm install. The request body contains os.hostname(), os.userInfo().username, process.cwd(), os.platform(), os.arch(), process.version, and npm_config_registry, along with a hardcoded per-package tracking token. The version number (100.0.0) and the collection of npm_config_registry are consistent with a dependency-confusion reconnaissance beacon targeting internal package resolution. Installer host and user identifiers are transmitted to an attacker-controlled endpoint without consent, fired automatically at install time.

Database specific
{
    "iocs":  {
        "domains":  [
            "s85r5k14qk.execute-api.us-east-1.amazonaws.com"
        ],
        "files":  [
            {
                "digests":  {
                    "sha256":  "f4bfb507dfa6ce9fe482ab5a3b110d7dce74cd6f658d769a2e9767c878ea0143"
                },
                "note":  "preinstall: node setup.js || true",
                "paths":  [
                    "package.json"
                ],
                "source":  "PACKAGE_ARCHIVE"
            },
            {
                "digests":  {
                    "sha256":  "e61bf6a990101c6b01da29ff68b12542604bb0977c1e863f028dddde0a78ae03"
                },
                "note":  "Executed by the preinstall script.",
                "paths":  [
                    "setup.js"
                ],
                "source":  "PACKAGE_ARCHIVE"
            }
        ],
        "urls":  [
            "https://s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook"
        ]
    },
    "malicious-packages-origins":  [
        {
            "id":  "IN-MAL-2026-020899",
            "import_time":  "2026-10-04T23:40:39.782269967Z",
            "modified_time":  "2026-10-04T23:16:32Z",
            "sha256":  "694d978a9ca05c713784f60dbdc3e6bb41f7b05393e4d7811bd0c2abad93cf36",
            "source":  "amazon-inspector",
            "versions":  [
                "100.0.0"
            ]
        }
    ]
}
References
Credits

Affected packages

npm / ai-workshop-maa15-radio

Package

Name
ai-workshop-maa15-radio
View open source insights on deps.dev
Purl
pkg:npm/ai-workshop-maa15-radio

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected

Affected versions

100.*
100.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":  "setup.js",
            "sha256":  "e61bf6a990101c6b01da29ff68b12542604bb0977c1e863f028dddde0a78ae03",
            "tlsh":  "9501f4f492e0d5b53abc11d4f260b847d377e115354765d0c8e880517f89af809328f2"
        }
    ],
    "package_integrity":  [
        {
            "filename":  "ai-workshop-maa15-radio-100.0.0.tgz",
            "hashes":  {
                "sha1":  "b444235dcb6b8663654e25343bc9395adb5b88ae",
                "sha512_sri":  "sha512-UxnTq9kGc7BNpXNj+t7U+vXzZbDaRLYWvWkaZanF0ZwkjQYbouBMdrZv3UM7N26pLl6m9QVkBmqcgDRkRWpU7w=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-workshop-maa15-radio/MAL-2026-17427.json"