MAL-2026-2400Malicious code in kube-node-health (PyPI)
| Ecosystem | Package | Version |
|---|---|---|
| PyPI | kube-node-health | 1.0.0 |
{"modified":"2026-04-22T11:30:32Z","published":"2026-04-01T11:46:16Z","schema_version":"1.7.4","id":"MAL-2026-2400","summary":"Malicious code in kube-node-health (PyPI)","details":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (391555cff14c82156843bee267daf896c3e3e989b9c899ef34b12ac7e23b1c7e)\nDuring import, the code download and starts remote executable that later connects to a C2 server, likely establishing a reverse tunnel. After executing the remote binary, the code performs covering-tracks actions by removing the binary from disk, and - depending on version - modifying the package code. The dropper code is either a Python script, or a compiled binary with obfuscated location of the remote binary and config for it.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-03-kube-health-tools\n\n\nReasons (based on the campaign):\n\n\n - Downloads and executes a remote executable.\n\n\n - backdoor\n\n\n - obfuscation\n\n\n - covering-tracks\n","affected":[{"package":{"ecosystem":"PyPI","name":"kube-node-health"},"versions":["1.0.0"]}],"references":[{"type":"WEB","url":"https://github.com/gibunxi4201/kube-node-diag"},{"type":"WEB","url":"https://inspector.pypi.io/project/kube-health-tools/1.0.9/packages/ab/41/abea82b56e7ac3b06c15fc7760f6857df6fc9b4739254b362c2bbeaf6fb7/kube_health_tools-1.0.9-py3-none-any.whl/kube_health/__init__.py#line.32"},{"type":"WEB","url":"https://inspector.pypi.io/project/kube-health-tools/1.0.9/packages/ab/41/abea82b56e7ac3b06c15fc7760f6857df6fc9b4739254b362c2bbeaf6fb7/kube_health_tools-1.0.9-py3-none-any.whl/kube_health/__init__.py#line.47"},{"type":"WEB","url":"https://inspector.pypi.io/project/kube-health-tools/1.0.11/packages/35/54/8be76acf54f2401a8ca6984cd548caf9eaf75feab5be3d4b231078db4d9d/kube_health_tools-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl/kube_health/__init__.c#line.3922"},{"type":"EVIDENCE","url":"https://www.virustotal.com/gui/file/fe3f5d15951b25654f14045de3181ec6630a0ba65add8a65309b01c8324387f1/detection"},{"type":"WEB","url":"https://bad-packages.kam193.eu/pypi/package/kube-node-health"},{"type":"WEB","url":"https://www.aikido.dev/blog/gpt-proxy-backdoor-npm-pypi-chinese-llm-relay"}],"credits":[{"name":"Kamil Mańkowski (kam193)","type":"REPORTER","contact":["https://github.com/kam193","https://bad-packages.kam193.eu/"]}],"database_specific":{"iocs":{"domains":["sync.geeker.indevs.in"],"urls":["https://github.com/gibunxi4201/kube-node-diag/releases/download/v2.0/kube-diag-linux-amd64-packed"]},"malicious-packages-origins":[{"source":"kam193","sha256":"391555cff14c82156843bee267daf896c3e3e989b9c899ef34b12ac7e23b1c7e","import_time":"2026-04-01T12:26:29.203893088Z","id":"pypi/2026-03-kube-health-tools/kube-node-health","modified_time":"2026-04-01T11:46:16.456425Z","versions":["1.0.0"]},{"source":"kam193","sha256":"4777264b720c2b41fc408aea73a5f6968b36bbc5cc8f621cf2e7feed750f7421","import_time":"2026-04-22T11:28:51.297614234Z","id":"pypi/2026-03-kube-health-tools/kube-node-health","modified_time":"2026-04-01T11:46:16.456425Z","versions":["1.0.0"]}]}}数据来源:OpenSSF Malicious Packages · Apache-2.0