Shai-Hulud Attack Compromises 23 PyPI Packages Targeting MCP Developers