# Вайбкодинг выкатывает приложение, а вместе с ним — утечку

В январе запустилась ИИ-соцсеть Moltbook; основатель хвастался, что «не написал ни строчки кода». Через три дня исследователи нашли всю её базу открытой миру — 1,5 миллиона токенов доступа, 35 000 адресов почты, личные сообщения. Это не случайность. Исследования снова и снова находят, что примерно 45% сгенерированного ИИ кода содержит известную уязвимость. Демо теперь бесплатно. А проверка безопасности — это то, что вайбом не сделать, и счёт за её пропуск — чьи-то данные.

- **Author:** Фёдор Чищин
- **Published:** 2026-06-06
- **Tags:** security, methodology, ai-native
- **Source:** https://fedorthinks.com/ru/blog/vibe-coding-ships-the-breach

---

В январе с шумом запустилась ИИ-соцсеть Moltbook. Её основатель сказал вслух
тихую часть: он
[«не написал ни строчки кода»](https://www.infosecurity-magazine.com/news/moltbook-exposes-user-data-api/),
он собрал всё на ИИ-инструментах. Через три дня исследователи из Wiz нашли всю
боевую базу открытой в интернете — **1,5 миллиона токенов доступа, 35 000 адресов
почты и личные сообщения пользователей,** читаемые любым, кто посмотрит.

Причина почти неприлично показательна. Сгенерированный ИИ код положил ключ от базы
прямо в JavaScript на стороне браузера и так и не включил row-level security — ту
самую настройку, что превращает этот ключ из мастер-ключа в безобидную метку. С ней
ключ можно безопасно показывать. Без неё этот ключ — входная дверь, подпёртая
открытой. Агент написал код, который работал в демо и был нараспашку в продакшене,
и разницу никто не проверил.

Moltbook — не случайность. Это предсказуемая форма куда более крупной проблемы, и
если вы выкатываете написанный ИИ код, стоит понять, _почему_ это повторяется.

## Цифра, которую никто не хочет на слайде

Исследования здесь удивительно согласованы, и они плохи. Тесты Veracode показали,
что
[около 45% сгенерированного ИИ кода вносит известную уязвимость по OWASP](https://www.veracode.com/blog/spring-2026-genai-code-security/) —
и, что уничтожающе, доля «прохождения по безопасности» держится около 55% уже два
года якобы революционных обновлений моделей. Модели стали умнее писать код.
Безопаснее они не стали.

Дальше накапливается. Независимый анализ нашёл, что у произведённого ИИ кода
[в 2,74 раза выше уровень уязвимостей, чем у написанного человеком](https://www.softwareseni.com/ai-generated-code-security-risks-why-vulnerabilities-increase-2-74x-and-how-to-prevent-them/),
он не защищается от XSS в 86% случаев и уязвим к log injection в 88% образцов. И это
вылезает в реальности: только за март Vibe Security Radar из Georgia Tech
[зафиксировал 35 новых CVE, вызванных прямо ИИ-кодом, против шести в январе](https://thenewstack.io/vibe-coding-could-cause-catastrophic-explosions-in-2026/).
Кривая утечек гнётся не туда, и быстро.

## Почему модель по умолчанию пишет небезопасный код

Дело не в том, что модель глупая. Она делает ровно то, о чём попросили.

Вы говорите агенту «сделай мне форму регистрации» — и он делает: форма работает.
Безопасности не было в запросе, значит, её нет и в ответе. Модель оптимизирует то,
что видно в демо: счастливый путь, где правильный пользователь делает правильное.
У неё нет чутья на несчастливый путь, потому что он невидим. Никто _смотрящий
демо_ не пытается прочитать чужие данные, внедрить скрипт или задолбить эндпоинт.
Это делает атакующий — позже, когда вы не смотрите.

В этом вся ловушка. То, что вайбкодинг умеет хуже всего, — ровно та часть, которой
не видно в демо, а безопасность — это _сплошной_ несчастливый путь. Тот самый баг с
вывернутой логикой авторизации вылез в
[более чем 170 боевых приложениях](https://modall.ca/blog/vibe-coding-security-risks):
ИИ написал контроль доступа, который блокировал залогиненных и давал анонимам полный
доступ. В демо работало, потому что основатель, который тестировал, был залогинен.
Дыра открывается только для того, кто нет.

## Безопасность — это проверка, которую вайбом не сделать

Я уже писал, что
[дешёвый код — дорогой](/blog/cheap-code-is-expensive): стоимость ИИ-кода не
исчезает, она съезжает вниз по течению к тому, кто его сопровождает. Безопасность —
самая острая версия этого счёта, потому что платите его не вы. Его платят ваши
пользователи своими утёкшими данными, и приходит он весь сразу.

Это не значит «не строй на ИИ». Я строю с агентами каждый день. Это значит, что
генерация и проверка — разные работы, а ИИ схлопнул только первую. Несколько вещей
без вариантов, выученных лёгким путём — наблюдая, как другие учат их тяжёлым:

- **Считайте, что любой секрет, который разместил агент, лежит не там, пока не
  проверили.** Ключ Moltbook в браузерном JavaScript — самый частый провал. Ищите
  ключи грепом; уносите на сервер.
- **Включайте скучные ограждения, которые платформа уже даёт.** Moltbook умер,
  потому что [row-level security](/blog/agents-need-boring-databases) была
  выключена. Защита существовала; агент просто её не включил. Дефолты — ваши
  друзья, включайте их.
- **Тестируйте несчастливый путь намеренно.** Разлогиньтесь и попробуйте прочитать
  данные. Пошлите неверный ввод. Побудьте атакующим десять минут, потому что модель
  не побудет.
- **Прогоните настоящий сканер перед выкаткой.** Статический анализ ловит весь
  скучный 45-процентный пласт — вшитые секреты, отсутствующую валидацию, классические
  инъекции, — который агент бодро написал.

## Честная формулировка

Вайбкодинг и правда сделал создание приложения почти бесплатным. Чего он _не_
сделал бесплатным — это сделать это приложение безопасным для чужих данных, и
разрыв между этими двумя вещами никогда не был шире. Демо — это лёгкие 80%. Утечка
живёт в тех 20%, которых демо вам никогда не покажет.

Так что выкатывайте быстро, ладно. Но прежде чем приложения коснутся настоящие
пользователи, потратьте негламурный час, побыв собственным атакующим. Основатель
Moltbook этот час пропустил и попал в заголовки по худшей из причин. Час дешёвый.
Утечка — нет.
