Вплив
Неможливість захистити програми, створені AI, може призвести до розкриття конфіденційних облікових даних інфраструктури та особистих даних користувача. У разі витоку секретів зловмисники можуть отримати повний доступ до сторонніх служб або внутрішніх систем [S1]. Без належного контролю доступу до бази даних, наприклад безпеки на рівні рядків (RLS), будь-який користувач може запитувати, змінювати або видаляти дані, що належать іншим [S5].
Основна причина
Помічники кодування AI генерують код на основі шаблонів, які не завжди можуть включати специфічні для середовища конфігурації безпеки [S3]. Це часто призводить до двох основних проблем:
- Жорстко закодовані секрети: AI може запропонувати рядки-заповнювачі для ключів API або URL-адрес бази даних, які розробники ненавмисно передають для контролю версій [S1].
- Відсутні елементи керування доступом: на таких платформах, як Supabase, таблиці часто створюються без безпеки на рівні рядків (RLS), увімкненої за замовчуванням, що вимагає явних дій розробника для захисту рівня даних [S5].
Конкретні виправлення
Увімкнути секретне сканування
Використовуйте автоматизовані інструменти для виявлення та запобігання надсиланню конфіденційної інформації, як-от маркерів і закритих ключів, у ваші сховища [S1]. Це включає в себе налаштування захисту від push для блокування комітів, що містять відомі секретні шаблони [S1].
Запровадження безпеки на рівні рядка (RLS)
Використовуючи Supabase або PostgreSQL, переконайтеся, що RLS увімкнено для кожної таблиці, що містить конфіденційні дані [S5]. Це гарантує, що навіть якщо ключ на стороні клієнта скомпрометовано, база даних примусово застосовує політики доступу на основі особи користувача [S5].
Інтеграція сканування коду
Включіть автоматичне сканування коду в конвеєр CI/CD, щоб виявити загальні вразливості та неправильні налаштування безпеки у вашому вихідному коді [S2]. Такі інструменти, як Copilot Autofix, можуть допомогти у вирішенні цих проблем, пропонуючи безпечні альтернативи коду [S2].
Як FixVibe перевіряє це
FixVibe тепер покриває це за допомогою кількох перевірок у реальному часі: — Сканування репозиторію: repo.supabase.missing-rls аналізує файли міграції Supabase SQL і позначає загальнодоступні таблиці, створені без відповідної міграції ENABLE ROW LEVEL SECURITY [S5].
- Пасивні секретні перевірки та перевірки BaaS: FixVibe сканує пакети JavaScript того самого походження на наявність витоку секретів і конфігурації Supabase [S1].
- Перевірка Supabase RLS лише для читання:
baas.supabase-rlsперевіряє розгорнуту експозицію Supabase REST без зміни даних клієнта. Активні закриті зонди залишаються окремим робочим процесом із закритою згодою.
