Plugin4Shell е уязвимост от висока степен на опасност за отдалечено изпълнение на код (RCE) без необходимост от кликване (zero-click), която засяга основни AI агенти за програмиране, включително Anthropic Claude Code, OpenAI Codex, GitHub Copilot и Google Gemini CLI.
Уязвимостта позволява на злонамерено обновяване на плъгин да изпълни код, контролиран от атакуващ, без да се изисква потребителят да кликва, одобрява или преинсталира каквото и да е.
Plugin4Shell е насочена към веригата за доставки на софтуер зад AI агентите, а не към самите AI модели. Модерните агенти за програмиране могат да инсталират плъгини, умения и разширения от каталози на общността.
Тези добавки често наследяват същите права като разработчика, работещ с агента, включително достъп до локален сорс код, идентифициращи данни за облачни услуги, SSH ключове, вътрешни хранилища, производствени системи и тайни.
Проблемът се дължи на начина, по който засегнатите агенти обработват фиксираните чрез SHA версии на плъгини. Системите на каталозите обикновено фиксират плъгина към конкретен хеш на Git ревизия (commit), след като той е бил прегледан. Целта е да се гарантира, че агентът инсталира точнощения одобрен код, а не по-нова или изменена версия.
Въпреки това изследователи от Air Security установиха, че засегнатите агенти изискват фиксираната ревизия, но не потвърждават дали извлеченото работно дърво наистина съответства на тази ревизия.
Атакуващ, който контролира репозитория на плъгин, може да експлоатира резолюцията на референциите в Git, за да накара агента да извлече злонамерен клон, докато все още изглежда, че спазва одобрения SHA фиксатор.
Plugin4Shell Zero-Click RCE
При Claude Code, Codex и GitHub Copilot атаката може да включва създаване на клон, чието име съответства на 40-символния хеш на ревизията на плъгина.
Git може да даде приоритет на съвпадащо име на референция пред самия обект на ревизията по време на извличането. Ако клонът съдържа зловреден код, агентът може да го инсталира, докато отчита успешна инсталация въз основа на очаквания SHA.

Gemini CLI има отделен вариант. Неговият процес за плъгини извлича предвидената ревизия и след това извлича FETCH_HEAD. Изследователите заявиха, че атакуващ може да злоупотреби с клон в репозитория с име FETCH_HEAD, за да пренасочи извличането към злонамерено съдържание вместо към получената ревизия.
Уязвимостта става zero-click поради автоматичните актуализации на плъгините. Claude Code и Codex обновяват инсталираните плъгини във фонов режим по подразбиране, според разкритата информация.
Атакуващият не трябва да убеждава жертвата да инсталира нов плъгин. Вместо това той може първо да публикува легитимно изглеждащ плъгин, да натрупа потребители и по-късно да промени базовия репозиторий.
Компрометирането на репозитория на съществуващ поддържащ плъгина може да доведе до същия резултат. Рискът е особено значителен за предприятия, използващи AI агенти за програмиране с широк достъп до среди за разработка и продукция.
Успешна експлоатация би могла да даде на киберпрестъпника същия достъп, какъвто има акаунтът на разработчика, потенциално разкривайки патентован код, API ключове, credentials за CI/CD, вътрешни системи и облачни среди.
Anthropic отстрани уязвимостта в Claude Code версия 2.1.179, докато OpenAI отстрани уязвимостта в Codex във версия 0.146.0. От Google заявиха, че Gemini CLI е остарял и няма да получи корекция за сигурност, като съветват потребителите да преминат към Antigravity.
Microsoft все още не беше пуснал корекция за Copilot към момента на разкриването. От GitHub заявиха, че тяхната платформа блокира имена на клонове и тагове, които изглеждат като SHA хеш. Ввпреки това от Air Security твърдят, че каталози, хоствани в услуги като Bitbucket или самостоятелно хоствани Git сървъри, могат да останат уязвими.
Организациите трябва незабавно да инсталират корекции за сигурност за Claude Code и Codex, да прегледат наличните плъгини, да ограничат източниците на плъгини, където е възможно, и да наблюдават репозиториите на плъгини за неочаквани промени в клоновете или прехвърляне на собствеността.
Основната защита за разработчиците на тези системи е да проверяват действително извлечената ревизия след инсталацията, като сравняват установената стойност на HEAD с фиксирания в каталога SHA хеш.