
30 березня компанія BeyondTrust продемонструвала, як спеціально сформована назва гілки GitHub може призвести до викрадення OAuth-токена Codex у відкритому вигляді. OpenAI класифікував це як критичну вразливість (P1). Через два дні вихідний код Claude Code від Anthropic потрапив до загальнодоступного реєстру npm, а за кілька годин Adversa виявила, що Claude Code мовчки ігнорував власні заборонні правила, коли команда перевищувала 50 підкоманд. Це не були поодинокі збої. Це були останні в низці дев’яти місяців: шість дослідницьких груп виявили експлойти проти Codex, Claude Code, Copilot та Vertex AI, і кожен експлойт слідував однаковому шаблону. ШІ-асистент для кодування мав облікові дані, виконував дію та автентифікувався в системі продакшену без жодного сеансу людини, що підтверджував би запит.
Поверхню атаки вперше було продемонстровано на Black Hat USA 2025, коли технічний директор Zenity Майкл Баргурі на сцені, не здійснивши жодного кліку, зламав ChatGPT, Microsoft Copilot Studio, Google Gemini, Salesforce Einstein та Cursor з Jira MCP. Через дев’ять місяців саме ці облікові дані стали метою для зловмисників.
Меррітт Бар, директор з інформаційної безпеки (CSO) Enkrypt AI та колишній заступник CISO в AWS, назвала цю проблему в ексклюзивному інтерв’ю VentureBeat. “Підприємства вважають, що вони ‘схвалили’ постачальників ШІ, але насправді вони схвалили інтерфейс, а не базову систему”. Облікові дані під інтерфейсом – ось де криється пролом.
Codex: назва гілки, яка викрала токени GitHub
Дослідник BeyondTrust Тайлер Джесперсен разом із Флетчером Девісом та Саймоном Стюартом виявили, що Codex клонує репозиторії, використовуючи токен OAuth GitHub, вбудований у URL віддаленого репозиторію. Під час клонування параметр назви гілки передавався без належної санітизації до скрипта налаштування. Крапка з комою та зворотний апостроф у командному рядку перетворили назву гілки на корисне навантаження для викрадення даних.
Стюарт додав про підступність. Додавши 94 пробільних символи ідеографічного письма (Unicode U+3000) після “main”, зловмисна гілка виглядала ідентично стандартній гілці “main” у веб-порталі Codex. Розробник бачить “main”. Оболонка (shell) бачить команду curl, яка викрадає його токен. OpenAI класифікував це як критичну вразливість (P1) і повністю виправив її до 5 лютого 2026 року.
Claude Code: дві CVE та обхід 50 підкоманд зламали “пісочницю”
CVE-2026-25723 стосувалася обмежень Claude Code на запис файлів. Команди, що передавалися через конвеєр (piped) sed та echo, виходили за межі “пісочниці” проєкту, оскільки ланцюгове виконання команд не перевірялося. Виправлено у версії 2.0.55. CVE-2026-33068 була більш тонкою. Claude Code визначав режими дозволів з файлу `.claude/settings.json` перед відображенням діалогу довіри до робочої області. Зловмисний репозиторій встановлював `permissions.defaultMode` на `bypassPermissions`. Діалог довіри так і не з’явився. Виправлено у версії 2.1.53.
Обхід 50 підкоманд з’явився останнім. Adversa виявила, що Claude Code мовчки припиняв дію заборонних правил, коли команда перевищувала 50 підкоманд. Інженери Anthropic пожертвували безпекою заради швидкості та припинили перевірку після п’ятдесятої. Виправлено у версії 2.1.90.
“Значною вразливістю в корпоративному ШІ є порушення контролю доступу, коли пласка площина авторизації LLM не поважає дозволи користувача”, – написав Картер Ріс, віце-президент з ШІ та машинного навчання в Reputation та член Комісії з питань ШІ штату Юта. Репозиторій визначав, які дозволи мав агент. Бюджет токенів визначав, які заборонні правила залишалися чинними.
Copilot: опис pull request та проблема GitHub стали “root”
Йоганн Ребергер продемонстрував CVE-2025-53773 проти GitHub Copilot спільно з Маркусом Верв’єром з Persistent Security як співавтором. Приховані інструкції в описах PR змушували Copilot змінювати режим автоматичного схвалення в `.vscode/settings.json`. Це вимикало всі підтвердження та надавало необмежене виконання команд у оболонці (shell) на Windows, macOS та Linux. Microsoft виправила це у випуску Patch Tuesday за серпень 2025 року.
Потім Orca Security зламала Copilot всередині GitHub Codespaces. Приховані інструкції в проблемі GitHub змусили Copilot вивантажити зловмисний PR з символічним посиланням на `/workspaces/.codespaces/shared/user-secrets-envs.json`. Спеціально сформований URL JSON `$schema` викрав привілейований GITHUB_TOKEN. Повний контроль над репозиторієм. Жодної взаємодії з користувачем, крім відкриття проблеми.
Майк Рімер, технічний директор Ivanti, описав аспект швидкості в інтерв’ю VentureBeat: “Зловмисники реверс-інжинірять патчі протягом 72 годин. Якщо клієнт не застосовує патч протягом 72 годин після випуску, він відкритий для експлуатації”. Агенти стискають це вікно до секунд.
Vertex AI: стандартні області доступу сягнули Gmail, Drive та власного ланцюжка постачання Google
Дослідник Unit 42 Офір Шаті виявив, що стандартна ідентичність сервісу Google, приєднана до кожного агента Vertex AI, мала надмірні дозволи. Викрадені облікові дані P4SA надавали необмежений доступ для читання до кожного бакету Cloud Storage в проєкті та до захищених репозиторіїв Artifact Registry, що належать Google і знаходяться в ядрі Vertex AI Reasoning Engine. Шаті описав скомпрометований P4SA як “подвійного агента” з доступом як до даних користувача, так і до власної інфраструктури Google.
Таблиця заходів безпеки від VentureBeat
|
Вимога безпеки |
Застосований захист |
Шлях експлойту |
Прогалина |
|
Ізоляція (пісочниця) виконання ШІ-агентів |
Codex виконує завдання в хмарних контейнерах; токен видаляється під час роботи агента. |
Токен присутній під час клонування. Впровадження команди в назву гілки виконано до очищення. |
Відсутність санітизації вхідних даних для параметрів налаштування контейнера. |
|
Обмеження доступу до файлової системи |
Claude Code ізолює записи через режим `accept-edits`. |
Команди `sed`/`echo`, передані через конвеєр, вийшли з пісочниці (CVE-2026-25723). Файл `settings.json` обійшов діалог довіри (CVE-2026-33068). Ланцюжок з 50 підкоманд скасував дію заборонних правил. |
Ланцюгове виконання команд не перевірялося. Налаштування завантажуються перед підтвердженням довіри. Забороняючі правила скорочувалися заради продуктивності. |
|
Блокування ін’єкцій у запитах (prompt injection) у контексті коду |
Copilot фільтрує описи PR на наявність відомих шаблонів ін’єкцій. |
Приховані ін’єкції в PR, файлах README та проблемах GitHub призвели до виконання коду (RCE) (CVE-2025-53773 + Orca RoguePilot). |
Статичне зіставлення шаблонів програє вбудованим запитам у легітимних процесах перегляду та Codespaces. |
|
Обмеження області доступу облікових даних агента до мінімально необхідних (least privilege) |
Vertex AI Agent Engine використовує сервісного агента P4SA зі сферами доступу OAuth. |
Стандартні сфери доступу досягали Gmail, Calendar, Drive. Облікові дані P4SA читали кожен бакет Cloud Storage та Artifact Registry Google. |
Області доступу OAuth за замовчуванням не можна редагувати. Принцип мінімальних привілеїв порушено за задумом. |
|
Інвентаризація та керування ідентичностями агентів |
Жоден великий постачальник ШІ-агентів для кодування не надає виявлення ідентичностей агентів або управління їх життєвим циклом. |
Не застосовувалося. Підприємства не інвентаризують ШІ-агентів для кодування, їхні облікові дані чи сфери дозволів. |
ШІ-агенти для кодування невидимі для IAM, CMDB та інвентаризації активів. Відсутнє будь-яке управління. |
|
Виявлення викрадення облікових даних з середовища виконання агента |
Codex приховує токени у веб-порталі. Claude Code логує підкоманди. |
Токени були видимі у відкритому вигляді всередині контейнерів. Unicode-обфускація приховувала корисне навантаження для викрадення. Ланцюгове виконання підкоманд приховувало намір. |
Відсутній моніторинг мережевих викликів агента під час виконання. Обрізання логів приховало обхід. |
|
Аудит коду, згенерованого ШІ, на наявність вразливостей |
Anthropic запустила Claude Code Security (лютий 2026). OpenAI запустила Codex Security (березень 2026). |
Обидва сканують згенерований код. Жоден не сканує власне середовище виконання агента або обробку облікових даних. |
Безпека вихідного коду не є безпекою середовища виконання агента. Сам агент є поверхнею атаки. |
Кожен експлойт націлювався на обліві дані під час виконання, а не на вихід моделі
Кожен постачальник надав захист. Кожен захист було обійдено.
Згідно зі звітом Sonar 2026 State of Code Developer Survey, 25% розробників регулярно використовують ШІ-агентів, а 64% почали їх використовувати. Veracode протестував понад 100 LLM і виявив, що 45% зразків згенерованого коду містили вразливості з OWASP Top 10 – окрема проблема, яка посилює розрив у безпеці облікових даних під час виконання.
Технічний директор CrowdStrike Еліа Зайцев сформулював правило в ексклюзивному інтерв’ю VentureBeat на RSAC 2026: повернути ідентичності агентів до людських, оскільки агент, що діє від вашого імені, ніколи не повинен мати більше привілеїв, ніж ви. Codex мав токен OAuth GitHub, обмежений до кожного репозиторію, який авторизував розробник. P4SA Vertex AI читав кожен бакет Cloud Storage у проєкті. Claude Code пожертвував дією заборонних правил заради бюджету токенів.
Кейн МакГледрі, старший член IEEE, який консультує підприємства з питань ризиків ідентифікації, зробив той самий діагноз в ексклюзивному інтерв’ю VentureBeat. “Він використовує значно більше дозволів, ніж повинен, більше, ніж людина, через швидкість масштабування та наміри”.
Рімер окреслив операційний порядок у ексклюзивному інтерв’ю VentureBeat. “Це стає: я не знаю тебе, доки не перевірю тебе”. Назва гілки розмовляла з оболонкою до перевірки. Проблема GitHub розмовляла з Copilot до того, як хтось її прочитав.
План дій директора з безпеки
-
Інвентаризуйте кожного ШІ-агента для кодування (CIEM). Codex, Claude Code, Copilot, Cursor, Gemini Code Assist, Windsurf. Перелічіть облікові дані та сфери доступу OAuth, які вони отримали під час налаштування. Якщо ваша CMDB не має категорії для ідентичностей ШІ-агентів, створіть її.
-
Аудит сфер доступу OAuth та рівнів патчів. Оновіть Claude Code до версії 2.1.90 або новішої. Перевірте патч Copilot за серпень 2025 року. Переведіть Vertex AI на модель “принеси власний обліковий запис сервісу” (bring-your-own-service-account).
-
Ставтеся до назв гілок, описів pull request, проблем GitHub та конфігурації репозиторію як до недовіреного вхідного сигналу. Відстежуйте Unicode-обфускацію (U+3000), ланцюжки команд довжиною понад 50 підкоманд, а також зміни до `.vscode/settings.json` або `.claude/settings.json`, які змінюють режими дозволів.
-
Керуйте ідентичностями агентів так само, як ви керуєте ідентичностями привілейованих користувачів (PAM/IGA). Ротація облікових даних. Обмеження до мінімально необхідних дозволів. Розділення обов’язків між агентом, який пише код, і агентом, який його розгортає. CyberArk, Delinea та будь-яка PAM-платформа, яка підтримує нелюдські ідентичності, можуть сьогодні інтегрувати облікові дані OAuth агентів; опитування Gravitee за 2026 рік показало, що це зробили лише 21,9% команд.
-
Перевіряйте перед комунікацією. “Поки ми довіряємо, перевіряємо та валідуємо, я не проти дозволити ШІ обслуговувати це”, – сказав Рімер. Перш ніж будь-який ШІ-агент для кодування автентифікується в GitHub, Gmail або внутрішньому репозиторії, переконайтеся в ідентичності агента, його сфері доступу та людському сеансі, до якого він прив’язаний.
-
Письмово запитайте кожного постачальника перед наступним поновленням контракту. “Покажіть мені засоби управління життєвим циклом ідентичності для ШІ-агента, що працює в моєму середовищі, включаючи область доступу облікових даних, політику ротації та аудит дозволів”. Якщо постачальник не може відповісти, це буде зафіксовано як порушення.
Розрив у управлінні – трьома реченнями
Більшість CISOs інвентаризують кожну людську ідентичність і не мають жодної інвентаризації ШІ-агентів, що працюють з еквівалентними обліковими даними. Жодна IAM-система не керує ескалацією привілеїв людини та ескалацією привілеїв агента з однаковою суворістю. Більшість сканерів відстежують кожну CVE, але не можуть повідомити, коли назва гілки викрадає токен GitHub через контейнер, якому розробники довіряють за замовчуванням.
Порада Зайцева учасникам RSAC 2026 була прямолінійною: ви вже знаєте, що робити. Агенти лише зробили ціну нероблення катастрофічною.
Як захиститися (Порада ІТ-Блогу): Обов’язково перевіряйте дозволи, які ви надаєте будь-яким ШІ-інструментам. Не надавайте їм доступу до ваших облікових даних чи систем, якщо це не є абсолютно необхідним для їхньої роботи, і застосовуйте принцип найменших привілеїв.
Інформація підготовлена на основі матеріалів: venturebeat.com
