Дискуссии о пользе ИИ-помощников на рабочем месте продолжаются, однако в сфере разработки программного обеспечения их внедрение происходит наиболее активно. Здесь языковые модели выполняют множество функций — от оптимизации кода и написания документации до полного цикла создания приложений. К стандартным проблемам информационной безопасности добавляются специфические риски, характерные для ИИ-систем. На стыке этих направлений новые уязвимости и ошибки появляются практически каждую неделю.
Риски ИИ-генерации кода
Создаваемый нейросетями код может содержать как стандартные ошибки, так и критические уязвимости. Обучение моделей происходит на публичных данных интернета, включающих множество примеров неоптимального кода. Согласно отчету Veracode, современные ИИ-системы демонстрируют улучшение качества генерации — 90% сгенерированного кода успешно компилируется (против 20% два года назад). Однако уровень безопасности остался прежним — 45% выходного кода включают уязвимости из OWASP Top 10. Исследование охватило сотню популярных ИИ-моделей и фрагменты на Java, Python, C# и JavaScript. Это означает, что какой бы инструмент ни использовался (Windsurf для автодополнения или Low-code платформы), финальная проверка на безопасность остается обязательной. Однако на практике, как показало исследование Wiz, 20% приложений, созданных с помощью ИИ, содержат серьезные недостатки конфигурации или кода.
Классическим примером часто называют скандальное приложение Tea, предназначенное для женской аудитории и печально известное утечками данных. Однако его разработка началась до эры ИИ-программирования. Окончательную роль нейросетей в проблемах Tea определит суд. Зато точно подтвержден случай со стартапом Enrichlead. Его создатель публично заявлял, что вся платформа написана инструментом Cursor AI без ручного кодирования. Однако после запуска обнаружилось, что система содержит примитивные уязвимости, позволяющие бесплатно использовать платные функции и изменять данные. Проект закрыли из-за невозможности исправить код через тот же Cursor. Автор продолжает эксперименты с ИИ-разработкой новых стартапов.
Типовые уязвимости в нейросетевом коде
Несмотря на молодость ИИ-программирования, уже выявлены повторяющиеся паттерны ошибок:
- Недостаточная валидация входных данных, ведущая к XSS и SQL-инъекциям;
- API-ключи и секреты, встроенные непосредственно в клиентский код;
- Логика авторизации, полностью реализованная на стороне клиента без серверных проверок;
- Проблемы логирования — от недостаточной фильтрации данных до полного отсутствия журналов событий;
- Использование опасных функций, таких как eval(), для обработки пользовательского ввода;
- Устаревшие зависимости или ссылки на несуществующие библиотеки, что создает риск подмены пакетов.
Исследование, анализировавшее код по списку MITRE CWE Top 25, выявило частые случаи CWE-94 (инъекция кода), CWE-78 (инъекция команд), CWE-190 (переполнение буфера), CWE-306 (отсутствие аутентификации) и CWE-434 (неконтролируемая загрузка файлов). Яркой иллюстрацией CWE-94 стала атака на проект NX build, где через уязвимость в ИИ-сгенерированном коде похитили токен публикации обновлений.
Проблемные запросы
Принцип «сделано по ТЗ» полностью применим к ИИ-ассистентам. Нечеткие формулировки задач без указания требований безопасности резко повышают риск генерации проблемного кода. Исследования демонстрируют, что даже общие указания вроде «учитывайте лучшие практики безопасного кода» вдвое сокращают количество уязвимостей. Максимальный эффект дают конкретные инструкции с отсылками к OWASP Top 10 и MITRE CWE. Набор подобных рекомендаций доступен в GitHub Wiz через файлы claude.md и .windsurfrules, которые можно интегрировать в системные промпты.
Деградация защищенности при итерациях
Многократные доработки ИИ-кода ухудшают его безопасность. Эксперимент с GPT-4o показал, что после пяти циклов правок количество критических уязвимостей возрастает на 37%. Тестировались четыре стратегии промптов: упор на эффективность, безопасность, новые функции и размытые требования. Запросы на добавление функционала принесли 158 новых уязвимостей (29 критических). Даже при акценте на безопасность появилось 38 дефектов (7 критических). Промпты, требовавшие защищенности, неожиданно привели к ошибкам в криптографических функциях.
Отсутствие отраслевого контекста
ИИ-системы не учитывают отраслевые нормы для медицины, финансов или логистики — это явление называют «missing depth». Например, нейросеть может корректно рассчитать банковские проценты, но проигнорировать законодательные требования к округлению. При работе с медицинскими данными ИИ не добавит обязательное детальное журналирование доступа без явного указания в промпте.
Ошибочные конфигурации
Проблемы возникают не только в коде. Новички, использующие Low-code платформы, часто неправильно настраивают инфраструктуру:
- Базы данных с публичным доступом, приводящие к утечкам вроде Tea/Sapphos;
- Корпоративные приложения без средств аутентификации, доступные из интернета;
- Избыточные права доступа приложений к БД, усугубляющие последствия SQL-инъекций.
Уязвимости платформ
Low-code системы обычно размещают приложения на собственных серверах, привязывая разработчиков к своим инфраструктурным рискам. Например, в июле 2024 года в платформе Base44 обнаружили уязвимость, позволявшая получать доступ к частным приложениям без авторизации.
Угрозы среды разработки
Сам факт использования ИИ-ассистента с расширенными правами создает дополнительные риски:
- CurXecute (CVE-2025-54135) — удалённое выполнение команд через активированный MCP-сервер в Cursor;
- EscapeRoute (CVE-2025-53109) — обход ограничений доступа к файлам в MCP-сервере Anthropic;
- Вредоносные MCP-серверы для перехвата почты через Postmark;
- Уязвимость Gemini CLI с запуском команд через readme.md;
- Скрытые инструкции на удаление данных в Q Developer Extension для VS Code;
- Claude Code (CVE-2025-55284) — утечка данных через DNS-запросы;
- Автономный агент Replit удалил продакшен-базу, нарушив запрет изменений;
- Долговременное заражение Windsurf через промпт-инъекцию в комментариях;
- Использование CLI-инструментов для поиска ключей в инциденте с NX build.
Меры защиты
Снизить (но не устранить) риски позволяют комплексные меры:
- Автоматическое сканирование кода специализированными SAST-решениями;
- Включение требований безопасности в системные промпты;
- Ручной аудит кода экспертами с поддержкой ИИ-анализаторов;
- Обучение разработчиков безопасному взаимодействию с ИИ.



