Mastodon Mastodon Mastodon Mastodon

Атака GitLost: як AI-агенти GitHub розкривають приватний код

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

Дослідники з Noma Security продемонстрували техніку атаки GitLost, яка дозволяє витягнути вміст приватних репозиторіїв організації через функцію GitHub Agentic Workflows. Для атаки достатньо створити звичайний issue у публічному репозиторії — без вкрадених облікових даних і без будь-якого доступу до організації. Якщо AI-агент налаштований із правами читання приватних репозиторіїв, зловмисник може змусити його опублікувати конфіденційні дані в публічному коментарі. Організаціям, які використовують попередню версію Agentic Workflows, слід негайно обмежити область дії токенів агентів одним репозиторієм.

Механізм атаки

GitHub Agentic Workflows — функція, запущена у лютому 2026 року в режимі публічного технічного попереднього перегляду. Замість написання скриптів автоматизації користувач описує інструкції для AI-агента природною мовою у Markdown-файлі. Агент самостійно читає issues та pull requests, запускає інструменти й публікує відповіді. Як рушій може використовуватися GitHub Copilot, Anthropic Claude, Google Gemini або OpenAI Codex.

За замовчуванням робочі процеси працюють у режимі «тільки читання», однак організація може надати агенту персональний токен доступу з правами читання всіх репозиторіїв, включно з приватними. Саме цю конфігурацію й експлуатує GitLost.

В основі атаки лежить непряма інʼєкція промптів (indirect prompt injection) — AI-агент не здатен надійно відрізнити інструкції власника від інструкцій, вбудованих у оброблюваний контент. За даними дослідників, у демонстрації PoC шкідливий issue був замаскований під рутинний запит від віцепрезидента з продажів після зустрічі з клієнтом. Робочий процес був налаштований на активацію під час призначення issue, читання його вмісту та публікацію відповіді в коментарі. Після автоматичного призначення агент витягнув README з приватного репозиторію та вставив його вміст у публічний коментар.

Обхід захисних механізмів

GitHub передбачив захист саме від такого класу атак. Згідно з офіційною документацією, платформа попереджає, що «AI-агенти можуть бути вразливими до маніпуляцій через інʼєкцію промптів, шкідливий вміст репозиторіїв або скомпрометовані інструменти». Продукт містить пісочницю, токени лише для читання за замовчуванням, очищення вхідних даних і етап виявлення загроз, який сканує вихідні дані агента перед публікацією.

Попри це, як повідомляють дослідники Noma, для обходу захисту виявилося достатньо додати лише одне слово — «Additionally» — перед шкідливою інструкцією. Модель інтерпретувала її як продовження завдання, а не як підозрілу команду, і захисний фільтр пропустив вивід. Варто зауважити, що саме цей обхід наразі підтверджено лише дослідниками Noma й поки що не відтворено незалежно.

Чому ця атака принципово відрізняється

За словами Сасі Леві, керівника досліджень безпеки в Noma Security, ключова відмінність GitLost від попередніх прикладів інʼєкцій промптів у тому, що атака маніпулює не тим, що агент говорить, а тим, що агент робить із наданими йому повноваженнями. У цьому випадку агент — це не вікно чату, а автентифікований актор всередині інфраструктури організації з правами читання репозиторіїв, недоступних для атакувального.

Ця конфігурація відповідає моделі, яку дослідник Саймон Віллісон назвав «смертельною тріадою»: агент має доступ до приватних даних, приймає неперевірений зовнішній вхід і має канал для виведення даних назовні. Поєднання всіх трьох умов створює шлях для витоку.

Контекст: системна проблема AI-агентів

GitLost — не ізольований випадок, а частина серії подібних атак на AI-агентів в екосистемі GitHub. У травні 2025 року Invariant Labs продемонстрували, що публічний issue може змусити агента, підключеного до MCP-сервера GitHub, прочитати приватний репозиторій і вивести дані через pull request. Дослідники охарактеризували проблему як архітектурну, без можливості серверного виправлення.

Крос-вендорне дослідження Comment and Control показало, що агенти Claude Code, Gemini CLI та GitHub Copilot можуть бути змушені розкрити власні API-ключі через текст issues та pull requests, при цьому обходячи додані GitHub засоби захисту часу виконання.

Леві підкреслює, що це не той тип помилки, який закривається патчем, — це структурний наслідок надання AI-агентам постійних облікових даних за одночасної обробки ними тексту, доступного для зловмисника. У природній мові немає чіткої межі між даними й інструкціями, як у SQL, тому рішення має спиратися на архітектуру, а не на фільтрацію.

Оцінка впливу

Область впливу обмежена організаціями, які одночасно: увімкнули попередню версію Agentic Workflows, налаштували агента на обробку неперевіреного публічного вводу та надали йому права читання приватних репозиторіїв. Однак для таких організацій потенційні наслідки серйозні — залежно від області дії токена агент може розкрити пропрієтарний вихідний код, внутрішні ключі, проєктну документацію або секрети CI/CD.

Рекомендації щодо захисту

  • Обмежте область дії токена: персональний токен доступу, який використовує робочий процес, має бути обмежений єдиним репозиторієм, що його обслуговує агент, а не надавати доступ на рівні всієї організації.
  • Обмежте вихідні канали: мінімізуйте можливості публікації для робочих процесів, що обробляють публічний вхід, — коментар агента є каналом ексфільтрації.
  • Фільтруйте авторів: налаштуйте обмеження на те, від яких авторів агент приймає контент для обробки.
  • Запровадьте ручну перевірку: розташуйте вихідні дані агента за етапом людського затвердження перед публікацією.
  • Не покладайтеся на фільтри як на межу безпеки: вбудований етап виявлення загроз GitHub — це додатковий рубіж, а не надійний барʼєр, що продемонстрував обхід одним словом.

Noma розкрила GitLost GitHub і опублікувала результати за згодою компанії. Поки функція Agentic Workflows залишається в режимі попереднього перегляду, організаціям, які її використовують, слід виходити з принципу мінімальних привілеїв: кожен AI-агент має мати доступ лише до того репозиторію, який він безпосередньо обслуговує, а будь-який вивід у публічний простір — проходити через ручне підтвердження.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.