ai-workshop-radio-app 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-radio-app 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.=-
The package declares a preinstall hook that runs setup.js on npm install. setup.js collects the installer's hostname, OS username, current working directory, platform, architecture, Node version, and the configured npm registry URL, and POSTs them as JSON to the hardcoded endpoint https://s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook together with a static per-package token identifier. The advertised purpose is a trivial date-format helper, which has no functional need for install-time host telemetry to a third-party endpoint. The npm_config_registry field can additionally leak internal or private registry hostnames belonging to the installer's organization.
{
"iocs": {
"domains": [
"s85r5k14qk.execute-api.us-east-1.amazonaws.com"
],
"files": [
{
"digests": {
"sha256": "80109be9c32cd4fb7e3f38ce7e4c906de73ec33019e0110b4f6e59c9bb44aee9"
},
"note": "preinstall: node setup.js || true",
"paths": [
"package.json"
],
"source": "PACKAGE_ARCHIVE"
},
{
"digests": {
"sha256": "c9b9f5f0f458c0efab92811b47cb01292fd389345eb3475368e1596c51f511eb"
},
"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-020902",
"import_time": "2026-10-04T23:40:40.094488571Z",
"modified_time": "2026-10-04T23:17:03Z",
"sha256": "80be82f81013b8be89b5650c3a196776faeece26b7f24346bf2f531179b0e2a0",
"source": "amazon-inspector",
"versions": [
"100.0.0"
]
}
]
}[
{
"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"
}
]
{
"evidence_files": [
{
"path": "setup.js",
"sha256": "c9b9f5f0f458c0efab92811b47cb01292fd389345eb3475368e1596c51f511eb",
"tlsh": "b601fef492e0d5b93abc61c8f290b84b92b7d4143007b9d0d9e881917f89afc09338f2"
}
],
"package_integrity": [
{
"filename": "ai-workshop-radio-app-100.0.0.tgz",
"hashes": {
"sha1": "7f1465d889a89a1013b43f50e970bb8308053532",
"sha512_sri": "sha512-N0no6YfYmi+PPzcNHgae/zESJ442djoRPZSUvUS+LzKZj2jue8KD6bx65UycFLXZQ0Z+XTR8n80Mpp8jfXcq3g=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-workshop-radio-app/MAL-2026-17428.json"