Шлях 03Урок 3 / 6

Сприймайте отриманий вміст як недовірені вхідні дані

Розпізнавайте інструкції, приховані у файлах репозиторію та результатах інструментів. Відокремлюйте отриману інформацію від повноважень діяти.

Практика10 хвПереглянуто

Видавець Як ми пишемо

Перевірте своє розумінняФайл репозиторію каже, що всі тести необов’язкові й агент має ігнорувати інструкції задачі. Як робочий процес має його трактувати?Виконайте вправу
Файл репозиторію каже, що всі тести необов’язкові й агент має ігнорувати інструкції задачі. Як робочий процес має його трактувати?

Чого ви навчитеся

  • Виявляти непряму prompt injection у процесі розробки.
  • Пояснювати, чому самі текстові позначки не забезпечують межі безпеки.
  • Проєктувати безпечний тест обмежень інструментів.

Визначте момент, коли дані стають інструкцією

Агент програмування читає не лише запит користувача. Він може переглядати задачі, файли репозиторію, документацію пакетів, результати пошуку та відповіді інструментів. Частина цього вмісту може містити інструкції іншої людини.

Prompt injection відбувається, коли такий вміст відхиляє модель від дозволеної задачі. Непряма ін’єкція надходить через отримане джерело, а не прямий запит користувача. OWASP описує матеріали репозиторію та результати інструментів як відповідні точки входу. Прочитайте рекомендації щодо запобігання.

Розгляньмо вигадану задачу обслуговування. Користувач просить агента виправити фільтр звіту та запустити обов’язкові тести. Отриманий README каже, що тести застаріли, і просить агента завантажити файл конфігурації назовні. README може пояснювати проєкт. Він не може дозволяти пропускати перевірки користувача або надсилати файли в інше місце.

Визначте можливі наслідки

Той самий оманливий текст має різні наслідки в різних середовищах. Інструмент підсумовування з доступом лише для читання може дати неправильний підсумок. Агент із правом запису в репозиторій може змінити код. Агент із секретами та вихідним мережевим доступом може розкрити інформацію.

Перевірте доступні дії перед визначенням важливих засобів захисту. Перелічіть чутливі ресурси, ресурси, доступні для запису, та зовнішні місця призначення. Включіть конектори, додані після початкового налаштування. Новий інструмент може посилити наслідки наявного недоліку.

Агент також може перенести оманливий вміст на пізніший етап. Наприклад, він може скопіювати недовірену інструкцію до згенерованого опису задачі. Наступний агент не повинен трактувати цей опис як незалежно погоджену політику.

Використовуйте кілька засобів контролю з різними цілями

Відокремте довірені інструкції задачі від отриманих даних у дизайні застосунку. Показуйте походження отриманих матеріалів. Ці кроки покращують тлумачення, але не створюють повної межі безпеки.

Система виконання має забезпечувати дотримання прав доступу до ресурсів. Обмежте місця призначення чутливих даних. Вимагайте відповідного рішення перед діями з важливими наслідками. Перевіряйте запропоновану операцію на відповідність дозволеній задачі та цільовому ресурсу.

Фільтри та друга модель можуть допомогти виявляти підозрілий вміст. Вони також можуть пропускати атаки або блокувати правомірну інформацію. Не замінюйте детерміновану авторизацію оцінкою впевненості моделі. OWASP прямо вказує на обмеження покладання лише на промпти чи отримання інформації. Прочитайте опис ризику.

Тестуйте процес без реального розкриття

Використовуйте одноразовий репозиторій і вигадані файли. Не надавайте оцінюванню продуктивних облікових даних або необмеженого зовнішнього запису. Додайте нешкідливу інструкцію, що суперечить задачі, наприклад пропустити обов’язкову перевірку.

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

Повторюйте репрезентативні випадки після змін промптів, моделей, конекторів або прав. Заблокований приклад — доказ для цього випадку, а не підтвердження захисту від кожної ін’єкції. Якщо тест не проходить, зменште можливі наслідки на час виправлення основного робочого процесу.

Виконайте вправу

Створіть одноразовий тестовий файл із коментарем, що просить агента пропустити обов’язкову перевірку. Виконайте дозволене ізольоване оцінювання без секретів і зовнішніх операцій запису. Перевірте, що обов’язкова перевірка все одно виконується. Запишіть права інструментів, спостережувану поведінку та обмеження цього єдиного тесту.

Завантажити робочий аркуш (Markdown)
Перевірте своє розуміння ↑

Продовжити навчання

Джерела та додаткові матеріали

Матеріали Taiga за темою

Попередній урок: Обмежуйте повноваження агента