Malicious code in upload-to-gcp (npm)
upload-to-gcp@3.2.1 (npm) contains malicious code in its postinstall script that exfiltrates host identifiers to an attacker-controlled endpoint. The package masquerades as a Google Cloud Platform utility but performs unauthorized telemetry collection at install time.
- Disclosed
- Last updated
- Blast radius
- Any developer or system that installed upload-to-gcp@3.2.1 via npm
- Ecosystems
- Attack vectors
- Affected entities
- upload-to-gcp · 3.2.1
The npm package upload-to-gcp version 3.2.1 was found to contain malicious code that executes during the postinstall lifecycle phase when the package is installed. The postinstall script collects sensitive host information including hostname, platform, architecture, Node.js version, package name, and npm lifecycle event details.\n\nThis collected data is automatically transmitted via HTTP POST to a hardcoded remote endpoint at https://z5owtt3g.instances.poc.jchunt.top/upload-to-gcp. The destination domain uses a random-looking subdomain that is not associated with Google Cloud Platform or any legitimate first-party service, indicating the endpoint is controlled by an attacker.\n\nThe exfiltration occurs automatically at install time without user consent, opt-in mechanism, or disclosure in package documentation. The package name itself is deceptive, suggesting a legitimate GCP upload utility while actually performing unauthorized data collection.\n\nThe incident was identified by Amazon Inspector and credited to the OpenSSF malicious-packages project.
Indicators of compromise
- Packages
- upload-to-gcp
- Domains
- z5owtt3g.instances.poc.jchunt.top
Remediation
- Immediately uninstall upload-to-gcp@3.2.1 from all systems and projects
- Audit npm install logs to identify all systems where this package was installed
- Review network logs for connections to z5owtt3g.instances.poc.jchunt.top to determine exposure
- Regenerate any credentials or sensitive data that may have been accessible on affected systems
- Update npm dependency configurations to exclude this package version
- Consider using npm audit or similar tools to detect other malicious packages in your dependency tree
Sources
- GitHub Advisory GHSA-jx3f-5x53-4484 · GitHub Advisory Database
Cite this entry
"Malicious code in upload-to-gcp (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 15, 2026; last updated August 15, 2026. https://supplychainattack.org/incident/malicious-code-in-upload-to-gcp-npm-v3elur
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malicious code in 3-buildsight-web (npm)
The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.
npmCompromised package - resolvedcritical
Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)
Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.
npmDependency confusionCompromised package - resolvedcritical
Malicious code in create-coin (npm)
create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.
npmCompromised packageTyposquatting - resolvedcritical
Malicious code in @syncraft-labs/vue (npm)
The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.
npmCompromised package