{"id":"PYSEC-2026-1074","summary":"Malicious code in ray-mcp-server (PyPI)","details":"Part of the \"Hades\" wave of the Shai-Hulud supply-chain campaign. On 2026-06-08,\nmalicious phantom releases of ray-mcp-server were published to PyPI using stolen\ncredentials. The package executes a bundled JavaScript payload (via the Bun\nruntime) on import that harvests and exfiltrates credentials and attempts\nself-propagation. This entry is a summary; behavior may not be fully\ncharacterized here. See the linked references for detailed analysis and\nindicators of compromise.\n","aliases":["MAL-2026-5325"],"modified":"2026-07-07T17:00:05.679946710Z","published":"2026-07-07T16:19:27Z","references":[{"type":"EVIDENCE","url":"https://inspector.pypi.io/project/ray-mcp-server/0.2.1/packages/40/35/d09e9a3b7802bbbae86b8b9a207b9687101dcb0534e35e3cb35d0383a4de/ray_mcp_server-0.2.1-py3-none-any.whl/ray_mcp_server-setup.pth"},{"type":"ARTICLE","url":"https://www.endorlabs.com/learn/shai-hulud-hades-wave-hits-six-pypi-bioinformatics-packages"},{"type":"ARTICLE","url":"https://www.stepsecurity.io/blog/the-hades-campaign-pypi-packages"}],"affected":[{"package":{"name":"ray-mcp-server","ecosystem":"PyPI","purl":"pkg:pypi/ray-mcp-server"},"versions":["0.2.1"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/ray-mcp-server/PYSEC-2026-1074.yaml"}}],"schema_version":"1.7.5"}