90% кода от ИИ содержит уязвимости: как проверить код после вайбкодинга
Cursor написал форму авторизации — она работает. Но внутри SQL-инъекция, захардкоженный API-ключ и открытый endpoint без проверки прав. Совместное исследование CMU, Columbia University и Johns Hopkins University (2025) показало: 90% кода, сгенерированного AI-помощниками, содержит потенциальные уязвимости безопасности. Это не значит, что AI-код нельзя использовать — это значит, что его нельзя деплоить без проверки.

Ключевые факты
- 90% AI-сгенерированного кода содержит уязвимости по данным CMU/Columbia/Johns Hopkins (2025)
- Автоматические инструменты ловят 30–50% проблем — остальные требуют человека
- AI-ревью не находит баги в AI-коде: одинаковые обучающие данные, одинаковые слепые пятна
- Проверка кода по ТЗ + аудит безопасности стоит 30 000 ₽ разово или от 5 000 ₽/мес
В одном из проектов по vibers-code-review повторялась одна проблема: клиенту важнее было понять риски поддержки и экспорта, чем сравнить длинный список функций. Этот материал сфокусирован именно на таком решении.
Почему AI генерирует уязвимый код?
Потому что он учился на GitHub — а там огромное количество небезопасного кода. Самый частый паттерн в обучающих данных не равен самому безопасному. AI оптимизирован на «работает» — безопасность нужно запрашивать явно, и даже тогда результат не гарантирован.
Типы уязвимостей
SQL-инъекции (CWE-89) AI подставляет пользовательский ввод напрямую в запросы:
# AI сгенерировал:
query = f"SELECT * FROM users WHERE name = '{user_input}'"
# Должно быть:
cursor.execute("SELECT * FROM users WHERE name = %s", (user_input,))
XSS — Cross-Site Scripting (CWE-79) AI вставляет контент без экранирования:
// AI сгенерировал:
element.innerHTML = userComment;
// Должно быть:
element.textContent = userComment;
Захардкоженные секреты (CWE-798) AI копирует паттерны из обучающих данных, включая ключи:
// AI сгенерировал:
const API_KEY = "sk-proj-abc123...";
// Должно быть:
const API_KEY = process.env.API_KEY;
Отсутствие проверки авторизации (CWE-862) AI создаёт endpoint по аналогии, но забывает проверку прав:
// AI сгенерировал:
app.delete('/api/users/:id', async (req, res) => {
await db.users.delete(req.params.id);
res.json({ success: true });
});
// Должно быть:
app.delete('/api/users/:id', authMiddleware, async (req, res) => {
if (req.user.role !== 'admin') return res.status(403).json({ error: 'Forbidden' });
await db.users.delete(req.params.id);
res.json({ success: true });
});
Path Traversal (CWE-22) AI обрабатывает пути без валидации:
# AI сгенерировал:
filepath = os.path.join(UPLOAD_DIR, filename)
# filename может быть "../../etc/passwd"
# Должно быть:
filepath = os.path.join(UPLOAD_DIR, os.path.basename(filename))
Чеклист проверки AI-кода: что проверять и когда?
Используйте этот список перед каждым релизом и на каждом PR с AI-кодом.
Критические проверки (делать всегда)
- [ ] Пользовательский ввод — всё ли экранируется/валидируется перед использованием?
- [ ] SQL-запросы — используются ли параметризованные запросы?
- [ ] Секреты — нет ли API-ключей, паролей, токенов в коде?
- [ ] Авторизация — каждый endpoint проверяет права?
- [ ] Файловые операции — пути валидируются?
- [ ] HTTPS — все внешние запросы через HTTPS?
Важные проверки (делать перед релизом)
- [ ] Rate limiting — API защищён от brute-force?
- [ ] CORS — настроен правильно (не
*)? - [ ] Логирование — не пишутся ли секреты в логи?
- [ ] Зависимости — нет ли deprecated или уязвимых пакетов?
- [ ] Обработка ошибок — stack trace не утекает пользователю?
- [ ] Session management — токены хранятся безопасно?
Проверки бизнес-логики (делать на каждый PR)
- [ ] Соответствие ТЗ — код делает то, что просили?
- [ ] Крайние случаи — пустой ввод, null, отрицательные числа?
- [ ] Параллельные запросы — нет ли race conditions?
- [ ] Откат — что происходит при ошибке на середине операции?
Инструменты: что ловит, что пропускает?
Автоматические (ловят 30-50% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| ESLint Security Plugin | Базовые паттерны уязвимостей в JS/TS | Бесплатно |
| Bandit | SAST для Python | Бесплатно |
| npm audit / pip audit | Уязвимости в зависимостях | Бесплатно |
| DeepSource | AI SAST + автофикс | $12/юзер/мес |
| SonarQube | Комплексный статический анализ | Бесплатно (self-hosted) |
AI-ревью (ловят 50-70% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| CodeRabbit | AI-комментарии на PR | $12/юзер/мес |
| Copilot Review | Встроенное AI-ревью | $19/мес (с Copilot) |
Человеческий ревью (ловит 85-95% проблем)
| Инструмент | Что делает | Цена |
|---|---|---|
| Vibers | Ревью по ТЗ + PR с исправлениями | от 5 000 ₽/мес |
| PullRequest.com | Экспертный ревью | $50+/час |
| Наём сеньора | Ревью в команде | $50-150/час |
Почему автоматических инструментов недостаточно?
Автоматические инструменты ищут известные паттерны. Они найдут innerHTML = userInput, потому что это в их базе правил. Подробнее о том, какой инструмент что находит, читайте в сравнении AI-инструментов код-ревью 2026.
Они не найдут: - Бизнес-логику, которая позволяет обнулить цену через скидку - API endpoint, доступный без авторизации, потому что AI скопировал его из внутреннего сервиса - Платёжный flow, который не проверяет 3D Secure - Race condition в процессе оплаты, позволяющий двойное списание
Эти проблемы требуют понимания контекста — чего нет ни у одного автоматического инструмента.
Как Vibers проверяет AI-код по вашему ТЗ
Если вы хотите понять, чем вайбкодинг отличается от традиционной разработки и какие риски он несёт — прочитайте отдельный гайд. Для стартапов, которым дорог бюджет, есть специальный материал про code review для стартапа без штатного senior.
Более детальный разбор конкретных ограничений инструментов — в статье CodeRabbit vs ручной код-ревью.
- Добавьте
marsiandeployerкак collaborator в ваш GitHub-репозиторий - Пришлите ТЗ — Google Doc, Notion, PDF
- Мы проверяем каждый коммит — безопасность + соответствие ТЗ + галлюцинации AI
- Отправляем PR с исправлениями — не отчёт, а рабочий код
| Категория | Примеры |
|---|---|
| Безопасность | OWASP Top 10, секреты в коде, авторизация |
| Галлюцинации | Несуществующие API, deprecated методы, выдуманные пакеты |
| Соответствие ТЗ | Фича делает то, что просили, ничего не пропущено |
| Бизнес-логика | Крайние случаи, race conditions, обработка ошибок |
| Визуал/UI | Сломанные лейауты, кривой мобайл, неправильные цвета |
Стоимость code review — 30 000 ₽ за проект. Напишите в Telegram: @onoutnoxon — проверим ваш код на уязвимости.
Часто задаваемые вопросы
Эта страница обновлена под 2026 год? Да. Обновление 2026 фокусируется на практических критериях выбора, владении данными, стоимости, рисках внедрения и helpful-content сигналах Google.
Когда лучше выбирать кастомное решение вместо SaaS? Кастомное решение оправдано, когда процесс, интеграции, данные или отчётность являются частью продукта. SaaS подходит для быстрой проверки спроса.
Как использовать материал «90% кода от ИИ содержит уязвимости: как проверить код после вайбкодинга…» перед покупкой? Используйте его как чек-лист: сравните стоимость, лимиты, миграцию, поддержку и то, насколько сценарий vibers-code-review совпадает с вашим реальным процессом.
Источники
- https://habab.ru/90-procentov-koda-ot-ii-uyazvimy
- https://developers.google.com/search/docs/fundamentals/creating-helpful-content
- https://developers.google.com/search/docs/essentials/spam-policies
О сервисе "Vibers — Код-ревью для вайбкодинг-проектов"
Сервис код-ревью с участием человека для команд, использующих дешёвых AI-разработчиков. Проверяем коммиты по вашему ТЗ, исправляем проблемы и отправляем pull request'ы.
Ключевые преимущества:
- Оставьте дешёвых вайбкодеров ($1-5/час), но добавьте слой качества
- Получайте PR с реальными исправлениями, а не просто баг-репорты
- Отслеживание соответствия ТЗ — код соответствует вашим требованиям
- Ревью безопасности ловит секреты, инъекции, проблемы OWASP
- Вайбкодеры учатся на наших исправлениях — качество растёт со временем
- В 10 раз дешевле, чем нанимать сеньора для код-ревью
Для кого подходит:
Сценарии использования:
📰 Промо-статьи наших решений
Изучите детальные обзоры наших технологических решений для различных отраслей:
🚀 Разработка и автоматизация
- Автоматизация холодных продаж в криптопроектах
- AI-Assisted Development
- AI CRM Constructor: Конструктор CRM под ваш бизнес
- Парсер лидов с FL.ru
- Разработка Платформы для Автоматизации Найма Переводчиков
- Разработка WhatsApp Business Автоматизации под ключ
- Корпоративная Платформа Обмена Изображениями
- AI Quality Assurance — контроль качества AI-ответов
- Интеграция AMOCRM, Excel и Google Drive
- SimpleCrypto — AI-конфигуратор крипто-кошелька
- Синхрон1С - Автоматизация 1С без программиста
- SimpleReview — Chrome-расширение для автоматического исправления ошибок сайта
- Разработка Telegram Mini App с Лутбоксами
- YouTube-Telegram Скрапер для Стартапов
📈 Бизнес и автоматизация
- Разработка Telegram Ботов под ключ
- YandexDirect MCP сервер
- Корпоративные решения голосового ввода с ИИ
- Веб-версия аналитического дашборда для телефонии
- Платформа управления Telegram рекламой
- Bitcoin Mempool Explorer
- Презентационный сайт по брендбуку
- Разработка Платформы Прогнозов на Спорт по Модели GoalBet
- Обучающий кабинет
- Корпоративная система мониторинга медиа и аналитики
- Администрирование серверов
- Криптовалютный AML-чекер бот
- Новостной радар для промышленности
- Счетчик калорий Telegram Bot
- Talk to Excel / Talk to SQL — AI-ассистент для табличных данных
- Разработка веб-приложений по дизайну
- Разработка системы анализа договоров с ИИ
- Презентационный сайт по брендбуку
- Синхронизация 1С с WordPress
💰 FinTech и медиа
Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.