Ново разкритие относно GitHub Copilot CLI може да позволи на уеб страница, контролирана от атакуващ, да насочи AI агента за програмиране да прочете локални файлове на разработчика и да изпрати съдържанието им към отдалечен сървър.

Техниката, наречена Cryptographic Context Injection (CCI), крие злонамерени инструкции в криптиран текст, с което ги прави по-трудни за проверка от стандартните филтри за подкани (prompt injection).

Според Adversa AI проблемът засяга Copilot CLI, когато той работи в режим на автопилот и разработчик поиска от агента да прегледа външен URL адрес.

GitHub Copilot CLI Vulnerability

При демонстрация се съобщава, че агентът е прочел локален .env.prod файл и е предал съдържанието му на контролиран от киберпрестъпника адрес в рамките на 28 секунди. Потребителят не е получил ясно предупреждение, че е осъществен достъп до локален файл или че данните му са напуснали устройството.

Констатацията се основава на изследване на CCI, демонстрирано по-рано срещу Grok, където криптираните инструкции са били декриптирани вътре в AI средата за изпълнение и след това третирани като доверен изходен резултат. Cyber Security News по-рано отрази това изследване, което показа как AI агент може да бъде подведен да разкрие лична информация от чата чрез обикновена заявка към уеб страница.

В този случай злонамерената страница не разкрива истинските си инструкции като обикновен текст. Вместо това тя съдържа криптирани данни и указва на Copilot CLI да използва Python за тяхното декриптиране.

Статичните филтри могат да проверяват четимо съдържание, но обикновено не извършват криптографски операции за разкриване на скрит текст. След като агентът декриптира съдържанието в собствената си командна среда, изследователите посочват, че той може да третира получените инструкции така, сякаш идват от доверен вътрешен процес, а не от недоверена уеб страница.

Докладваната верига от действия използва измамна стъпка за подготовка на „ключ“. Един от предоставените ключове е автентичен, докато друг е шаблон, който кара агента да прочете локални файлове, преди да опита декриптиране. Първият опит за декриптиране се проваля по дизайн, но чувствителното съдържание на файла вече е събрано. След това агентът използва валидния ключ, декриптира втори набор от инструкции и прави уеб заявка, съдържаща извлечените данни.

Изследователите отбелязват, че техниката може да се насочи към повече от конфигурационни файлове на средата. Всички данни, достъпни за агента, включително изходен код, конфигурационни файлове, идентификационни данни или токени извън папката на активния проект, могат да бъдат застрашени, ако агентът има разрешение да ги чете. По-ранни изследвания, свързани с Copilot, също показват как инжектирането на подкани може да се използва за кражба на токени и чувствителни данни от хранилища, когато инструментите с изкуствен интелект обработват недоверено съдържание от GitHub.

Докладът също така подчертава последователно разминаване в поведението за сигурност между различните модели, предлагани чрез Copilot. Adversa AI твърди, че моделът mai-code-1.1-flash на Microsoft е изпълнил пълната верига от действия в половината от тестовете си, докато два GPT-5.6 модела са отказали същите инструкции. Това създава сериозно безпокойство за потребителите, които оставят избора на модел на Auto, тъй като пренасочването може да избира различни модели между отделните сесии, без ясно да показва кой модел е обработил дадена задача.

Екипът на GitHub за намиране на бугове срещу възнаграждение (bug bounty) според информацията е потвърдил доклада, но не го е класифицирал като уязвимост в сигурността. Според хронологията на разкриването позицията на компанията е била, че потребителят изрично е предоставил разрешение на Copilot самостоятелно да извлича съдържание, контролирано от атакуващия. Изследователите не се съгласиха, заявявайки, че криптирането е заобиколило защитите, които са отхвърлили същите инструкции в прав текст.

Организациите, използващи Copilot CLI, трябва да избягват да позволяват на автономните агенти да разглеждат недоверени страници с широки разрешения за локални файлове и мрежов достъп.

Екипите по сигурност трябва да регистрират (log) аргументите на инструментите, да задействат предупреждения, когато проследяването на уеб съдържание е последвано от изпълнение на код и четене на локални файлове, и да блокират неочаквани изходящи дестинации. Съхранявайте чувствителните идентификационни данни извън пътищата, достъпни за агента, където това е възможно. Този случай показва, че защитата на AI инструменти за програмиране изисква наблюдение на това какво действително прави агентът, а не само сканиране на текста, който той получава.