Небезпечна обробка вихідних даних ШІ
SQL, згенерований ШІ, виконується як будь-який інший SQL. Перевіряйте його.
Що таке Небезпечна обробка вихідних даних ШІ?
Для будь-якої системи, яка отримує вихідні дані моделі, вони — недовірене введення. Щойно застосунок виконує, показує чи пересилає відповідь ШІ, модель стає частиною поверхні атаки, а звичайна перевірка введення опиняється не там, де потрібно. Ви попрацюєте з ендпоінтом, який перетворює запит природною мовою на SQL, надішлете спеціально складений параметр і побачите, як згенерований запит стає ін'єкцією, що видаляє таблицю. Жоден захід захисту не було обійдено. Ви розглянете вразливий шлях і схвалите виправлення з перевіркою за списком дозволених.
Що ви дізнаєтесь у Небезпечна обробка вихідних даних ШІ
- Визначайте поверхню атаки, яка виникає, коли згенерований ШІ вміст потрапляє без санітизації в бази даних, вебсторінки, API і системні команди
- Простежуйте наскрізний ланцюг атаки, у якому спеціально складене введення для ШІ дає шкідливі вихідні дані, що експлуатують вразливість залежної системи
- Застосовуйте перевірку й санітизацію вихідних даних на межі між компонентами ШІ та підключеними системами
- Оцінюйте засоби, які не дають використати вихідні дані ШІ для атаки, зокрема списки дозволених операцій, списки заборонених шаблонів, екранування вихідних даних і облікові записи бази даних із найменшими привілеями
- Розрізняйте випадки, коли вихідним даним ШІ можна довіряти для відображення, і випадки, коли їх треба вважати недовіреним введенням для іншої системи
Небезпечна обробка вихідних даних ШІ — Кроки навчання
-
Нова функція ШІ для тестування
Сьогодні функція Natural Language Query (NLQ) API готова до внутрішнього тестування перед виходом у продакшн. NLQ API використовує модель ШІ, щоб перетворювати запитання звичайною мовою на SQL-запити: бізнес-користувач вводить запитання, ШІ пише SQL, а API повертає результати.
-
Лист від тімліда
Аліса отримує лист від свого тімліда Джеймса Парка: ендпоінт NLQ API розгорнуто в середовищі staging, і його вже можна тестувати.
-
Відкриття Тестера API
Аліса відкриває «Тестер API», щоб почати надсилати запити до ендпоінта NLQ. Так вона зазвичай перевіряє нові функції API, перш ніж вони запрацюють.
-
Простий тестовий запит
Аліса починає з простого запиту, щоб переконатися, що API працює. Ендпоінт NLQ приймає запити GET з параметром запиту, що містить запитання природною мовою.
-
Відповідь API
API повернув п'ять записів про клієнтів, які відповідають запиту. Відповідь виглядає цілком нормально.
-
Згенерований SQL
Панель SQL Query Analysis («Аналіз SQL-запиту») показує, що саме ШІ згенерував зі введеного запитання. Саме цей запит виконано в базі даних.
-
Потік даних
Візуалізація ланцюга показує, як дані проходять увесь шлях від запитання користувача природною мовою до результату з бази даних.
-
Тестування зі зловмисним введенням
Аліса вирішує перевірити стійкість API. Що, якщо користувач додасть до запиту природною мовою синтаксис SQL-ін'єкції? Надійна система має або відхилити таке введення, або очистити його. Вона складає параметр запиту, який вбудовує команду DROP TABLE у промпт природною мовою.
-
Шкода у відповіді
Відповідь надійшла, але щось дуже не так. Уважно перегляньте тіло відповіді.
-
SQL з ін'єкцією
Панель SQL показує, що саме згенерував ШІ. Пейлоад ін'єкції дослівно перетворено на SQL, який можна виконати.
Охоплення стандартів безпеки
OWASP LLM Top 10
- LLM10:2026 Improper Output Handling
- LLM05:2025 Improper Output Handling
CWE
- CWE-1426 Improper Validation of Generative AI Output
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
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