Стилер в WAV-файле: как хакеры TeamPCP отравили популярный Python-пакет Telnyx

27 марта 2026 года в промежутке между 03:51 и 10:13 UTC на Python Package Index (PyPI) появились две вредоносные версии популярного пакета telnyx — 4.87.1 и 4.87.2. За шесть с небольшим часов любой разработчик, обновивший пакет, рисковал получить на свою машину полноценный стилер, замаскированный внутри аудиофайлов формата WAV. Ответственность за атаку несёт группировка TeamPCP, связанная с LAPSUS$ и начинающей вымогательской группой Vect.
Стилер в WAV-файле: как хакеры TeamPCP отравили популярный Python-пакет Telnyx
Изображение носит иллюстративный характер

Разработчики Telnyx оперативно отреагировали: несанкционированные версии были удалены, а сам проект на PyPI поставлен в карантин. Безопасной считается версия 4.87.0, к которой рекомендован откат. Но сам инцидент вскрыл целую цепочку компрометаций, тянущуюся минимум на несколько месяцев назад.
TeamPCP не занимается тайпосквоттингом — созданием пакетов с похожими названиями в надежде на опечатку разработчика. Их стратегия другая: они целят в легитимные, широко используемые пакеты с большой аудиторией. Причём выбирают инструменты, которые обычно работают с расширенными правами доступа в CI/CD-конвейерах — там, где лежат креденшалы, конфигурации, переменные окружения. До Telnyx группировка уже атаковала контейнерный сканер Trivy, инструмент проверки инфраструктуры KICS и библиотеку маршрутизации AI-моделей litellm.
Вредоносный код был внедрён в файл telnyx/_client.py и срабатывал при импорте пакета. Дальше начиналось самое необычное: малварь скачивала с удалённого командного сервера XOR-обфусцированные WAV-файлы. Аудиостеганография — приём не новый, его ранее использовали в вайпере «kamikaze», распространявшемся через CanisterWorm и незащищённые Docker-инстансы. Но в контексте атаки на цепочку поставок PyPI это выглядит дерзко.
На Windows схема была заточена под длительное присутствие. С C2-сервера загружался файл hangup.wav, из которого извлекался исполняемый файл. Его сбрасывали в папку автозагрузки под именем msbuild.exe — при каждой перезагрузке или входе в систему стилер запускался заново. На Linux и macOS подход принципиально иной: никакой персистентности, чистый «хватай и беги». Скачивался файл ringtone.wav, из которого развёртывалась трёхэтапная атака — стеганографическая доставка, выполнение в памяти, зашифрованная эксфильтрация. Скрипт-коллектор работал в самоуничтожающемся временном каталоге и почти не оставлял криминалистических следов. Собранные данные отправлялись в виде архива tpcp.tar.gz.
Moshe Siman Tov Bustan из OX Security обратил внимание на эволюцию: если в атаке на litellm малварь встраивала пейлоад в Base64 прямо в код, то здесь переключились на удалённую загрузку. Это усложняет статический анализ и позволяет менять полезную нагрузку на лету. Специалисты из Socket подчеркнули, что разделение стратегий по операционным системам — персистентность на Windows и мгновенный сбор на Unix-системах — говорит о зрелости группировки и понимании того, где какие данные ценнее.
Помимо кражи данных, малварь умела распространяться латерально в Kubernetes-кластерах. Она злоупотребляла токенами сервисных аккаунтов Kubernetes и разворачивала привилегированный pod на каждом узле кластера, обеспечивая себе устойчивое закрепление.
Откуда TeamPCP вообще взяли токен для публикации на PyPI? Исследователи из Endor Labs — Kiran Raj и Rachana Misal — полагают, что токен PYPI_TOKEN был украден ещё во время компрометации litellm. Харвестер TeamPCP тогда собирал переменные окружения и файлы .env с систем, где работал litellm. Если какой-то CI-конвейер одновременно использовал litellm и имел доступ к токену Telnyx — цепочка замыкается. Хенрик Плейт, руководитель отдела исследований безопасности Endor Labs, объяснил The Hacker News: украденные креденшалы масштабируются — один успешный взлом даёт ключи к следующему.
Индикаторы компрометации достаточно конкретны. На Windows стоит искать файл msbuild.exe в папке автозагрузки. Общий для всех платформ C2-адрес — 83.142.209[.]203:8080, обмен идёт через HTTP POST. Специалисты Aikido, JFrog, SafeDep, StepSecurity и Snyk опубликовали собственные разборы инцидента. Компания Ossprey Security отдельно акцентировала внимание на технике стеганографии в аудиофайлах.
Рекомендации для тех, кто мог пострадать: проверить requirements.txt на наличие telnyx==4.87.1 или telnyx==4.87.2, откатиться на 4.87.0, немедленно ротировать все секреты и заблокировать IP командного сервера. Исследователи из Snyk также советуют пересмотреть, какие пакеты в ваших пайплайнах имеют повышенный доступ — именно такие инструменты TeamPCP выбирает следующей мишенью. Мейнтейнеры Telnyx продолжают расследование того, как именно были украдены публикационные креденшалы, и уже выпустили отдельное уведомление о безопасности.


Новое на сайте

20066[b]Фотосинтез в глазах мышей: возможно ли это без превращения в растение?[/b] 20065[b]СПКЯ стало СПМЯ: почему переименование болезни, затрагивающей миллионы женщин, заняло... 20064[b]Почему великая пирамида Гизы пережила все землетрясения за 4500 лет[/b] 20063[b]Генетика Homo erectus: что зубная эмаль рассказала о наших предках[/b] 20062[b]Кости в бухте эребус: что кости моряков Франклина рассказывают спустя полтора века[/b] 20061[b]Крупнейший плавучий ветрогенератор в мире: Китай испытывает установку у берегов... 20060[b]Карие глаза младенца стали индиго после лечения от COVID-19[/b] 20058[b]Почему серебряная чаша с Афиной пролежала в немецком лесу две тысячи лет?[/b] 20057[b]Дыра в атмосфере солнца: вспышка достигла пика и может зажечь полярное сияние[/b] 20056[b]Динго возрастом 950 лет: кто и зачем кормил могилу животного сотни лет?[/b] 20055[b]Томоэ гозэн: женщина-самурай, которая существовала на самом деле[/b] 20054[b]Что видели астронавты «Аполлона-12» над лунным горизонтом?[/b] 20053[b]Восковой блокнот на латыни и шёлковая туалетная бумага: кто посещал средневековый... 20052[b]Хантавирус на борту: 41 человек под наблюдением после рейса MV Hondius[/b]
Ссылка