-= Per source details. Do not edit below this line.=-
package.json declares a dependency whose key equals the package's own name (search-reservation) and whose value is the bare URL https://repo.securityctrl.com/search-reservation instead of a registry version range. On npm install, npm resolves this URL, downloads whatever tarball it returns, and installs it — unpinned, integrity-unchecked, and running any lifecycle scripts inside the fetched artifact. Whoever controls repo.securityctrl.com controls code executed on the installer's machine. The shipped index.js is an inert stub, so the manifest URL is the entire delivery mechanism. The self-named dependency shape also matches dependency-confusion targeting of an internal package named search-reservation.
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-019069",
"source": "amazon-inspector",
"import_time": "2026-08-28T23:14:35.971297856Z",
"modified_time": "2026-08-28T23:11:39Z",
"sha256": "76642f0709b362fd800a9842b53bdb8f26413b9acf26562c4a5737c7bae3e856",
"versions": [
"55.0.0"
]
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
{
"package_integrity": [
{
"filename": "search-reservation-55.0.0.tgz",
"hashes": {
"sha512_sri": "sha512-OG+llMx+2Ml76IV7WpiNq0QqeMvXld2aaABw/SUCH9+HYJWhVjMA49xT5sTNTwfFYmtQSRJwkpaOAyb/HlgfLg==",
"sha1": "5b5d1aacea5a7eb8b4b6b4b2bc8ef4a34b145606"
}
}
],
"evidence_files": [
{
"path": "package.json",
"tlsh": "f3e02c608a10223301e6235b88b898137328ce1b28043d0abfcb201c800edb36dff35c",
"sha256": "12c5e9ae23f3d8184223117ef95d6cd12cc6537da30671cccd942661fe76a231"
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/search-reservation/MAL-2026-15521.json"