{"id":"MAL-2026-15810","title":"Malicious code in gcphelpit (PyPI)","summary":"Malicious code in gcphelpit (PyPI)","severity":"critical","exploited":true,"vendor":"gcphelpit","product":"gcphelpit","ecosystem":"pip","affected":["gcphelpit"],"published":"2026-09-01","updated":"2026-09-09","sourceUpdated":"2026-09-09T03:30:11.110820693Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-15810","references":[{"url":"https://bad-packages.kam193.eu/pypi/package/gcphelpit"},{"url":"https://github.com/EliyaS-123/gcphelpit-cli/commit/0f330a199020f1f2e896c7bde9d35adbe8aa8fb5"},{"url":"https://pypi.org/project/gcphelpit/0.1.2/"},{"url":"https://pypi.org/project/gcphelpit/0.1.0/"},{"url":"https://pypi.org/project/gcphelpit/0.1.1/"}],"tags":["osv","pip","malware"],"ingestedAt":"2026-09-02T19:31:23.991Z","slug":"MAL-2026-15810","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (6be1770a21667861e10f778ca485b270170e20a35a529bc2a041bc72266bdb7d)\nThe module src/gcphelpit/_verify.py runs at import time: it reads the installer's ~/.zshrc and POSTs the raw file contents to the hardcoded endpoint https://webhook.site/bc67d797-61ff-4f3b-a9b8-5df6a5e7643d. cli.py imports _verify at the top of the module and is wired as the declared `gcphelpit` console_script entry point, so the read-and-upload fires unconditionally on every CLI invocation. ~/.zshrc routinely contains exported cloud credentials and access tokens (AWS_*, GOOGLE_APPLICATION_CREDENTIALS, GitHub/npm tokens), so the effect is bulk exfiltration of installer-owned shell secrets to a third-party public webhook collector that is unrelated to the package's advertised purpose as a GCP CLI audit helper.\n\n## Source: kam193 (d3e108475330381be537963456cb012b943f2d0a3693c83205f8f5b01f36635a)\nDuring initialization of the CLI, the package exfiltrates sensitive files. Prior version 0.1.2 the code was launching a calculator as PoC instead of exfiltrating data.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-09-gcphelpit\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n## Affected packages\n\n- `gcphelpit`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"abyssal","depthScore":70,"depthScoreParts":{"impact":52.3,"likelihood":0,"exploitation":18,"ransomware":0},"changes":[{"seq":202649,"id":"MAL-2026-15810","ts":1789400125105,"field":"exploited","old":"false","new":"true"},{"seq":202648,"id":"MAL-2026-15810","ts":1789400125105,"field":"severity","old":"none","new":"critical"},{"seq":201376,"id":"MAL-2026-15810","ts":1789397625155,"field":"exploited","old":"true","new":"false"},{"seq":201375,"id":"MAL-2026-15810","ts":1789397625155,"field":"severity","old":"critical","new":"none"},{"seq":200069,"id":"MAL-2026-15810","ts":1789395588345,"field":"exploited","old":"false","new":"true"},{"seq":200068,"id":"MAL-2026-15810","ts":1789395588345,"field":"severity","old":"none","new":"critical"},{"seq":199306,"id":"MAL-2026-15810","ts":1789392266378,"field":"exploited","old":"true","new":"false"},{"seq":199305,"id":"MAL-2026-15810","ts":1789392266378,"field":"severity","old":"critical","new":"none"},{"seq":197639,"id":"MAL-2026-15810","ts":1789384307892,"field":"exploited","old":"false","new":"true"},{"seq":197638,"id":"MAL-2026-15810","ts":1789384307892,"field":"severity","old":"none","new":"critical"},{"seq":196913,"id":"MAL-2026-15810","ts":1789383784893,"field":"exploited","old":"true","new":"false"},{"seq":196912,"id":"MAL-2026-15810","ts":1789383784893,"field":"severity","old":"critical","new":"none"},{"seq":195817,"id":"MAL-2026-15810","ts":1789380596260,"field":"exploited","old":"false","new":"true"},{"seq":195816,"id":"MAL-2026-15810","ts":1789380596260,"field":"severity","old":"none","new":"critical"},{"seq":194768,"id":"MAL-2026-15810","ts":1789378793921,"field":"exploited","old":"true","new":"false"},{"seq":194767,"id":"MAL-2026-15810","ts":1789378793921,"field":"severity","old":"critical","new":"none"},{"seq":193555,"id":"MAL-2026-15810","ts":1789376561041,"field":"exploited","old":"false","new":"true"},{"seq":193554,"id":"MAL-2026-15810","ts":1789376561041,"field":"severity","old":"none","new":"critical"},{"seq":192342,"id":"MAL-2026-15810","ts":1789373644746,"field":"exploited","old":"true","new":"false"},{"seq":192341,"id":"MAL-2026-15810","ts":1789373644746,"field":"severity","old":"critical","new":"none"},{"seq":191127,"id":"MAL-2026-15810","ts":1789369517789,"field":"exploited","old":"false","new":"true"},{"seq":191126,"id":"MAL-2026-15810","ts":1789369517789,"field":"severity","old":"none","new":"critical"},{"seq":189914,"id":"MAL-2026-15810","ts":1789368465779,"field":"exploited","old":"true","new":"false"},{"seq":189913,"id":"MAL-2026-15810","ts":1789368465779,"field":"severity","old":"critical","new":"none"},{"seq":188697,"id":"MAL-2026-15810","ts":1789365251800,"field":"exploited","old":"false","new":"true"},{"seq":188696,"id":"MAL-2026-15810","ts":1789365251800,"field":"severity","old":"none","new":"critical"},{"seq":187484,"id":"MAL-2026-15810","ts":1789363481933,"field":"exploited","old":"true","new":"false"},{"seq":187483,"id":"MAL-2026-15810","ts":1789363481933,"field":"severity","old":"critical","new":"none"},{"seq":186270,"id":"MAL-2026-15810","ts":1789361250302,"field":"exploited","old":"false","new":"true"},{"seq":186269,"id":"MAL-2026-15810","ts":1789361250302,"field":"severity","old":"none","new":"critical"},{"seq":185057,"id":"MAL-2026-15810","ts":1789358407747,"field":"exploited","old":"true","new":"false"},{"seq":185056,"id":"MAL-2026-15810","ts":1789358407747,"field":"severity","old":"critical","new":"none"},{"seq":183306,"id":"MAL-2026-15810","ts":1789354334506,"field":"exploited","old":"false","new":"true"},{"seq":183305,"id":"MAL-2026-15810","ts":1789354334506,"field":"severity","old":"none","new":"critical"},{"seq":182099,"id":"MAL-2026-15810","ts":1789353336958,"field":"exploited","old":"true","new":"false"},{"seq":182098,"id":"MAL-2026-15810","ts":1789353336958,"field":"severity","old":"critical","new":"none"},{"seq":180892,"id":"MAL-2026-15810","ts":1789350308337,"field":"exploited","old":"false","new":"true"},{"seq":180891,"id":"MAL-2026-15810","ts":1789350308337,"field":"severity","old":"none","new":"critical"},{"seq":179685,"id":"MAL-2026-15810","ts":1789348312457,"field":"exploited","old":"true","new":"false"},{"seq":179684,"id":"MAL-2026-15810","ts":1789348312457,"field":"severity","old":"critical","new":"none"},{"seq":178478,"id":"MAL-2026-15810","ts":1789346387782,"field":"exploited","old":"false","new":"true"},{"seq":178477,"id":"MAL-2026-15810","ts":1789346387782,"field":"severity","old":"none","new":"critical"},{"seq":177271,"id":"MAL-2026-15810","ts":1789343192400,"field":"exploited","old":"true","new":"false"},{"seq":177270,"id":"MAL-2026-15810","ts":1789343192400,"field":"severity","old":"critical","new":"none"},{"seq":175388,"id":"MAL-2026-15810","ts":1789334899845,"field":"exploited","old":"false","new":"true"},{"seq":175387,"id":"MAL-2026-15810","ts":1789334899845,"field":"severity","old":"none","new":"critical"},{"seq":174183,"id":"MAL-2026-15810","ts":1789333720590,"field":"exploited","old":"true","new":"false"},{"seq":174182,"id":"MAL-2026-15810","ts":1789333720590,"field":"severity","old":"critical","new":"none"},{"seq":172997,"id":"MAL-2026-15810","ts":1789331109281,"field":"exploited","old":"false","new":"true"},{"seq":172996,"id":"MAL-2026-15810","ts":1789331109281,"field":"severity","old":"none","new":"critical"}]}