Jet School Logo
Блог
Дата: 22.09.2026
Время: 21:28

Plugin4Shell: уязвимость, которая обманула Claude Code, Codex и Copilot без единого клика

Plugin4Shell: уязвимость, которая обманула Claude Code, Codex и Copilot без единого клика

Представьте: вы ничего не устанавливали, ничего не нажимали, даже не открывали ноутбук сегодня утром — а вредоносный код на вашей машине уже есть. Звучит как страшилка из презентации на конференции. Но именно так, по данным исследователей, могла сработать уязвимость, о которой на прошлой неделе заговорила вся индустрия ИИ-разработки.

Её назвали Plugin4Shell — с явным отсылом к нашумевшему Log4Shell 2021 года. И название не для красоты: масштаб и подход очень похожи.

Что вообще произошло

18 сентября 2026 года команда AIR Security раскрыла детали уязвимости, которая почти год оставалась непубличной (её нашли ещё в мае, а вендорам сообщили в июне — стандартная практика responsible disclosure, чтобы дать время на патч). Под ударом оказались четыре самых популярных ИИ-агента для разработки:

  • Claude Code (Anthropic)
  • OpenAI Codex
  • GitHub Copilot (Microsoft)
  • Gemini CLI (Google)

Проблема не в самих языковых моделях — она в экосистеме плагинов вокруг них. Все четыре агента умеют устанавливать расширения из маркетплейсов, и все эти расширения получают примерно те же права, что и сам разработчик: доступ к исходному коду, SSH-ключам, облачным токенам, внутренним репозиториям.

Как ломается доверие, построенное на одной строке кода

Чтобы плагин был безопасным, маркетплейсы «пинят» его к конкретному, проверенному коммиту — это называется SHA pinning. Идея простая: если хеш совпадает, значит код именно тот, что прошёл ревью.

Оказалось, что все четыре агента забыли сверить один момент: после git checkout по хешу они не проверяли, что в итоге реально оказалось на диске. А злоумышленник, контролирующий репозиторий плагина, может создать ветку с именем, идентичным пиненному хешу, и сделать её веткой по умолчанию. При следующем автообновлении агент вместо проверенного коммита подтягивает именно эту ветку — с чужим кодом внутри.

Никакого клика. Никакого подтверждения. Просто фоновое автообновление, которое по умолчанию включено и в Claude Code, и в Codex.

Важный нюанс по Gemini: корпоративный доступ через Gemini Code Assist и Google Cloud уязвимость не затрагивает — под ударом именно потребительская версия CLI, которую Google решил не чинить, а вывести из эксплуатации.

Почему это не «ещё одна CVE», а тревожный звонок

Самое неприятное в Plugin4Shell — это то, что она наказывает как раз тех, кто делал всё правильно. Вы не устанавливали случайный плагин с GitHub без ревью. Вы, наоборот, использовали проверенный маркетплейс, дождались, пока плагин зафиксируют на конкретном коммите, и доверились этому механизму. А потом репозиторий плагина скомпрометировали — и защита, на которую вы полагались, тихо перестала работать.

Ту же лабораторию AIR Security, кстати, стоит запомнить: ранее она же описала атаку SkillJacking — подмену «скиллов» у ИИ-агентов, которая затронула порядка 925 расширений и около 134 000 агентов. Это не разовая находка, а системная проблема в том, как индустрия строит доверие вокруг автообновляемых плагинов.

Что делать прямо сейчас, если вы используете эти инструменты

  1. Обновите Claude Code до версии 2.1.179 или новее, а Codex — до 0.146.0 или новее. Это закрывает уязвимость полностью.
  2. Если пользуетесь Copilot CLI — временно отключите автообновление сторонних плагинов там, где это возможно, и держите только расширения из маркетплейсов, размещённых на GitHub.
  3. Если сидите на Gemini CLI (потребительская версия) — присмотритесь к альтернативам вроде Antigravity CLI, поскольку патча для CLI не будет.
  4. Пересмотрите права плагинов вручную. Задайте себе вопрос: правда ли расширению для форматирования кода нужен доступ к вашим SSH-ключам?
  5. Включите мониторинг исходящего трафика на машинах разработчиков — если плагин вдруг начнёт стучаться на незнакомый домен, вы должны об этом узнать раньше, чем данные уйдут наружу.

Вывод

Plugin4Shell — хороший повод перестать относиться к ИИ-агентам как к «просто автодополнению» и начать воспринимать их как полноценный элемент вашей цепочки поставок ПО, со всеми вытекающими рисками. SHA pinning не спас — потому что проверка хеша была реализована с одной пропущенной строкой сравнения. Четыре разные команды в четырёх разных компаниях допустили одну и ту же ошибку независимо друг от друга. Возможно, дело не в конкретном баге, а в том, что вся индустрия ИИ-агентов ещё учится закладывать security-by-design туда, где ставки уже очень высоки.

Источники и дальнейшее чтение:

Хотите применить эти знания на практике и добиться реальных результатов? Начните пошаговое обучение на нашем курсе по кибербезопасности. Для получения подробной информации перейдите по ссылке: Курс по кибербезопасности.

Гусейн Эйвазов

Автор

Гусейн Эйвазов

Специалист по Кибербезопасности

Другие блоги

Отправьте заявку для получения информации о наших IT курсах