Image: AI generated
Магия тридцати секунд
«Сделай мне бэкенд.» ИИ рекомендует Supabase. Один URL — и вы получаете PostgreSQL, аутентификацию, хранилище и подписки в реальном времени. За 30 секунд логин уже работает. За 2 минуты CRUD готов.
Три месяца спустя никто не знает, кто написал эту политику RLS (Row Level Security).
Почему ИИ рекомендует его
Supabase стал выбором по умолчанию для вайб-кодинга не из-за технического превосходства. А потому что в обучающих данных слишком много туториалов о нём.
Cursor, Bolt, v0, Lovable — какой бы инструмент AI-кодинга вы ни использовали, напишите «сделай мне бэкенд» — и получите Supabase. ИИ рекомендует паттерн, который видел чаще всего. Не лучший паттерн.
Zhang et al. (ACL 2025) показали, что 7 LLM систематически отдают предпочтение определённым провайдерам без явных инструкций и автономно модифицируют код, вставляя предпочтительного провайдера. Пользователь верит, что рекомендованное ИИ — это лучшее. ИИ рекомендует то, что чаще всего встречается в обучающих данных. Это инфраструктурная версия предвзятости угодничества.
Когда логика прячется в чёрном ящике
Настоящая проблема Supabase — не сам Supabase. Проблема в том, что бизнес-логика уходит внутрь чёрного ящика.
1. Политики RLS = скрытая бизнес-логика
Row Level Security — мощный инструмент. Проблема в том: когда ИИ создаёт политики RLS, где они живут?
- Не в коде. В панели управления Supabase.
- Не в git. Нет версионирования.
- Не в тестах. Нельзя проверить в CI.
Ответа на вопрос «кто может обращаться к этой таблице?» нет в кодовой базе. Нужно войти в консоль Supabase, чтобы проверить. Агент не может это прочитать.
Если ИИ изменит политики RLS ради «наведения порядка»? Аутентификация сломается. Тестов нет — никто не знает. Обнаружится только после того, как данные клиентов утекут на продакшене.
Это не гипотеза. В 2025 году CVE-2025-48757 показал, что более 170 приложений, созданных Lovable, полностью раскрыли базы данных Supabase из-за отсутствующих политик RLS. 303 уязвимые конечные точки, утечка email-адресов, ключей API и платёжных данных. В январе 2026 года ИИ-социальная сеть Moltbook была запущена с отключённым RLS, что привело к раскрытию 1,5 млн API-токенов и 35 000 email-адресов.
2. Edge Functions = второй чёрный ящик
Бизнес-логика живёт в двух местах: в коде фронтенда и в Supabase Edge Functions. ИИ должен решать, какая логика где находится. И ИИ ошибается в этом решении.
Расчёт скидки при оплате — в Edge Function. ИИ рефакторит фронтенд и заново создаёт тот же расчёт там. Теперь скидка применяется дважды. Обнаруживается через 3 недели в отчёте о продажах.
3. Миграция = стоимость выхода
Чтобы уйти из Supabase, нужно одновременно демонтировать четыре вещи:
- Auth — структура JWT, привязанная к Supabase Auth, колбэки OAuth, управление сессиями
- Storage — структура бакетов, политики доступа, подпись URL
- Realtime — подписки WebSocket, каналы Presence
- Политики RLS — все незадокументированные бизнес-правила
Каждая из них кажется работой на один день, но все четыре переплетены между собой. Изменение Auth ломает RLS, поломка RLS открывает доступ к Storage, изменение URL Storage ломает фронтенд.
Это и есть vendor lock-in. Войти — 30 секунд. Выйти — 3 месяца.
Облачная версия ада портов
Ад портов, который вайб-кодер переживает локально — ИИ запускает сервер, не останавливает его, порты путаются, никто не знает, что работает — в Supabase это поднимается на уровень инфраструктуры.
Локальный ад портов: процессы невидимы. Ад Supabase: бизнес-логика невидима.
Оба имеют одну структуру. То, что создал агент, агент не может отследить.
Какова альтернатива?
Речь не о том, чтобы не использовать Supabase. Речь о том, чтобы не класть бизнес-логику в чёрный ящик.
Принцип: каждое решение должно жить в кодовой базе.
- Правила аутентификации → объявлены в коде, проверены тестами
- Политики доступа → объявлены с DDL + Rego, проверены в CI
- Бизнес-логика → существует в одном месте, без дублирования
- Конфигурация инфраструктуры → объявлена с Terraform/IaC, версионирована в git
Использовать Supabase для прототипирования — разумно. Но в тот момент, когда прототип переходит на продакшен, нужно вытащить логику из чёрного ящика и перенести её в декларативный слой.
Чтобы магия 30 секунд не превратилась в 3 месяца боли.
Ваши политики RLS есть в git?
Ваши Edge Functions покрыты тестами?
Вы уверены, что «cleanup» от ИИ не сломает аутентификацию?
Supabase не проблема. Проблема — прятать решения в невидимых местах.
Похожие статьи
- Reins Engineering — ИИ с поводьями — Обратная сторона чёрного ящика. Управление агентом с помощью детерминированных контрактов.
- Предвзятость угодничества ИИ — это бизнес-функция — Механизм, по которому ИИ рекомендует Supabase. Дайте мнение — получите угодничество; дайте факт — получите исправление.
- Кодовая база, в которой агент может работать — UI панели управления агент не может читать, проверять или сохранять. Кодовая база должна быть фабрикой.
- yongol — киль SaaS для AI-кодинга — Альтернатива чёрному ящику. Декларативное размещение решений в 10 источниках SSOT и перекрёстная проверка.
Источники
- Zhang, Y. et al. (2025). “The Invisible Hand: Unveiling Provider Bias in Large Language Models for Code Generation.” ACL 2025. arxiv.org/abs/2501.07849
- CVE-2025-48757 (2025). Lovable 생성 앱 170+ RLS 누락으로 Supabase DB 노출. ameeba.com
- OG William (2026). “Moltbook Hack: Supabase Vibe Coding.” 1.5M API 토큰 + 35K 이메일 노출. blog.ogwilliam.com
- Willison, S. (2025). “Supabase MCP can leak your entire SQL database.” simonwillison.net
- Cursino, D. et al. (2026). “Speed at the Cost of Quality? The Impact of AI Coding on Software.” MSR 2026. arxiv.org/abs/2511.04427
- Storey, M.-A. (2026). “From Technical Debt to Cognitive and Intent Debt.” arxiv.org/abs/2603.22106
- Encore (2026). “Backend as a Service (BaaS) in 2026: Providers, Tradeoffs, and Migration Paths.” encore.dev