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

Исследователи компании Air, которая занимается защитой корпоративных ИИ-агентов, обнаружили уязвимость нулевого клика под названием Plugin4Shell. Она затрагивает маркетплейсы плагинов и навыков (skills) всех крупных ИИ-агентов для разработки: Claude Code от Anthropic, Codex от OpenAI, Gemini CLI от Google, Microsoft Copilot и GitHub Copilot. По оценке исследователей, успешная эксплуатация даёт злоумышленнику полный доступ ко всем данным и ресурсам, до которых может дотянуться агент, а сам приём авторы называют «первой в своём роде атакой на цепочку поставок ИИ»: вместо самой модели или агента атака бьёт по доверенным маркетплейсам плагинов, что в теории способно затронуть миллионы пользователей и машин.
Технически уязвимость обходит механизм привязки плагинов к неизменному хешу коммита (SHA-pinning): маркетплейс фиксирует конкретный коммит, чтобы агент всегда подтягивал один и тот же проверенный код даже при компрометации репозитория. Но, по словам исследователей Air Ора Нево, Дора Граната и Нива Хоффмана, «агент делает чекаут ровно того коммита, который закрепил маркетплейс, но никогда не проверяет, что именно этот код туда попал», поэтому атакующий, получивший контроль над репозиторием плагина, может подменить код так, что привязка к коммиту формально останется соблюдена, а на деле выполнится вредоносная версия. Авторы описывают два сценария: в первом злоумышленник публикует безобидный плагин, тот проходит модерацию маркетплейса, а затем автор подменяет содержимое на вредоносное; во втором, угоняется репозиторий легитимного автора (эти техники захвата исследователи ранее показали в отдельных демонстрациях SkillJacking и RepoJacking) и вредоносная версия рассылается всем, у кого плагин уже установлен. Атака становится нулевого клика именно из-за автообновления: и Claude Code, и Codex по умолчанию сами подтягивают новые версии установленных плагинов, поэтому подмена коммита в апстриме долетает до пользователя без каких-либо действий с его стороны.
Air сообщила о проблеме всем четырём поставщикам в июне 2026 года. Anthropic закрыла уязвимость в Claude Code 2.1.179, OpenAI, в Codex 0.146.0. Google, наоборот, уже объявила Gemini CLI устаревшим инструментом и заявила Air, что патча не будет: все существующие установки остаются уязвимыми, а пользователям рекомендовано переходить на новую агентную среду разработки Antigravity, которая от этой атаки защищена. Microsoft брешь в Copilot не устранила; на момент публикации статьи компания не ответила на запрос The Register. Copilot использует, по данным самой Microsoft, почти 90% компаний из списка Fortune 500. Представитель GitHub заявил, что атаки Plugin4Shell саму платформу GitHub не затрагивают, поскольку «GitHub не позволяет создавать имена веток или тегов, похожие на хеши коммитов, и это исключает эксплуатацию описанной уязвимости на GitHub». Исследователи Air с этим не согласны: маркетплейсы плагинов размещают и на других платформах, например на Bitbucket, а значит Microsoft Copilot всё равно уязвим, по их словам, о том же самом они сообщили Microsoft ещё в июне, но не получили ответа из-за большого объёма поступающих компании отчётов об уязвимостях.
Ключевые факты
- Стартап Air нашёл уязвимость нулевого клика Plugin4Shell, которая через маркетплейсы плагинов затрагивает Claude Code, Codex, Gemini CLI и Microsoft/GitHub Copilot.
- Уязвимость обходит привязку плагинов к хешу коммита (SHA-pinning): агент проверяет, что коммит закреплён, но не проверяет, что скачал именно его код.
- Автообновление плагинов в Claude Code и Codex, то, что превращает подмену кода в атаку без единого клика со стороны пользователя.
- Anthropic закрыла уязвимость в Claude Code 2.1.179, OpenAI, в Codex 0.146.0; Google патча для устаревшего Gemini CLI не выпустит и советует переходить на Antigravity.
- Microsoft не устранила уязвимость в Copilot (им пользуются почти 90% компаний Fortune 500); GitHub считает свою платформу защищённой, но Air указывает, что маркетплейсы на других платформах вроде Bitbucket оставляют Copilot уязвимым.
Почему это важно
Plugin4Shell, не рядовая дыра в одном продукте, а брешь в самом механизме, который должен защищать ИИ-агентов от подмены кода в плагинах: она разом касается экосистем Claude Code, Codex, Gemini CLI и Copilot. Исследователи называют её «первой в своём роде атакой на цепочку поставок ИИ» и указывают, что при удачной эксплуатации агент отдаёт злоумышленнику всё, до чего сам может дотянуться, а не выполняет отдельную команду. Автообновление плагинов, задуманное как удобство, здесь же превращает разовую подмену кода в атаку без единого клика на стороне жертвы.
Кому это важно
В первую очередь, компаниям и разработчикам, которые используют плагины и навыки из публичных маркетплейсов в Claude Code, Codex, Gemini CLI или Copilot. Особый вес истории придаёт масштаб Copilot: почти 90% компаний из списка Fortune 500 пользуются им, по данным самой Microsoft, а патча для него на момент публикации не было. Отдельно это касается всех, кто ещё сидит на Gemini CLI, патча для него не будет вовсе.
Как это применить
Пользователям Claude Code и Codex, обновиться до версий 2.1.179 и 0.146.0 соответственно, где уязвимость уже закрыта. Пользователям Gemini CLI патча ждать не стоит: Google прямо рекомендует переходить на Antigravity. Для Copilot, заявленного производителем полного патча пока нет, а мнение GitHub о собственной защищённости распространяется не на все маркетплейсы плагинов: те, что размещены не на GitHub, а, например, на Bitbucket, по данным Air, всё равно оставляют Copilot уязвимым, так что полагаться на GitHub-специфичную защиту как на общее решение не стоит.
Можно ли доверять
Источник, отчёт специализированного security-стартапа Air, который занимается защитой корпоративных ИИ-агентов и сообщил о находке всем четырём поставщикам ещё в июне 2026 года; патчи со стороны Anthropic и OpenAI это фактически подтверждают. При этом уязвимости не присвоили ни CVE, ни оценку по CVSS, а материал описывает исследовательское раскрытие с proof-of-concept демонстрациями (в том числе более ранними SkillJacking и RepoJacking), источник не утверждает, что Plugin4Shell уже использовали для реальных атак на пользователей, речь идёт о доказанной возможности, а не о зафиксированном взломе. Позиция Microsoft в статье не звучит: компания не ответила на запрос The Register к моменту публикации, а её мотивы отказа от быстрого патча в материале не раскрываются.
Риски и подводные камни
Gemini CLI остаётся уязвимым навсегда, Google выбрала не чинить устаревающий инструмент, а не встраивать патч. Между GitHub и Air идёт прямой спор о том, закрывает ли защита GitHub реальную угрозу для Copilot: GitHub считает вопрос решённым для своей платформы, Air настаивает, что маркетплейсы на сторонних платформах вроде Bitbucket пробивают эту защиту насквозь. Microsoft, по словам Air, вовсе не отреагировала на повторное обращение, не из-за несогласия, а из-за общего объёма поступающих к ней сообщений об уязвимостях, что само по себе показывает, насколько неспешно крупный поставщик может закрывать подтверждённую брешь в продукте, которым пользуется почти весь список Fortune 500.
«Агент делает чекаут ровно того коммита, который закрепил маркетплейс, но никогда не проверяет, что именно этот код туда попал, поэтому злоумышленник, контролирующий репозиторий плагина, может подменить код, а привязка к коммиту будет выглядеть нетронутой. Итог, удалённое выполнение кода без единого клика.»
— исследователи Air Ор Нево, Дор Гранат и Нив Хоффман