Цифры из недавнего отраслевого опроса облетели технические медиа: 70% разработчиков не доверяют безопасности кода, который генерирует ИИ, однако 30% всё равно отправляют его в продакшн. Реакция отрасли предсказуема — волна материалов о том, как теперь выстраивать процессы разработки в эпоху генеративного ИИ.

Автор колонки на Habr, практикующий специалист по качеству ПО, занимает позицию, которую можно сформулировать коротко: ничего не изменилось. Проблема некачественного кода существовала до появления ChatGPT, Copilot и любого другого инструмента на основе LLM. Генеративный ИИ лишь ускорил производство кода — и вместе с ним ускорил накопление технического долга там, где процессы разработки были слабыми или отсутствовали вовсе.

Отдельного внимания заслуживает механизм, который специалисты называют slopsquatting. LLM галлюцинируют при рекомендации сторонних библиотек примерно в 20% случаев: модель уверенно называет пакет, которого не существует в реестре. Злоумышленники научились использовать эту особенность: они заранее регистрируют пакет с именем, которое модель стабильно воспроизводит, и ждут, пока разработчик установит его, доверившись подсказке ИИ-агента в IDE. Воспроизводимость галлюцинаций — то, что модель раз за разом предлагает одно и то же несуществующее имя — делает атаку предсказуемой и масштабируемой.

Что конкретно предлагает автор? Обратиться к ГОСТ Р 56939—2024 — российскому стандарту по разработке безопасного программного обеспечения. Если слово «ГОСТ» вызывает отторжение, суть та же: документ содержит чек-лист инженерных практик, применимых к любому проекту. Среди них — формирование требований к ПО до начала разработки, обучение сотрудников, процесс композиционного анализа зависимостей (Software Composition Analysis, SCA). Последнее особенно актуально именно сейчас: SCA позволяет автоматически проверять, какие сторонние пакеты попали в проект и нет ли среди них вредоносных или уязвимых компонентов.

Альтернативой ГОСТу автор называет методологию AppSec Table Top от Positive Technologies — более прикладной фреймворк с аналогичной логикой. Оба подхода исходят из одного принципа: безопасность и качество закладываются в процесс, а не добавляются постфактум.

Контекст шире одной колонки. Рост популярности вайб-кодинга — практики, при которой разработчик описывает задачу на естественном языке и принимает сгенерированный результат с минимальной проверкой — снижает средний уровень контроля над кодовой базой. Часть таких разработчиков не имеет достаточной квалификации для полноценного ревью; другая часть квалифицирована, но не считает себя ответственной за код, который «написала машина». Оба сценария приводят к одному результату: уязвимости уходят в прод.

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