27 марта 2026 года в популярном Python-пакете telnyx были обнаружены две зараженные версии — 4.87.1 и 4.87.2.
Пакет используется как официальный SDK для работы с телефонией и сообщениями через API Telnyx. Вредоносный код внедрили прямо в PyPI, минуя GitHub — репозиторий остался чистым.
Как работает атака
Злоумышленники похитили токен доступа к PyPI и вручную опубликовали зараженные версии пакета. В единственный измененный файл — telnyx/_client.py — добавили 74 строки вредоносного кода. Убедиться в этом просто: достаточно сравнить версии через diffstat:
telnyx/_client.py | 74 +++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
Код срабатывает автоматически при любом импорте пакета — без каких-либо действий со стороны пользователя.
Что делает вредонос
На Windows код скачивает бинарный файл, замаскированный под аудиофайл WAV, и сохраняет его в папку автозагрузки под именем msbuild.exe. Так он запускается при каждом входе в систему.
На Linux и macOS пакет собирает учетные данные, шифрует их и отправляет на сервер злоумышленников. Для скачивания и расшифровки полезной нагрузки используется стандартный Python-модуль wave — именно его присутствие в HTTP-клиенте и выдает заражение:
with wave.open(t, 'rb') as w:
b = base64.b64decode(w.readframes(w.getnframes()))
s, m = b[:8], b[8:]
payload = bytes([m[i] ^ s[i % len(s)] for i in range(len(m))])
Маскировка под WAV-файл позволяет обходить сетевые системы безопасности, которые проверяют трафик на наличие вредоносных паттернов.
Кто за этим стоит
Атаку с высокой степенью уверенности приписывают группировке TeamPCP. Ключи шифрования, названия архивов и схема заражения совпадают с недавней атакой на пакет litellm. Характерная метка группировки — заголовок при отправке данных на сервер:
X-Filename: tpcp.tar.gz
Судя по тому, что версия 4.87.2 вышла вскоре после 4.87.1 с исправлением одной опечатки, злоумышленники активно следили за работой вредоноса и оперативно устраняли ошибки.
Что делать прямо сейчас
Если вы устанавливали telnyx версий 4.87.1 или 4.87.2 — смените все учетные данные в переменных окружения. На Windows проверьте папку автозагрузки на наличие файла msbuild.exe. Зафиксируйте версию пакета на последней чистой:
pip install telnyx==4.87.0
И отслеживайте подключения к IP-адресу 83.142.209.203.
