+972(54) 867-81-80|
BrandMeWeb
Трекер бесплатно
← Ко всем материалам
Безопасность бизнеса5 мин инвестиций времени

Защита активов: Как RLS спасает бизнес от уязвимостей ИИ-кода

Опубликовано:2 июля 2026

Критический риск: почему AI-генераторы кода пропускают Row-Level Security#

Row-Level Security (RLS) в PostgreSQL — это главный эшелон защиты конфиденциальных данных вашей компании при разработке на Supabase. По умолчанию создаваемые таблицы могут быть полностью открыты для чтения и записи анонимными пользователями через публичный PostgREST API.

Критическая угроза утечки данных

> Инструменты AI-кодинга (Cursor, Bolt.new, v0) регулярно генерируют стандартные SQL-миграции, забывая включить ALTER TABLE ... ENABLE ROW LEVEL SECURITY. Из-за одной пропущенной политики злоумышленники могут выгрузить всю базу пользователей или лидов за один запрос.

Пошаговый протокол полной изоляции базы данных#

Выполните эти обязательные команды для всех публичных таблиц в вашей продакшен-базе Supabase:

sql
-- Шаг 1: Активация RLS на всех таблицах
ALTER TABLE public.profiles ENABLE ROW LEVEL SECURITY;
ALTER TABLE public.domains ENABLE ROW LEVEL SECURITY;
ALTER TABLE public.domain_tasks ENABLE ROW LEVEL SECURITY;

-- Шаг 2: Политика безопасного чтения только своих данных CREATE POLICY "Пользователи читают только свой профиль" ON public.profiles FOR SELECT USING (auth.uid() = id);

-- Шаг 3: Политика безопасного обновления только своего профиля CREATE POLICY "Пользователи обновляют только свой профиль" ON public.profiles FOR UPDATE USING (auth.uid() = id) WITH CHECK (auth.uid() = id); ```

Защита от эскалации привилегий и рекурсии#

  1. 1
    **Используйте SECURITY INVOKER по умолчанию**: функции выполняются с правами вызывающего пользователя и соблюдают все ограничения RLS.
  2. 2
    **Задавайте явный SET search_path = public для SECURITY DEFINER**: при создании триггеров на регистрацию пользователя обязательно фиксируйте search path для предотвращения атак типа search-path injection.
  3. 3
    Исключите рекурсию в политиках: никогда не делайте SELECT из таблицы profiles внутри RLS-проверки на profiles. Используйте отдельную SQL-функцию is_admin() с флагом SECURITY DEFINER.
Рекомендация Chief Architect

> Проводите еженедельный аудит базы данных. Каждая таблица должна возвращать статус rls_enabled: true для 100% соответствия международным стандартам безопасности SOC 2 и GDPR.

Сканер видимости в ИИ и поиске

Рекомендуют ли ваш бренд ChatGPT и Google?

Проверьте домен в реальном времени: позиции в поиске, присутствие в AI Overviews и цитируемость в Perplexity.

Цитируемость в нейросетяхПозиции в Google SearchБез привязки карты
IS

Илья Сибиряков

В BrandMeWeb я лично проектирую архитектуру и автоматизированные воронки для каждого клиента. Мы не создаем шаблонных чат-ботов; мы перестраиваем клиентский путь — превращая сложные консультации, диагностику товаров и рутинную поддержку в бесшовные процессы с мгновенной оплатой в 1 клик и прозрачной окупаемостью (ROI).

Поделиться с командой: