Перейти к содержимому
IT и стартапы

Популярный Python-пакет с миллионом загрузок в месяц оказался вором учётных данных

Вредоносный код попал в elementary-data версии 0.23.3 через скомпрометированный GitHub-воркфлоу — под угрозой оказались CI/CD-среды с широким доступом к секретам.

Казакевич Алексей
5 мин
Популярный Python-пакет с миллионом загрузок в месяц оказался вором учётных данных

Популярный Python-пакет elementary-data оказался заражён вредоносным кодом: версия 0.23.3 похищала учётные данные из окружения, в котором запускалась. Пакет используют более миллиона раз в месяц, что делает инцидент одним из наиболее масштабных атак на цепочку поставок open source за последнее время. Разработчики уже выпустили безопасную версию 0.23.4 и призывают всех пользователей немедленно обновиться.

Atака стала возможной через скомпрометированный GitHub-воркфлоу — механизм автоматизации, широко применяемый в open source проектах. Злоумышленники встроили вредоносную логику непосредственно в процесс сборки пакета, и она попала в официальный релиз на PyPI. Именно такие атаки на инфраструктуру разработки, а не на сам код приложения, сегодня считаются одним из наиболее опасных векторов.

Что именно произошло и кто под угрозой

Вредоносный код в версии 0.23.3 при запуске CLI создавал маркерный файл: на macOS и Linux — `/tmp/.trinny-security-update`, на Windows — `%TEMP%\.trinny-security-update`. Наличие этого файла на машине означает, что полезная нагрузка выполнилась и данные могли быть скомпрометированы.

Под угрозой оказались все секреты, доступные в окружении в момент запуска: профили dbt, учётные данные хранилищ данных, ключи облачных провайдеров, API-токены, SSH-ключи и содержимое `.env`-файлов. Особенно уязвимы CI/CD-раннеры — они, как правило, имеют широкий доступ к секретам, смонтированным во время выполнения пайплайна.

Разработчики опубликовали пошаговую инструкцию по реагированию. Первый шаг — проверить установленную версию командой `pip show elementary-data | grep Version`. Если установлена 0.23.3, нужно удалить пакет, установить 0.23.4 и явно зафиксировать версию в `requirements.txt` и lockfile-ах. Дополнительно рекомендуется очистить кеш и проверить все машины, где мог запускаться CLI.

Атаки на цепочку поставок: системная проблема open source

Инцидент с elementary-data — не исключение, а часть устойчивой тенденции. За последнее десятилетие атаки на open source репозитории участились и стали значительно изощрённее. Схема типична: вредоносный пакет компрометирует разработчика, а через него — его инфраструктуру и клиентов.

HD Moore, основатель и CEO компании runZero, специалист по безопасности с более чем сорокалетним опытом, прямо называет GitHub Actions «питательной средой для уязвимостей».

««Это серьёзная проблема для open source проектов с открытыми репозиториями. Крайне сложно случайно не создать опасные воркфлоу, которые злоумышленник может эксплуатировать через pull request».»

По его словам, именно неосторожно настроенные автоматизированные воркфлоу становятся точкой входа в большинстве подобных инцидентов. Атака на elementary-data подтверждает этот тезис: вектор шёл не через уязвимость в коде библиотеки, а через процесс её сборки и публикации.

Для белорусских команд, работающих в ПВТ и за его пределами, этот кейс особенно актуален. Большинство продуктовых и аутсорсинговых компаний активно используют Python в data-инженерии и ML-пайплайнах, а CI/CD-среды с широким доступом к секретам — стандарт индустрии. Проверить зависимости и ротировать скомпрометированные ключи стоит независимо от того, использовался ли конкретно этот пакет.

Что делать прямо сейчас

Если elementary-data присутствует в ваших зависимостях, алгоритм действий следующий. Обновитесь до версии 0.23.4, проверьте все машины на наличие маркерного файла и немедленно ротируйте все учётные данные, доступные в скомпрометированном окружении.

Даже если пакет не использовался, инцидент — повод провести аудит CI/CD-воркфлоу. Стоит проверить, какие секреты доступны раннерам, ограничить права по принципу минимальных привилегий и настроить алерты на аномальное поведение в пайплайнах. Инструменты вроде того, что упоминает HD Moore для проверки уязвимых воркфлоу, помогут выявить слабые места до того, как ими воспользуется злоумышленник.

Атаки на цепочку поставок опасны именно тем, что бьют по доверию: разработчик устанавливает пакет из официального источника и не ожидает угрозы. Единственная защита — регулярный аудит зависимостей, строгая фиксация версий и культура безопасности, при которой ротация секретов после инцидента занимает минуты, а не дни.

— По материалам Ars Technica: оригинальная статья. Перевод и адаптация — редакция Digital Business.

ПоделитьсяVK

Свежие новости

Все новости