AI Coding Security: Prompt Injection Is Hiding In Your Project Files

Ваш ШІ-помічник для кодування читає кожен файл у вашому репозиторії. Він читає ваш README, ваші конфігураційні файли та ваші правила. Він використовує ці файли, щоб вирішити, як писати код.

Нова загроза безпеці експлуатує саме таку поведінку. Дослідники виявили вразливість у 28 різних інструментах ШІ-кодування. Ця атака — не складний хакерський злам. Це звичайний текстовий файл у вашому репозиторії.

Як працює атака:

Ви клонуєте проєкт із відкритим вихідним кодом. Він виглядає нормально. Ви відкриваєте його у своєму ШІ-редакторі та просите додати нову функцію. Ви не бачите прихованих Unicode-символів у конфігураційних файлах. Ці символи приховують інструкції від вас, але наказують ШІ зробити щось інше.

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

Чому це важко зупинити:

  • Hidden characters: Ви бачите звичайний текст, але ШІ бачить шкідливі команди через невидимі Unicode-символи.
  • Every file is an entry point: README або коментар у бібліотеці може містити шкідливе навантаження.
  • High permissions: ШІ-агенти часто працюють із вашими правами користувача. Вони можуть читати ваші SSH-ключі та API-токени.
  • Tool calls: ШІ використовує виклики інструментів для виконання команд. Атака спрямована на ці виклики, щоб обійти навчання з безпеки.

Як захистити свій робочий процес:

  • Sanitize file contents: Очищуйте вміст файлів від прихованих символів та поширених патернів ін'єкцій перед тим, як ШІ їх прочитає.
  • Use sandboxes: Запускайте ШІ-агентів у контейнерах без доступу до мережі та з файловими системами лише для читання.
  • Set strict policies: Створіть білий список дозволених команд. Вимагайте підтвердження людиною для будь-якої команди, яка переміщує дані або видаляє файли.

Ви можете провести швидке сканування перед сесіями кодування. Перевірте свої файли на наявність підозрілих термінів, таких як "ignore all previous", "curl" або "exfil".

Інструменти ШІ-кодування продуктивні, але вони припускають, що файли на вашому диску є безпечними. Це не так. Ставтеся до кожного файлу як до неперевірених вхідних даних.

Як ви справляєтеся з ризиками промпт-ін'єкцій у своєму робочому процесі з ШІ?

Source: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9