Исследователи AIR описали Plugin4Shell — уязвимость в способе, которым четыре ИИ-агента для программирования проверяют, что плагин является именно той версией, которую одобрил маркетплейс, сообщил Help Net Security 18 сентября. Затронуты Claude Code, Codex, GitHub Copilot и Gemini CLI. Поскольку два из них по умолчанию обновляют плагины в фоне, в сообщении говорится, что плагин, прошедший проверку, может быть подменён враждебным кодом без каких-либо действий разработчика.
Предыстория
ИИ-агенты для программирования работают на собственном компьютере разработчика, с доступом к командной оболочке, файловой системе и сохранённым учётным данным. Плагины расширяют их возможности, а маркетплейсы закрепляют каждый плагин за конкретным коммитом, чтобы выполнялся тот код, который одобрил проверяющий. Уязвимость касается именно этого закрепления [1].
Что описывает сообщение
Согласно сообщению, агенты не проверяют, что извлечённый ими код соответствует закреплённому коммиту. Злоумышленник может создать ветку, имя которой совпадает с хешем коммита, и тогда извлечение разрешается в код злоумышленника, а закрепление по-прежнему выглядит нетронутым. В сообщении отмечено, что GitHub блокирует такие имена веток, а Bitbucket и серверы собственного размещения их допускают [1].
В сообщении уязвимость названа не требующей действий пользователя (zero-click), потому что то же извлечение повторяется при фоновых автообновлениях, включённых по умолчанию в Claude Code и Codex. Злоумышленник может либо опубликовать плагин, который позднее станет враждебным, либо захватить репозиторий существующего плагина. AIR сообщила, что обнаружила 925 скомпрометированных навыков, дошедших до 134 000 агентов в результате таких захватов [1].
Статус исправлений у поставщиков различается. Anthropic исправила Claude Code в версии 2.1.179, а OpenAI исправила Codex в версии 0.146.0. Microsoft не выпустила исправление для GitHub Copilot, а Google объявила Gemini CLI устаревшим и направляет пользователей к другому продукту, Antigravity. AIR сообщает, что обнаружила уязвимость в мае и раскрыла её поставщикам в июне [1].
Выводы для пользователей Mac
Сообщение посвящено инструментам разработчика на любой настольной операционной системе и не выделяет macOS. В группе риска находятся разработчики, использующие один из четырёх агентов с плагинами из сторонних маркетплейсов. Пользователи Mac, не работающие с агентами для программирования, этой уязвимостью в описанном виде не затронуты [1].
Рекомендации
- Обновите Claude Code до версии 2.1.179 или новее, а Codex — до версии 0.146.0 или новее.
- Отключите фоновое автообновление плагинов там, где инструмент это позволяет, и обновляйте плагины осознанно.
- Удалите плагины, которыми вы не пользуетесь, и отдавайте предпочтение плагинам, размещённым на GitHub, где, по сообщению, приём с именем ветки блокируется.
- Если используются GitHub Copilot или Gemini CLI, считайте сторонние плагины неисправленной уязвимостью, пока поставщик не заявит обратное.
Какое отношение это имеет к FireAI
FireAI — сетевой межсетевой экран для macOS. Он не проверяет плагины, не анализирует извлечения git и не мешает агенту для программирования выполнять команду. Он может показать и контролировать последующие соединения: новый процесс, для которого ещё нет правила, вызывает запрос в режиме «Оповещение» с указанием адреса назначения, а правила для приложений могут ограничить, куда данному инструменту разрешено подключаться.
Ограничения
Описание опирается на одно вторичное сообщение. В нём не сказано, эксплуатировалась ли уязвимость за пределами исследований, и не описано, как AIR получила цифру в 925 скомпрометированных навыков. Не указано, на каких операционных системах проводилось тестирование.
Попробуйте FireAI от HisnLabs бесплатно 17 дней.