Ви не можете запобігти Prompt Injection. То що ж тоді робити?
Припиніть намагатися створити ідеальну системну інструкцію (system message). Припиніть чекати на кращу версію моделі, яка виправить безпеку.
Prompt injection неминучий. Жодна модель не може надійно відхиляти шкідливі інструкції, якщо вони виглядають як команди. Якщо ви будуєте свою безпеку навколо ідеї про ідеальні моделі, ви зазнаєте невдачі.
Змініть фокус. Не питайте, як запобігти ін'єкції. Питайте, що ваш агент може зробити після того, як ін'єкція відбудеться успішно.
Дотримуйтесь цих правил, щоб обмежити збитки:
- Використовуйте облікові дані з обмеженими можливостями. Надавайте агенту лише ті дозволи, які необхідні для поточного завдання. Агент із доступом лише для читання завдасть менше шкоди, ніж агент із ключем адміністратора.
- Обмежуйте деструктивні дії. Вимагайте другий фактор або ручну перевірку для таких дій, як видалення, оплата або надання доступу. Не дозволяйте моделі самостійно вирішувати, чи є ці дії безпечними.
- Ставтеся до всіх зовнішніх вхідних даних як до ненадійних. Це стосується повідомлень користувачів, вебсторінок, результатів роботи інструментів та документів. Дані часто перетворюються на інструкції, коли потрапляють у контекстне вікно.
- Стежте за результатами роботи інструментів. Багато фреймворків передають логи інструментів безпосередньо в контекст моделі. Дослідження 17 022 навичок агентів виявило витік облікових даних через логи налагодження у 73,5% випадків. Видаляйте конфіденційну інформацію з результатів роботи інструментів перед тим, як вони потраплять до моделі.
- Моніторте поведінку, а не лише якість. Агент, якого було захоплено, створює високоякісний текст, одночасно виконуючи несанкціоновані дії. Ви повинні встановити базовий рівень нормальних послідовностей дій і сповіщати про відхилення.
Використовуйте ці три рівні моніторингу поведінки:
- Статичні правила: Виявляйте очевидні зміни, наприклад, коли агент раптово починає надсилати електронні листи.
- Патерни послідовностей: Позначайте дії, які не відповідають звичному формату роботи агента.
- Незалежний перегляд: Використовуйте другу модель для оцінки роботи основного агента.
Якщо ваш агент використовує пам'ять, тримайте її чистою. Одна ін'єкція може записати «отруєний» факт, який повторюватиметься в кожній сесії. Обмежуйте область пам'яті для кожного окремого екземпляра та відстежуйте походження кожної одиниці інформації.
Якщо агента захоплять прямо зараз, чи побачите ви це у своїх логах? Чи ви дієте наосліп?
Джерело: https://dev.to/brennhill/you-cant-prevent-prompt-injection-so-what-do-you-actually-do-1d37
Додаткова спільнота для навчання: https://t.me/GyaanSetuAi
