Критическое предупреждение о пакете pip pantheon-agents было опубликовано в базе GitHub Advisory Database 26 августа в 14:36 UTC. Сам инцидент произошёл в июне 2026 года. Разрыв между этими датами составляет 72 дня, и это наименьшая из проблем в этой записи.

Что сделали атакующие

Учётная запись мейнтейнера в PyPI была скомпрометирована в ходе атаки на цепочку поставок, и версии 0.6.1 и 0.6.2 были загружены напрямую в PyPI. Эти релизы содержат файл .pth — механизм, который Python автоматически выполняет при запуске интерпретатора, ещё до выполнения любого вашего кода, — и он загружает среду выполнения JavaScript и собирает переменные окружения, API-ключи, SSH-ключи и облачные учётные данные. Импортировать пакет не требовалось. Достаточно было установить его в среду, где позже запускался Python.

Чистая часть

Предупреждение точно определяет масштаб: «Затронуты только артефакты PyPI. Исходный репозиторий GitHub, его git-теги и все остальные каналы распространения чисты». Любой, кто использовал исходники из репозитория или привязался к git-тегу, не был подвержен риску. Это компрометация канала распространения, а не кода, и именно такой случай должны ловить lock-файлы с привязкой по хэшу, тогда как свободные диапазоны версий — нет.

Что не так с распространённой трактовкой

Предупреждение с полем patched version, где указано 0.6.4, сообщает каждому сканеру и каждому боту зависимостей одно и то же: обновитесь до 0.6.4, и проблема будет закрыта. Но в том же предупреждении сказано, что распространение через PyPI приостановлено и «возобновится после восстановления учётной записи и перехода на PyPI Trusted Publishing (OIDC)», а пользователям предлагается устанавливать пакет из исходников GitHub. Иными словами, машиночитаемое указание на исправление ведёт к релизу, который реестр сейчас не отдаёт, тогда как человекочитаемое указание говорит прекратить использование реестра. Автоматизированные инструменты читают первое поле, а не второе. Команда, позволившая ботам действовать на основании этого предупреждения, получит pull request, который невозможно разрешить.

И CVE нет

В записи нет идентификатора CVE. Организации, у которых управление уязвимостями завязано на CVE — а таких большинство среди тех, у кого есть формализованный процесс, — вообще этого не увидят. Критическая компрометация фреймворка для AI-агентов, похищающая учётные данные, оказывается видимой только инструментам, которые напрямую потребляют предупреждения GitHub, через 72 дня после события, да ещё и с полем устранения, указывающим туда, откуда пакет нельзя скачать.

Что нужно проверять — окно воздействия

Вредоносные артефакты уже удалены из PyPI, поэтому практический вопрос не в том, можно ли их по-прежнему установить, а в том, устанавливали ли вы их между июнем и удалением. Любой CI-runner или машина разработчика, которая в этот период разрешила pantheon-agents 0.6.1 или 0.6.2, следует считать скомпрометированной: её переменные окружения и облачные учётные данные могли быть прочитаны. Мера реагирования — ротация, а не обновление.