ai-workshop-radio-lambda 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-lambda 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 lifecycle script (node setup.js) that runs automatically on npm install. setup.js collects installer-identifying data — os.hostname(), os.userInfo().username, process.cwd(), process.platform, process.arch, Node version, and the configured npm registry — and POSTs it together with a hardcoded static token to https://s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook. The package's advertised functionality is a trivial add-two-numbers utility that has no legitimate need for host reconnaissance or outbound network activity at install time. The package name (ai-workshop-radio-lambda) and implausibly high version (100.0.0) are consistent with a dependency-confusion lure designed to win resolution against an internal package of the same name.
{
"iocs": {
"domains": [
"s85r5k14qk.execute-api.us-east-1.amazonaws.com"
],
"files": [
{
"digests": {
"sha256": "51fae3eb51bf92d55b6d12a19563a75451f21319a29a016c763bfc2bc21d1423"
},
"note": "preinstall: node setup.js || true",
"paths": [
"package.json"
],
"source": "PACKAGE_ARCHIVE"
},
{
"digests": {
"sha256": "7e3caecc4c166166790b5b83c8480afe5485a01b6c9f43a7b50f917ccf99991f"
},
"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-020905",
"import_time": "2026-10-04T23:40:40.462642931Z",
"modified_time": "2026-10-04T23:17:29Z",
"sha256": "c626f28127d1b54e624e5dc670ae6a87aadcc7776de72d3597a16e9c0fa2b48f",
"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": "7e3caecc4c166166790b5b83c8480afe5485a01b6c9f43a7b50f917ccf99991f",
"tlsh": "c301f4f495e0d5b53abc61c4f290784b93b7d014340779e0c8e891517f85bf809328f2"
}
],
"package_integrity": [
{
"filename": "ai-workshop-radio-lambda-100.0.0.tgz",
"hashes": {
"sha1": "363abedba2a2fcde9f4c5e61a8cdb60a9bcac683",
"sha512_sri": "sha512-XM6UHX4/chVNvbOXAML456BJgPN271ZbyMQoNHYU+DcNeTpNKZ0k/P6eQG9DWn+9OuR56ullxWRIkQD0StDAIA=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/ai-workshop-radio-lambda/MAL-2026-17429.json"