Компрометація ланцюга постачання програмного забезпечення знову вдарила по Python‑екосистемі: цього разу під атаку потрапив популярний пакет Telnyx. Зловмисники з угруповання TeamPCP, раніше пов’язані з троянізацією Trivy, KICS та litellm, опублікували у PyPI дві шкідливі версії — 4.87.1 і 4.87.2, вбудувавши в них модуль для крадіжки облікових даних.
Компрометовані версії Telnyx та поточний стан пакета
Шкідливі збірки telnyx 4.87.1 та 4.87.2 були завантажені до PyPI 27 березня 2026 року. Їхня ціль — отримання конфіденційних даних розробників і секретів з CI/CD‑інфраструктури. Важливий нюанс: payload маскується всередині WAV‑файлу, що ускладнює виявлення традиційними засобами моніторингу трафіку та аналізу файлів.
Спільнота безпеки рекомендує негайно відкотитися до версії 4.87.0, яка наразі вважається останньою відомою безпечною. Проєкт Telnyx на PyPI переведено у режим карантину, щоб обмежити подальше розповсюдження шкідливих релізів.
Як вбудовано шкідливий код: кросплатформена атака через імпорт модуля
За даними Aikido, Endor Labs, Ossprey Security, SafeDep, Socket та StepSecurity, модифікація торкнулася файлу “telnyx/_client.py”. Це означає, що шкідливий код виконується автоматично під час імпорту пакета у будь‑якому Python‑проєкті, без додаткових дій з боку розробника. Атака орієнтована одночасно на Windows, Linux та macOS, що робить її небезпечною для різнорідних середовищ розробки і продакшен‑систем.
Linux та macOS: трирівнева атака з використанням аудіостеганографії
Експерти Socket описують ланцюжок на Linux/macOS як триетапну схему виконання:
1) Доставка шкідливої корисної навантаження через аудіостеганографію — приховування даних у WAV‑файлі;
2) Запуск у пам’яті модуля збору даних без запису двійкових файлів на диск;
3) Шифроване виведення (ексфільтрація) зібраної інформації на віддалений сервер.
Усі дії виконуються у тимчасовому каталозі, який згодом рекурсивно очищується. У результаті на диску залишається мінімум артефактів, що суттєво ускладнює цифрову форензику й ретроспективний аналіз інциденту.
Windows: персистентність через «msbuild.exe» в автозавантаженні
На платформах Windows шкідливий код завантажує з C2‑серверу WAV‑файл “hangup.wav”. Із його аудіоданих витягується виконуваний файл, який записується до каталогу автозавантаження під виглядом “msbuild.exe”. Так зловмисники отримують стійкий механізм закріплення — програма стартує під час кожного входу користувача в систему і зберігається після перезавантажень.
WAV‑файли як носій malware: аудіостеганографія у supply chain атаках
Для Linux та macOS використовується інший WAV — “ringtone.wav”. З нього дістається третій етап атаки: скрипт‑колектор, який збирає облікові дані, токени, конфігурації, змінні оточення та пакує їх у архів “tpcp.tar.gz”. Архів надсилається HTTP‑запитом POST на адресу 83.142.209[.]203:8080.
Ключова техніка — аудіостеганографія. На відміну від «голих» виконуваних файлів або base64‑рядків, які легко потрапляють у поле зору IDS/IPS та EDR‑рішень, вміст, захований у легітимному на вигляд WAV‑файлі, значно рідше позначається як підозрілий. Це демонструє еволюцію методів ухилення в сучасних supply chain атаках на PyPI та інші публічні реєстри.
Можлива крадіжка PyPI‑токена Telnyx та зв’язок з litellm
Точний спосіб компрометації PYPI_TOKEN для Telnyx досі не підтверджений. Дослідники Endor Labs вважають найбільш ймовірним сценарієм повторне використання заздалегідь викрадених облікових даних у межах більш широкої кампанії TeamPCP.
У попередній атаці на litellm зловмисники впровадили модуль, що ексфільтрував змінні оточення, вміст файлів .env та історію команд оболонки з кожної системи, де пакет імпортувався. Якщо розробницьке середовище або CI/CD‑конвеєр одночасно використовував litellm і мав доступ до PyPI‑токена Telnyx, такий токен з високою ймовірністю вже опинився в руках TeamPCP і був застосований для публікації шкідливих версій.
Різні тактики для Windows і *nix: одноразова крадіжка проти «довгої гри»
На Linux та macOS не реалізовано стійкий механізм закріплення: атака розрахована на швидкий збір максимального обсягу даних з подальшим видаленням слідів. На Windows, навпаки, використовується персистентність через автозапуск, що дає змогу зловмисникам отримувати багаторазовий доступ до робочих станцій.
Такий диференційований підхід відповідає моделі сучасних загроз: мінімум шуму на серверних і хмарних *nix‑середовищах та тривалий доступ до корпоративних endpoint‑ів під керуванням Windows, які часто стають точкою входу до внутрішніх мереж.
Ризики для CI/CD та зближення з ransomware‑групами
Кампанія TeamPCP супроводжується згадками про співпрацю з LAPSUS$ та новою ransomware‑групою Vect. Це вказує на тренд зближення операторів supply chain атак із класичними групами здирників. Замість суто фішингу або експлуатації публічних вразливостей атакувальники все частіше націлюються на відкриті репозиторії, інструменти розробки та безпеки.
Особливо вразливими залишаються CI/CD‑конвеєри, де сканери, IDE‑плагіни, build‑системи та інші утиліти мають розширені привілеї. Компрометація такого інструмента миттєво перетворює його на зручний шлюз для подальшого розгортання ransomware, викрадення коду та шантажу.
Рекомендації для розробників та DevSecOps‑команд
1. Негайно перевірити версії Telnyx у всіх середовищах; за наявності 4.87.1 або 4.87.2 — відкотитися до 4.87.0, провести інвентаризацію вузлів та аналіз логів.
2. В re‑rotate усі PyPI‑токени та інші секрети, які могли бути доступні в оточеннях з litellm або скомпрометованим Telnyx.
3. Запровадити строгу фіксацію версій залежностей, використовувати дзеркала репозиторіїв, перевірку хешів, підписування артефактів (наприклад, Sigstore).
4. Моніторити трафік на відомі IOC (зокрема IP 83.142.209[.]203:8080) та нетипові завантаження медіафайлів із середовищ CI/CD.
5. Обмежити привілеї інструментів у конвеєрі, застосовувати принцип найменших повноважень та ізольоване зберігання секретів.
6. Регулярно проводити аудит залежностей і розробницької інфраструктури, включно з IDE‑розширеннями й сторонніми сканерами безпеки.
Інцидент із Telnyx підтверджує: інструменти розробки та безпеки стають ключовими цілями для атак на ланцюг постачання ПЗ. Чим раніше організації вибудують контроль над залежностями, підписуванням артефактів, моніторингом CI/CD та аномалій трафіку, тим менша ймовірність, що черговий непомітний WAV‑файл із прихованим malware опиниться в їхньому продакшені. Зараз доречно переглянути власну модель загроз, посилити DevSecOps‑практики та системно відстежувати новини кібербезпеки, щоб вчасно реагувати на подібні кампанії.