одиниця 10 / 12

Безпечне використання: відсутність витоків і конфіденційність

Прибуток:

  • Здатність класифікувати дані, що містять секрети, персональні дані та конфіденційні бізнес-активи та розпізнавати червоні лінії
  • Маскування, анонімізація та захист синтетичними даними перед введенням даних
  • Схвалений вибір інструментів, мінімізація контексту та можливість застосувати рефлекс обертання ключа у разі витоку

Все, що ви вставляєте в помічник кодування, потенційно виходить з-під вашого контролю. Ключ API, дамп бази даних клієнтів, ще не оголошений власний вихідний код або історія пацієнта — це може стати незворотним витоком, коли вони потрапляють у несхвалений інструмент. Найбільший ризик штучного інтелекту для команд програмного забезпечення виникає не через помилку рядка, а через необережне копіювання та вставлення. Цей блок призначений для безпечного копіювання та вставлення.

Тут ми розрізняємо три речі: які дані ніколи не слід вводити, які інструменти можна використовувати з якими гарантіями та як захистити дані перед їх введенням (маскування, синтетичні дані, локальна робота). Це не необов’язкове «було б непогано»; У більшості установ це договірне та юридичне зобов’язання.

Чому це так критично?

Дані, які ви надсилаєте в інструмент ШІ; обробляються на серверах провайдера, іноді зберігаються протягом певного часу, можуть бути використані для покращення моделі в деяких налаштуваннях продукту. Сказати «Я видалив чат» часто недостатньо; Коли дані залишають мережу, виникає ризик. Крім того, ціна витоку є високою: витік хмарного ключа може бути використаний неналежним чином за лічені хвилини, витік даних клієнта може призвести до сповіщення та штрафних санкцій згідно з правилами, такими як KVKK/GDPR, а витік приватного вихідного коду може знищити конкурентну перевагу.

Отже, емпіричне правило просте: не вводьте нічого в несхвалений автомобіль, який ви не можете дозволити собі втратити. Якщо сумніваєтеся, не входьте.

Застереження: менталітет «лише один раз і швидко» є найпоширенішою причиною витоків. Вставлення робочого журналу або файлу конфігурації під час усунення термінової помилки — це саме те, що відбувається з такими рішеннями, прийнятими під тиском. Терміновість не призупиняє дію правила конфіденційності.

Що ніколи не можна вводити (червона лінія)

  • Секрети: ключі API, паролі, ключі доступу до хмари, приватні сертифікати, токени, рядки підключення.
  • Особисті дані (PII): ім’я та прізвище, ідентифікаційний номер TR ID, електронна пошта, телефон, адреса, медичні/фінансові записи, дані клієнта.
  • Конфіденційні бізнес-активи: нерозкритий вихідний код, запатентовані алгоритми, секрети внутрішньої архітектури, деталі контракту.
  • Регульовані дані: спеціальні захищені категорії, такі як охорона здоров’я, платіжні картки (PCI), особисті фінанси.

Крок за кроком: безпечне використання

  1. Класифікуйте дані. Яка у вас категорія — публічна, внутрішня, конфіденційна, регульована?
  2. Виберіть автомобіль за класом. Конфіденційні/регульовані дані обробляються лише в інституційно схвалених інструментах, які забезпечують надійність даних (невикористання в освіті, ліміт зберігання, регіональна обробка).
  3. Захист перед входом. Видаляйте секрети, маскуйте/анонімізуйте ідентифікаційну інформацію, використовуйте синтетичні (сфабриковані, але реалістичні) дані замість реальних, якщо можливо.
  4. Мінімізуйте контекст. Зведіть проблему до найменшого відтворюваного прикладу, який не містить чутливих частин.
  5. Також перевірте вихід. Переконайтеся, що в коді, створеному штучним інтелектом, немає жорстко закодованого секрету чи залишків ваших даних.

Три міні-чохли

Випадок 1 — вставлений ключ було скасовано. Розробник вставив весь файл конфігурації в AI під час виправлення помилки; Файл містив активний ключ API третьої сторони. Коли команда помітила, вони негайно скасували (повернули) ключ і виготовили новий; Зловживань не було, але це був «дешевий» інцидент. Урок: видаліть глазур перед наклеюванням — і негайно поверніть ключ, якщо він потекла.

Випадок 2 — Синтетичні дані врятували бізнес. Команда зіткнулася з помилкою аналізу фактичних записів клієнтів. Замість того, щоб вводити реальні дані, вони створили 20 рядків синтетичних даних з такою ж структурою, але повністю фальшивих, відтворили помилку з ними та усунули її за допомогою ШІ. Ані витік ідентифікаційної інформації, ані діагностика сповільнилися; синтетичні дані були безпечними та достатніми.

Випадок 3 — Прихований секрет у роздруківці. Під час генерації зразка конфігурації AI вставив у нього реалістичний «зразок» ключа та вставив його в код, не помітивши розробника; Базове сканування коду (секретний сканер) виявило це та попередило. Незмінний секрет ніколи не повинен був потрапити в код; Правильним способом було використання змінної середовища або менеджера секретів. Урок: також скануйте вихідні дані на наявність секретів.

Чотири шаблони, які можна копіювати

Контрольний список маскування перед входом (самостійно):

Перш ніж передати цей текст штучному інтелекту, переконайтеся, що я видалив наступне та замінив знайдене на [МАСКОВАНЕ]: ключ API, пароль, маркер, рядок підключення, ім’я та прізвище, електронну адресу, телефон, ідентифікаційний номер, дані клієнта. Текст:{{текст}}

Генерація синтетичних тестових даних:

Згенеруйте ПОВНІСТЮ сфабриковані (не пов’язані з реальною особою/установою) {{N}}ряд тестових даних відповідно до схеми нижче. Зробіть так, щоб це виглядало реалістично, але не використовуйте справжню ідентифікаційну інформацію. Схема: {{поля та типи}}Включає граничні випадки (порожній, межовий, неправильний формат).

Виправлено секретне полювання (в коді):

Шукайте жорстко закодований секрет у цьому коді/конфігурації: ключ, пароль, маркер, спеціальна URL-адреса. Якщо ви його знайдете, вкажіть його розташування та запропонуйте правильний метод (змінна середовища / секретний менеджер). Код:{{code}}

Оцінка відповідності транспортного засобу (за класом даних):

У мене є дані такого типу: {{клас: загальнодоступний / внутрішній / конфіденційний / регламентований}}. Інструмент, яким я збираюся скористатися: {{tool}}. Які заходи захисту (зберігання, невикористання в освіті, регіон, доступ) я маю підтвердити перед обробкою цих даних у цьому інструменті? Дайте контрольний список. Рішення за мною; Ви уточніть критерії.

Слабка підказка / Сильна підказка

Слабкий: (вставлення 200 рядків реального користувача, отриманих із робочої бази даних) «Чому в цих даних є помилка аналізу?»
Сильно: «Нижче наведено 15 рядків із такою ж структурою, що й реальні дані, але повністю синтетичні (без ідентифікаційної інформації). parse_user() видає ValueError у 3, 8 і 12 із цих рядків. Який може бути загальний шаблон, як це виправити?»

Надійна версія не містить реальних особистих даних, але зберігає структуру, необхідну для відтворення помилки. Діагноз залишається той самий, ризик скидається.

Клас даних

Чи можна це обробити в ШІ?

Передумова

громадськість

так

Внутрішнє використання (неточний)

Загалом

Дотримуватись корпоративної політики

Конфіденційно (вихідний код, комерційна таємниця)

Лише схвалений автомобіль

Корпоративне забезпечення + мінімізація

ПІІ / регламент

Як правило ні

Маскування/анонімність або використання синтетики

Відповідність політиці та відстеження

Безпечне використання — це більше, ніж особиста звичка, це корпоративна система: які інструменти схвалено, який клас даних куди можна використовувати та що робити у разі порушення, має бути визначено в письмовій політиці. Якщо стався витік секрету, найважливішим першим кроком є ​​не панікувати, а негайно повернути (скасувати та створити новий) витік облікових даних і повідомити про інцидент. Якщо ви не знаєте список затверджених у вашій організації інструментів і правил класифікації даних, ваше перше завдання — вивчити їх.

Порада: визначте спеціальний для проекту список «ігнорування» (наприклад, .env, приховані папки, файли ідентифікацій) у вашому редакторі/інструменті CLI, щоб ці файли випадково не включалися в контекст помічника. Профілактика завжди дешевша за очищення.

Поширені помилки

  • Вставлення конфіденційних даних «лише один раз». Терміновість не зупиняє червону лінію; Тут найчастіше відбувається витік.
  • Думаючи: «Я видалю розмову». Коли дані залишають мережу, виникає ризик; Видалення не скасовує його.
  • Вибір автомобіля без огляду на клас. Обробка конфіденційних корпоративних даних в особистому кабінеті є серйозним порушенням.
  • Вихід не сканується. AI може вбудовувати незмінний секрет у код; Також огляньте виробництво секретним сканером.
  • Не повертати його, коли секрет витікає. Невідкликання витоку ключа перетворює витік на активний експлойт.

Підсумовуючи

Найбільший ризик штучного інтелекту в програмному забезпеченні полягає в витоку конфіденційності, і здебільшого він виникає через рішення копіювати та вставляти, прийняте під тиском. Правило чітке: секрети, особисті дані, конфіденційні бізнес-активи та регульовані дані не вводяться в несхвалені інструменти. Класифікуйте дані перед введенням, вибирайте агента за класом, вилучайте секрети, маскуйте ідентифікаційну інформацію або використовуйте синтетичні дані, мінімізуйте контекст, а також скануйте вихідні дані на наявність секретів. Якщо стався витік, перше: поверніть облікові дані та повідомте про це.

Аплікаційне завдання

Візьміть фрагмент коду/журналу/даних, які ви нещодавно надали (або збираєтеся надати) ШІ. По-перше, визначте таємні та ідентифікаційні кандидати за допомогою шаблону «контрольного списку маскування». Тоді, якщо він містить реальні дані, створіть версію, ідентичну до шаблону «генерація синтетичних тестових даних», але повністю створену, і зробіть так, щоб ваша проблема була відтворена за допомогою неї. Нарешті, знайдіть і прочитайте затверджений список інструментів вашої установи та політику класифікації даних; В іншому випадку зверніть увагу на це пропуск.

контрольний список

  • [ ] Я класифікую дані перед їх введенням (відкриті/внутрішні/конфіденційні/підлягають регулюванню).
  • [ ] Я ніколи не вводжу секрети, ідентифікаційну інформацію та конфіденційні бізнес-активи в несхвалені інструменти.
  • [ ] Я використовую маскувальні або синтетичні дані, коли це можливо, замість реальних даних.
  • [ ] Я зводжу контекст до найменшого прикладу, який не містить делікатних частин.
  • [ ] Я сканую вихідні дані штучного інтелекту на пошук надійно прихованого секрету.
  • [ ] Я знаю, що якщо станеться витік секрету, я негайно поверну ідентифікаційну інформацію та повідомлю про інцидент.