Ін'єкція коду в агента ШІ
Прочитайте пул-реквест від ШІ, перш ніж схвалите бекдор.
Що таке Ін'єкція коду в агента ШІ?
Агенти ШІ для написання коду перетворюють текст на команди, які виконуються з вашими привілеями, причому цей текст не обов'язково надходить від вас. Заявка, коментар чи файл конфігурації, які агент читає як контекст, можуть містити вказівки, і згенерований скрипт їх виконає. Це ASI05 з OWASP Top 10 для агентних застосунків. Ви підкинете вказівку в поле заявки, вміст якого ніхто не очищує, простежите, як вона проходить крізь генерування коду до влитого пул-реквесту та бекдора, що краде ключі SSH, а потім навчитеся перевіряти код, написаний ШІ, до його виконання.
Що ви дізнаєтесь у Ін'єкція коду в агента ШІ
- Знаходьте підсунуті команди в коді та скриптах оболонки, які згенерував ШІ: на вигляд вони цілком нешкідливі
- Простежуйте шлях зловмисних вхідних даних: від змінених файлів із вихідним кодом через генерування коду до готового виконуваного результату
- Аналізуйте наслідки для безпеки, коли код, згенерований ШІ, виконується з повними привілеями користувача в системі
- Оцінюйте, наскільки ефективні пісочниця, рев'ю коду та статичний аналіз як захист від ін'єкції коду через ШІ
- Систематично перевіряйте скрипти, згенеровані ШІ, перед виконанням: шукайте типові шаблони ін'єкцій, зокрема зворотні оболонки, викрадення змінних середовища та підміну конфігурації
Ін'єкція коду в агента ШІ — Кроки навчання
-
Розвідка конвеєра CI/CD
Боб склав карту конвеєра розгортання інфраструктури CypherPeak. П'ять агентів ШІ працюють послідовно — від читання заявок у проєкті аж до розгортання коду в продакшні. Особливо Бобові впав в око один із них: Генератор коду читає описи заявок як необроблені вимоги.
-
Прощупування API заявок
Боб відкриває інструмент для тестування API, щоб переконатися, що API заявок приймає запити без автентифікації. Він надсилає пробний запит на публічний ендпоінт, не вказуючи жодних облікових даних.
-
Жодної санітизації вводу
API прийняв пробну заявку, не вимагаючи автентифікації. Відповідь підтверджує: описи розбираються як необроблені вимоги, без санітизації вводу, — саме той вектор, який потрібен Бобові, щоб підсунути приховану вказівку.
-
Створення заявки
Боб створює заявку, яка виглядає як звичайний запит на зміну інфраструктури. Але в полі опису сховано вказівку для Генератора коду: вбудувати бекдор у наступний скрипт розгортання, замаскований під стандартний модуль телеметрії.
-
Надсилання спеціально створеної заявки
Боб повертається до «Тестера API». Ендпоінт API заявок після пробного запиту лишився налаштованим. Боб вставляє в тіло запиту JSON спеціально створеної заявки й надсилає його.
-
Конвеєр обробив заявку
Заявку прийняли й автоматично провели через увесь конвеєр. Парсер заявок витягнув вимоги, Генератор коду перетворив їх на скрипт розгортання разом із прихованим бекдором, а ШІ-рев'юер коду його схвалив, бо підсунутий код збігається зі стандартними шаблонами моніторингу.
-
Звичайне рев'ю коду
Аліса починає ранок у CypherPeak. Вона, DevOps-інженерка, перевіряє скрипти розгортання, перш ніж вони потраплять у продакшн, зокрема й ті, що автоматично генерує BuildBot. Уже кілька місяців BuildBot видає бездоганний інфраструктурний код. Репутація в нього чиста.
-
Пул-реквест від BuildBot
Надходить новий лист із системи CI/CD. BuildBot згенерував пул-реквест з оновленням інфраструктури: додав моніторинг працездатності до скрипта розгортання на staging. ШІ-рев'юер коду вже його схвалив.
-
Перегляд diff
Аліса переходить до пул-реквесту, щоб переглянути зміни в коді. У diff видно нову функцію моніторингу, додану до скрипта розгортання.
-
Автоматичне схвалення
Аліса переглядає diff. ШІ-рев'юер коду вже його схвалив. Джейк Родрігес залишив коментар із запитанням про рядок base64, проте автоматичний рев'юер BuildBot жодних проблем не виявив. Зміни виглядають як звичайне додавання моніторингу працездатності.
Охоплення стандартів безпеки
OWASP Agentic Top 10
- ASI05:2026 Unexpected Code Execution (RCE)
CWE
- CWE-94 Improper Control of Generation of Code ('Code Injection')
- CWE-1427 Improper Neutralization of Input Used for LLM Prompting
CIS Controls
- CIS 16 Application Software Security
NIST CSF
- PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
- PR.PS Platform Security