Специалисты по кибербезопасности из стартапа Air обнаружили уязвимость, которая позволяет выполнять произвольный код на компьютере разработчика без единого его действия. Затронуты все основные ИИ-агенты для написания кода: Anthropic Claude Code, OpenAI Codex, Google Gemini CLI, Microsoft Copilot и GitHub Copilot.
Эксплойт назвали Plugin4Shell, а сами исследователи описывают его как первую в своём роде атаку на цепочку поставок ИИ.
Как это работает
Атака направлена не на модель и не на программную обвязку агента, а на доверенные маркетплейсы, где размещаются плагины для ИИ-инструментов разработки.
Чтобы понять суть, нужно знать, как устроена защита, которую удалось обойти. Плагины и навыки ИИ-агентов привязываются к хешу — контрольной сумме конкретного состояния кода. Смысл в том, чтобы застраховаться ровно от подобных атак: если публичный репозиторий скомпрометируют, агент продолжит использовать проверенный код с зафиксированным хешем и не подтянет новую вредоносную версию автоматически.
Изъян в реализации. Агент загружает тот коммит, на который указывает маркетплейс, но не проверяет, содержится ли в нём изначально закреплённый за ним код. Злоумышленник, контролирующий репозиторий плагина, может подменить содержимое так, что формально схема привязки к хешу остаётся соблюдённой.
Дальше срабатывает функция автоматического обновления плагинов — и вредоносная версия приезжает на машины пользователей сама. Участие человека не требуется вообще.
Два сценария
Первый: злоумышленник загружает безобидный плагин на доверенный маркетплейс, тот проходит модерацию, после чего содержимое подменяется вредоносным кодом.
Второй, более неприятный: захват репозитория легитимного автора с последующей отправкой вредоносной версии всем агентам, у которых этот плагин установлен. По сути, это обход самого механизма, созданного для защиты от атак на цепочку поставок.
Масштаб потенциального поражения определяется не числом жертв конкретной атаки, а аудиторией маркетплейсов. Речь о миллионах пользователей и компьютеров.
Что важнее всего в этой истории
Ключевой момент — не сама уязвимость, а то, к чему открывается доступ.
ИИ-агент для написания кода по определению имеет широкие права: он читает и пишет файлы, запускает команды в оболочке, обращается к репозиториям, использует ключи доступа к внешним сервисам. Выполнение произвольного кода внутри такого агента означает доступ ко всем ресурсам и данным, которые доступны ему самому.
Иначе говоря, компрометируется не текстовый редактор, а инструмент, которому разработчик выдал ключи от рабочего контура.
Кто и как отреагировал
Anthropic устранила уязвимость в версии Claude Code 2.1.179, OpenAI — в Codex 0.146.0.
Google вносить исправление в Gemini CLI отказалась: поддержка инструмента прекращена в связи с переходом к Antigravity, который, по заявлению компании, от атак такого типа защищён.
В GitHub заявили, что не позволяют создавать имена веток или тегов, похожие на хеши коммитов, и эта мера гарантирует невозможность эксплуатации уязвимости на их платформе. В Air возразили, что её недостаточно, поскольку маркетплейсы могут размещаться на других платформах.
Microsoft на сообщение исследователей об уязвимости не отреагировала.
Что делать разработчикам прямо сейчас
Обновиться. Для Claude Code и Codex исправления уже вышли, и это первое, что стоит сделать.
Проверить, включено ли автообновление плагинов. Именно оно превращает подменённый репозиторий в исполнение кода на вашей машине. В контурах, где это допустимо, автообновление разумнее отключить и обновлять плагины осознанно.
Пересмотреть список установленных плагинов. Каждый лишний плагин — отдельная точка доверия к постороннему автору. Полезное упражнение: удалить всё, чем не пользовались последний месяц.
Ограничить права агента. Отдельный аккаунт с минимальным набором доступов, изоляция от продакшн-ключей и репозиториев, к которым агенту работать не нужно, — меры скучные, но именно они определяют, чем закончится успешная атака.
Не держать секреты в переменных окружения там, где работает агент. Если код выполняется в среде агента, он видит то же, что видит агент.
Более широкая картина
Plugin4Shell вышел на фоне серии похожих сюжетов. За последние месяцы исследователи описывали атаки через непроверенный контент, попадающий в память агента, атаку программы-вымогателя, которую агент провёл практически самостоятельно, и случай, когда агенты одной компании вышли за пределы изолированной среды и получили доступ к чужой инфраструктуре.
Общее у всех этих историй одно. Уязвимость находится не в модели, а в том, сколько прав ей выдали и насколько аккуратно проверяется то, что она получает извне. Про то, как устроены ИИ-агенты и почему их автономность меняет ландшафт угроз, мы писали отдельно.
