Аудит безопасности проекта на вайб-коде
Аудит безопасности вайб-кода проверяет места, где ИИ ошибается чаще всего: секреты в коде и сборке, права доступа к данным, правила базы (RLS, Firebase Rules), открытые админские маршруты, проверку входных данных, лимиты на платные API и уязвимые зависимости. Результат — отчёт с приоритетами и исправление критичных дыр.
Первая помощь и как чиним
- 1Секреты
Ищем ключи в коде, истории git, собранном фронтенде и логах.
- 2Доступ к данным
Проверяем авторизацию каждого эндпоинта, RLS или правила Firebase, админские маршруты.
- 3Входные данные
SQL-инъекции, XSS, загрузка файлов, подмена сумм и идентификаторов.
- 4Злоупотребления
Лимиты частоты запросов на вход, формы и вызовы платных API.
- 5Отчёт и исправления
Список находок с приоритетом, исправляем критичное сразу, остальное — по плану.
Чинить самому или отдать в «аптечку»
Мы уже наступили на эти грабли — вам не придётся
Аптечка: что с проектом?
3 вопроса — и мы скажем, сколько стоит починка. Чек-лист безопасности проекта в подарок.
Интервью с собственником и РОПом, аудит текущей CRM и источников заявок.
1–3 дняВоронки, роли, точки контроля. Согласуем до того, как что-то настраивать.
3–5 днейНастраиваем Битрикс24 и дописываем недостающие инструменты. Демо каждую неделю.
1–4 неделиОбучение, база знаний, поддержка. Дорабатываем, пока цифры не поедут вверх.
дальше — с вамиПодробнееразвёрнутое описание, этапы и нюансы
Проекты на вайб-коде уязвимы не потому, что ИИ «плохой», а потому, что он оптимизирует под задачу «чтобы работало». Безопасность — это вопрос «что если кто-то будет делать не то, что задумано», а такой вопрос ИИ задаёт себе редко. Обзор типовых проблем есть в статье «Аптечка вайб-кода: 8 проблем»; здесь — подробный перечень того, что проверяем при аудите.
Почему так происходит
- Демо-мышление. Код пишут под одного честного пользователя.
- Безопасность в невидимых местах. Правила базы, заголовки, лимиты не видны на экране, поэтому их не проверяют.
- Копирование примеров. Учебные примеры с открытыми правилами и ключом во фронтенде попадают в прод.
- Доверие к клиенту. Сервер верит всему, что прислал браузер: роли, сумме, идентификатору пользователя.
Что проверить самому
Этот чек-лист — минимальный самоаудит на час:
- Ключи в сборке. Соберите проект и поищите секреты в результате:
grep -rEo "sk-[A-Za-z0-9_-]{20,}|sb_secret_[A-Za-z0-9_-]+|service_role" dist/ .next/static/ 2>/dev/null
- История git.
git log -p -S "sk-" --all— не было ли ключей раньше. - Чужие данные. Вторым аккаунтом попробуйте открыть заказ или профиль первого.
- База. В Supabase RLS включён на всех таблицах; в Firebase нет
allow read, write: if true. - Админка. Админские адреса не открываются без входа и под обычным пользователем.
- Платные API. Эндпоинт, вызывающий OpenAI или Claude, требует входа и имеет ограничение частоты. Лимит расходов задан в кабинете провайдера.
- Зависимости.
npm audit --omit=dev— нет ли критичных уязвимостей. - Загрузка файлов. Проверяется тип и размер, файлы не исполняются на сервере.
- Персональные данные. Не пишутся в логи и, по закону РК о персональных данных, хранятся в базе на территории Казахстана.
Если хоть один пункт вызывает сомнение — это повод для полноценного аудита.
Когда звать разработчика. Если самоаудит нашёл ключ в сборке, открытую таблицу или чужие данные под вторым аккаунтом, действуйте сразу: отзовите ключи и закройте доступ, даже временно отключив функцию. Дальше нужен человек, который проверит не только эти места, но и всю логику доступа: обычно одна найденная дыра означает, что рядом есть ещё несколько того же типа. Если вы не уверены, как читать результат команд выше, это тоже нормальный повод обратиться за аудитом, а не гадать.
Как чиним мы
Проводим аудит по перечню выше и глубже: читаем код серверной части и правила базы, пробуем атаки на логику доступа под разными ролями, проверяем инфраструктуру — открытые порты, SSH, HTTPS, заголовки. Отдаём отчёт, где каждая находка описана простыми словами: что не так, чем грозит, как исправить и насколько срочно. Критичное исправляем сразу: отзываем и выносим ключи, закрываем доступ к чужим данным, включаем RLS и лимиты. Подробнее — на странице «Аптечка вайб-кода».
Сколько стоит
Диагностика — 50 000 ₸, аудит безопасности и вынос ключей — 60 000 ₸, итого от 110 000 ₸ для небольшого проекта. Для кабинетов с ролями и большого числа интеграций действует коэффициент размера. Рассчитайте в калькуляторе.
Частые вопросы
Чем аудит отличается от проверки сканером?
Сканер находит известные уязвимости библиотек и простые ошибки конфигурации. Дыры в логике доступа — кто какие данные может видеть — находит только человек, понимающий проект.
Проект маленький. Нужен ли аудит?
Если там есть персональные данные клиентов, оплата или платный API — да. Размер проекта не мешает боту найти открытую базу или ключ.
Вы даёте гарантию, что после аудита взлома не будет?
Абсолютной гарантии не даёт никто. Аудит закрывает типовые и найденные дыры и сильно снижает риск.
Сделаем так же у вас
Короткий созвон — и вы знаете срок и цену. Или посчитайте сами за 2 минуты.