brioche-apl-dev-env 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 brioche-apl-dev-env 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 script that runs setup.js during npm install. That script collects installer host identifiers (hostname, OS username, current working directory, platform/arch, Node.js version, configured npm registry) together with a static per-package token, serializes them as JSON, and POSTs them to a hardcoded endpoint at https://s85r5k14qk.execute-api.us-east-1.amazonaws.com/prod/hook. The package is presented as a small utility (vowel-counting) but its only install-time effect is this outbound beacon to an author-controlled AWS API Gateway URL. The version number (100.0.0) and package naming are consistent with a dependency-confusion lure targeting an internal brioche-apl-* namespace, and the transmitted fields (internal hostname, username, cwd, configured registry) are exactly the reconnaissance data used to identify successfully hijacked internal builds.
{
"iocs": {
"domains": [
"s85r5k14qk.execute-api.us-east-1.amazonaws.com"
],
"files": [
{
"digests": {
"sha256": "425187cdaf8ac341e684f3885592d24dbd7f3a74bfdf051910fbb29590992627"
},
"note": "preinstall: node setup.js || true",
"paths": [
"package.json"
],
"source": "PACKAGE_ARCHIVE"
},
{
"digests": {
"sha256": "2b68db643189196da35e2b3d16d9e05a3a2df600bc286421932300417c5f0758"
},
"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-020897",
"import_time": "2026-10-04T23:16:31.09421692Z",
"modified_time": "2026-10-04T23:16:11Z",
"sha256": "637c99e6cd2bd8e143f01f5f522a7497375a24072fca131057cfd40ae0bb0d3e",
"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": "2b68db643189196da35e2b3d16d9e05a3a2df600bc286421932300417c5f0758",
"tlsh": "e001f4f496e5e5b53abc51c4f15078479277d114340775e0c9e481557f89af80d728f2"
}
],
"package_integrity": [
{
"filename": "brioche-apl-dev-env-100.0.0.tgz",
"hashes": {
"sha1": "c3057290d69637592bf60603d71cf7cd1e86225b",
"sha512_sri": "sha512-dMJJnTe0YAtB2YW7etFOJGbTgAKAwzS2fjZwrCbzGg+mJuvaQaWk90q+AxlEJbvqHgjE9ICsaYLPEAd4V7BhaA=="
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/brioche-apl-dev-env/MAL-2026-17432.json"