{"id":"MAL-2026-5436","summary":"Malicious code in checkout-signer (npm)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (f6add4dfcaaf79ce107ac8026032b47540def183a121be2266891644c90f10c8)\nPackage replicates the API surface of an internal Exodus package (`generateMnemonicSigningKeys`, `signDirectPaymentMultiChain`, `signCapture`, `signRefund`, `signCharge`, `signCancelSubscription` exported from `src/index.js`), where each export throws an error rather than implementing the real signing logic. On `npm install`, `src/canary.js` (line 6) performs a DNS lookup and HTTPS GET to a hardcoded serveo.net tunnel host (`https://96e03fa6c292469a-172-245-86-254.serveousercontent.com/canary-install`), sending the package name and version. Any organization that pulls this from the public registry believing it to be the internal Exodus dependency reveals their install (org / CI host identification via DNS + HTTPS source) to the operator of the tunnel. README claims the package performs only a DNS lookup with no data transmission, contradicting the actual HTTPS GET with query parameters. The beacon destination is a mutable serveo tunnel pointing at a residential-style IP (172.245.86.254), which is operator-controllable infrastructure rather than a stable vendor endpoint. Regardless of any stated 'authorized research' framing, the structure — divergent-API namespace-abuse shape plus an unconsented install-time beacon to a tunneling host — is the live dependency-confusion attack pattern.\n","modified":"2026-06-09T18:01:33.946182690Z","published":"2026-06-09T17:44:33Z","database_specific":{"malicious-packages-origins":[{"source":"amazon-inspector","versions":["99.0.0-canary.1"],"id":"IN-MAL-2026-005116","import_time":"2026-06-09T17:45:55.358577556Z","modified_time":"2026-06-09T17:44:33Z","sha256":"b1f3068ce30a667baae76fe67d718a1586a173eeddad17eef2347aca53bb505b"},{"modified_time":"2026-06-09T17:44:33Z","sha256":"f6add4dfcaaf79ce107ac8026032b47540def183a121be2266891644c90f10c8","source":"amazon-inspector","versions":["99.0.0-canary.1"],"id":"IN-MAL-2026-005115","import_time":"2026-06-09T17:45:55.314724481Z"}]},"references":[{"type":"PACKAGE","url":"https://www.npmjs.com/package/checkout-signer/v/99.0.0-canary.1"}],"affected":[{"package":{"name":"checkout-signer","ecosystem":"npm","purl":"pkg:npm/checkout-signer"},"versions":["99.0.0-canary.1"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/checkout-signer/MAL-2026-5436.json","cwes":[{"cweId":"CWE-506","description":"The product contains code that appears to be malicious in nature.","name":"Embedded Malicious Code"}],"indicators":{"domains":["96e03fa6c292469a-172-245-86-254.serveousercontent.com"],"evidence_files":[{"sha256":"8df05b04ab1173592b08d71dea34f5998519f445526493f61ab3dd9dc0145a5a","tlsh":"63e07d5f0961337a1d8bd441d49794213fa2560ad0fd89a60c8d521f75035348eff0c5","path":"src/index.js"},{"path":"src/canary.js","sha256":"16502b9065d4976ebb34fd49d0fb75f3cd0e64cf8d35872b419a6b6752485d51","tlsh":"37e06ffe4fd0a33a56701bc9f080a54fe707e3283085a2c1d69822a249c28f0ae218f0"},{"sha256":"69d46c690982f0b1ac2e681bfef34ec6233feaadc305a67a90c1e58f57ab4262","tlsh":"48e0c05491f2463216f568f5a0d205906b3cf07066174ca9bbca560f6308aabc30768e","path":"README.md"}],"package_integrity":[{"hashes":{"sha512_sri":"sha512-E9j2LlYeYsAYYTQ0mgAKR4YMLTyMj2vx2mwWxsPrhhOow3+46mmiyZRh7RcxqW2l+0Pa0AdXr6yr+FE78E1qkA==","sha1":"d59c5a580d513763f2d9929be6c8c50893a6ab4e"},"filename":"checkout-signer-99.0.0-canary.1.tgz"}]}}}],"schema_version":"1.7.5","credits":[{"name":"Amazon Inspector","contact":["inspector-research@amazon.com"],"type":"FINDER"}]}