Використання ШІ без витоку секретів

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

Вставлення секретів в ШІ — це те саме, що публікація їх на відкритому сайті. Ви не зможете їх відкликати.

Я використовую ШІ щодня для написання коду. Я не уникаю його. Я використовую його з урахуванням моделі загроз.

Більшість людей вважають, що промпт — це приватний чат. Це не так. Це вихідний запит.

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

Витоки даних відбуваються трьома шляхами:

  • Те, що ви вставляєте: фрагменти коду, конфігурації або трасування.
  • Те, що інструменти додають автоматично: відкриті файли, контекст репозиторію або вивід термінала.
  • Те, що модель повертає: повторені секрети в описі PR або логах.

Постачальник ШІ є довіреною третьою стороною. Ви не можете провести аудит їхніх внутрішніх конвеєрів. Ставтеся до поля введення промпту як до виклику неперевіреної мережі.

Припиніть надсилати таке:

  • Активні API-ключі або токени.
  • Вміст файлів .env.
  • Приватні ключі або сертифікати.
  • Реальні імена клієнтів, електронні адреси або платіжні дані.
  • Власну логіку, яку ви б не відкрили як open-source.

Замість цього використовуйте плейсхолдери. Використовуйте [API_KEY] або [DB_PASSWORD]. ШІ працює так само добре і з масками.

Сформуйте ці три звички:

  • Використовуйте файл ignore для ШІ. Тримайте .env та папки з секретами поза контекстом інструменту.
  • Скануйте перед надсиланням. Запускайте детектор секретів на своєму тексті перед тим, як вставити його.
  • Тримайте секрети зашифрованими. Якщо секрети існують лише в пам'яті під час виконання, ви не зможете їх вставити.

Короткий огляд ваших варіантів:

  • Безкоштовні/Споживчі: використовуйте для публічної документації або тимчасових фрагментів.
  • Платні Pro/Team: використовуйте для більшої частини інженерної роботи. Вони мають договірні гарантії захисту.
  • Локальні/Self-hosted: використовуйте для регульованих даних, які мають залишатися на вашій машині.

Гарантія відсутності навчання — це контракт. Це не технічний щит. Вона знижує ризик, але не усуває його.

Виконуйте ці кроки перед тим, як ШІ торкнеться вашого коду:

  • Додайте файл ignore для ваших ШІ-інструментів.
  • Скануйте все, що вставляєте.
  • Маскуйте всі облікові дані плейсхолдерами.
  • Використовуйте платні версії для власної розробки.
  • Використовуйте KMS, щоб тримати секрети поза відкритим текстом.
  • Перевіряйте вивід ШІ перед тим, як він потрапить у ваші логи або коміти.

Чотирисекундна відповідь все ще швидка. Просто вона більше не коштуватиме вам безпеки.

Source: https://dev.to/faizahmedfarooqui/using-ai-without-leaking-your-secrets-a-threat-model-for-ai-assisted-development-2l57

Optional learning community: https://t.me/GyaanSetuAi