Malicious code in fetch-runtime (npm)
MAL-2026-13763 · GHSA-3hqj-592v-g33j
Published · Modified
Dependency scanning
Check whether fetch-runtime is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (ab5c49646ea7e22e74073aa7d8c9596d7d93100c429033383e975a2ab080de28)
Package name is 'fetch-runtime' but the source is a copy of npm's 'make-fetch-happen' (repository, README, and author metadata all reference make-fetch-happen). lib/index.js adds two exported constants, userAgent and fetchEngine, holding opaque base64-shaped strings that are never used inside this package: they are not decoded, invoked, fetched, exec'd, or transmitted at install or import time. The package has no install/lifecycle scripts and no top-level network I/O. In isolation, installing or requiring fetch-runtime does not perform exfiltration, remote code execution, credential theft, or persistence. The concerning shape is the rebrand of a well-known library combined with planted inert blobs on exported names — a pattern consistent with a two-stage design where a separate consumer package would read these exports and use them as a URL/key/payload — but no such consumer or use is present within this tarball, and the name resemblance is not by itself a threat.
Source: ghsa-malware (dc75155788a32aad2495d22068e778fd0d172c9a70b55be78778e85349731ea4)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
References
Ready to move
Start Securing
Free, no credit card | First findings in minutes