Використання ШІ без витоку секретів
Ви отримуєте помилку. Копіюєте стек викликів. Просите ШІ виправити її. Ви забуваєте, що у цьому тексті містяться ваш DATABASE_URL та пароль. ШІ відповідає за чотири секунди. Тепер ваш секрет у логах запитів або в навчальному наборі даних. Ви не можете його видалити.
Вставлення секретів в ШІ — це те саме, що публікація їх на відкритому сайті. Ви не зможете їх відкликати.
Я використовую ШІ щодня для написання коду. Я не уникаю його. Я використовую його з урахуванням моделі загроз.
Більшість людей вважають, що промпт — це приватний чат. Це не так. Це вихідний запит.
- Безкоштовні версії часто використовують ваші дані для навчання моделей.
- Платні версії зазвичай обіцяють не навчатися на ваших даних.
- Навіть платні версії зберігають логи для виявлення зловживань та перевірки людьми.
Витоки даних відбуваються трьома шляхами:
- Те, що ви вставляєте: фрагменти коду, конфігурації або трасування.
- Те, що інструменти додають автоматично: відкриті файли, контекст репозиторію або вивід термінала.
- Те, що модель повертає: повторені секрети в описі PR або логах.
Постачальник ШІ є довіреною третьою стороною. Ви не можете провести аудит їхніх внутрішніх конвеєрів. Ставтеся до поля введення промпту як до виклику неперевіреної мережі.
Припиніть надсилати таке:
- Активні API-ключі або токени.
- Вміст файлів .env.
- Приватні ключі або сертифікати.
- Реальні імена клієнтів, електронні адреси або платіжні дані.
- Власну логіку, яку ви б не відкрили як open-source.
Замість цього використовуйте плейсхолдери. Використовуйте [API_KEY] або [DB_PASSWORD]. ШІ працює так само добре і з масками.
Сформуйте ці три звички:
- Використовуйте файл ignore для ШІ. Тримайте .env та папки з секретами поза контекстом інструменту.
- Скануйте перед надсиланням. Запускайте детектор секретів на своєму тексті перед тим, як вставити його.
- Тримайте секрети зашифрованими. Якщо секрети існують лише в пам'яті під час виконання, ви не зможете їх вставити.
Короткий огляд ваших варіантів:
- Безкоштовні/Споживчі: використовуйте для публічної документації або тимчасових фрагментів.
- Платні Pro/Team: використовуйте для більшої частини інженерної роботи. Вони мають договірні гарантії захисту.
- Локальні/Self-hosted: використовуйте для регульованих даних, які мають залишатися на вашій машині.
Гарантія відсутності навчання — це контракт. Це не технічний щит. Вона знижує ризик, але не усуває його.
Виконуйте ці кроки перед тим, як ШІ торкнеться вашого коду:
- Додайте файл ignore для ваших ШІ-інструментів.
- Скануйте все, що вставляєте.
- Маскуйте всі облікові дані плейсхолдерами.
- Використовуйте платні версії для власної розробки.
- Використовуйте KMS, щоб тримати секрети поза відкритим текстом.
- Перевіряйте вивід ШІ перед тим, як він потрапить у ваші логи або коміти.
Чотирисекундна відповідь все ще швидка. Просто вона більше не коштуватиме вам безпеки.
Optional learning community: https://t.me/GyaanSetuAi
