Я не Senior-программист. Я собираю продукты с помощью ИИ — и на своём опыте понял одну вещь: самый дорогой факап в такой работе не в том, что нейросеть пишет плохой код. А в том, что она пишет код, который выглядит рабочим.

Ты просишь «сделай приём платежей». ИИ не спорит, берёт первый вариант, который пришёл ему в голову, и пишет. Снаружи всё работает идеально: нажал кнопку, оплатил, получил доступ. Внутри — дыры, о которых он молча промолчал.

Ниже — что именно ИИ пропускает в платежах, как заставить его думать до того, как он начнёт писать, и пять уровней защиты, которые в итоге появились у меня в продукте.

Что ИИ гарантированно упустит сам

Подмена цены. Если проверка суммы окажется на фронтенде, покупатель меняет цену со $100 на $1 прямо в коде страницы. Платёжка списывает доллар, товар уходит. ИИ регулярно так делает, если не поставить жёсткие рамки: он реализует то, что видно в интерфейсе, а не то, что происходит на сервере.

Отсутствие проверки вебхуков. ИИ настраивает подтверждение оплаты по факту возврата пользователя на страницу «Спасибо». Дальше два сценария. Первый: пользователь закрывает вкладку сразу после списания — деньги ушли, доступа нет, вы об оплате не узнали. Второй: человек просто открывает адрес страницы «Спасибо» напрямую и получает доступ бесплатно.

Обе ошибки не ловятся обычным тестированием, потому что тестируют обычно два сценария: оплатил — получил, не оплатил — не получил. Атакующему интересен третий путь, которого в голове проверяющего нет.

Первый запрос к модели — не про код

Для критичных фич — платежи, доступы, чужие данные — я не прошу написать код. Я прошу разобрать задачу:

«Не пиши код. Изучи документацию по интеграции, стандарты безопасности и типовые уязвимости (особенно подмену цены и валидацию платежа). Дай 2–3 варианта, как сделать это безопасно, распиши плюсы и минусы каждого и скажи, что рекомендуешь и почему».

Что это даёт. Во-первых, дыры закрываются до появления кода — переделывать архитектуру потом в десять раз дороже. Во-вторых, и это оказалось важнее: ты сам начинаешь понимать, как устроен твой продукт под капотом. Модель объясняет сложные вещи простым языком, и ты выбираешь решение осознанно, а не потому что «ИИ так написал».

На каждую кнопку так делать не нужно. На платежи — обязательно.

Атака на собственный продукт перед сдачей

Отдельный этап, который появился после одного неприятного дня: ИИ-агент, настраивая мелочь на сервере, уронил рабочий сайт клиента. Спас бэкап, сделанный перед началом работ, — три минуты, и сайт вернулся. С тех пор резервная копия у меня первый шаг любой задачи, а к «готовому» коду отношение изменилось.

Перед сдачей проекта с платежами я открываю чистую сессию — не тот контекст, в котором писался код, — даю агентам доступ к результату и одну задачу: обойдите оплату.

Чистая сессия здесь принципиальна. Агент, который знает, «как задумано», защищает замысел: он объясняет, почему всё правильно. Агент, который видит только код, ищет способ его обмануть.

В тот раз они нашли обход, который пропустил первый аудит. Клиент об этом никогда не узнает — дыру закрыли до того, как продукт попал к нему.

Пять уровней защиты

Полностью защититься невозможно. Задача другая: сделать так, чтобы атака стоила дороже, чем то, что можно получить.

1. Логирование всего. Каждый запрос, каждая операция. Выглядит паранойей ровно до первого разбора инцидента, когда нужно понять, что именно произошло.

2. Автоматическая блокировка подозрительных IP. Боты, спамеры, странные паттерны обращений — блокируются без моего участия.

3. Контроль трат по каждому аккаунту. Скрипт следит за расходом: если с одного места пошло аномальное количество запросов к ИИ или баланс улетает быстрее нормы — доступ блокируется мгновенно. Либо человек нашёл уязвимость, либо выкачивает API. В обоих случаях сначала стоп, потом разбор.

4. Алерты в реальном времени. На каждое подозрительное действие приходит уведомление. Важно не «узнать из логов через неделю», а увидеть сейчас.

5. Аварийное отключение. Если случится то, что я не предусмотрел, запускается скрипт, который обрубает все внешние соединения. Сайт превращается в пустышку: ни данных, ни API. И уведомление мне.

Звучит пафосно для продукта, который делает один человек с ИИ. Но перестраховаться десять раз дешевле, чем один раз облажаться с деньгами клиента.

Честная часть

ИИ-агенты не заменяют пентест. Они не видят инфраструктуру целиком, не знают бизнес-контекста и уверенно врут, когда ничего не нашли, — каждую находку приходится перепроверять руками. Это дешёвый первый фильтр, а не аудит безопасности.

И ещё: всё описанное выше не делает продукт неуязвимым. Оно делает его невыгодной целью — а для небольшого сервиса это как раз то, что нужно.

Если собираете продукты с ИИ, не экономьте на безопасности. Каждый уровень, добавленный сегодня, — это нервы, сохранённые завтра.


Собираю продукты с ИИ в студии Hikmah Labs. Рабочий журнал студии — в телеграм-канале: что делаем, что ломается и чему это учит.

Комментарии (5)


  1. catherinei
    02.08.2026 14:32

    1. Контроль трат по каждому аккаунту. Скрипт следит за расходом: если с одного места пошло аномальное количество запросов к ИИ или баланс улетает быстрее нормы — доступ блокируется мгновенно. Либо человек нашёл уязвимость, либо выкачивает API.

    Не могли бы вы пояснить, что означает “выкачивает API”?


    1. kh-vibecoding Автор
      02.08.2026 14:32

      Спасибо за вопрос, формулировка и правда мутная.

      Имею в виду ситуацию, когда чужой человек начинает гонять запросы к платному ИИ-API за мой счёт. Например, нашёл эндпоинт, который проксирует запросы в модель, и дёргает его напрямую в обход интерфейса и лимитов — получается бесплатный ChatGPT на моём балансе. Или утёк ключ, и его просто перепродают.

      Оба случая выглядят одинаково: резкий рост числа запросов с одного места и баланс, который тает быстрее нормы. Поэтому реакция на них тоже одна — блокировка до разбора.


  1. codekithub
    02.08.2026 14:32

    Хороший разбор. Забавно, что с обратной стороны эта проблема выглядит так: у меня чисто фронтенд-проект (бесплатные браузерные инструменты), и когда недавно прикидывал добавить платную фичу с ИИ-обработкой, первое, что “интуитивно” казалось реализуемым без бэкенда — оказалось нет: любая проверка, которую можно обойти в devtools, не проверка вообще. Ваш пункт про “AI пишет то, что видно в интерфейсе, а не то, что происходит на сервере” — это ровно та же ловушка, только для скорее “выглядит как чисто клиентское решение”, а по факту требует сервера просто потому, что доверять клиенту нельзя в принципе, ИИ тут ни при чём.


    1. kh-vibecoding Автор
      02.08.2026 14:32

      Да, это ровно тот же капкан, спасибо за пример с другой стороны.

      Согласен и с уточнением: ИИ тут не причина, а усилитель. Он воспроизводит самый частый паттерн из примеров и туториалов, а там проверка почти всегда на клиенте — так короче и нагляднее. Просто раньше этот код писал человек, который хотя бы спотыкался о вопрос «а что если открыть devtools», а модель не спотыкается, пока её не спросишь.

      И вторая половина ловушки — та, о которой вы говорите: задача выглядит как чисто клиентская, а по факту требует сервера просто потому, что клиенту доверять нельзя в принципе. Понимаешь это обычно уже после того, как всё написано.


  1. nutrifit
    02.08.2026 14:32

    Обычно проблемы начинаются когда вайбкодеры начинают считать себя сеньерами програмистами )))) Вот это проблема

    А так я думаю ни каких проблем с нейронками нет просто их надо перепроверять и ревьювить и что то править руками