Риски AI-генерации кода скрыты в коде, который выглядит корректным, и могут привести к утечке данных или убыткам. Открытый проект Narwhal AI Code Risks систематизировал реальные кейсы, ранние признаки и типичные пути возникновения рисков, чтобы помочь разработчикам заранее выявлять скрытые угрозы и избегать повторения ошибок.
2026 год. Код генерируется со всё возрастающей скоростью, но проходит всё меньше проверок перед развертыванием.
Всё чаще пользовательские требования попадают в диалоговое окно, ИИ читает контекст, дополняет функцию, подтягивает зависимости, исправляет конфигурацию и заодно генерирует тесты.
И вот, оглянуться не успели, как фрагмент кода уже лежит в репозитории в ожидании мержа.
У пользователей уже сформировалась новая привычка: сначала дать ИИ написать код и запустить его, а уже потом смотреть, что и где нужно исправить.
Но в мире программного обеспечения самые опасные вещи часто выглядят как самый обычный код: синтаксис правильный, интерфейсы легальны, тесты проходят, комментарии безупречны.
И всё же он может подключать несуществующие пакеты, открывать чрезмерно широкие права доступа, оставлять базу данных открытой... или даже позволить агенту, способному напрямую вызывать системные инструменты, под воздействием инъекции в промпт вынести конфиденциальные данные за пределы внутренней системы.
По-настоящему опасно не то, когда загорается красная лампочка ошибки. А когда все индикаторы риска показывают норму.
До сих пор риски AI-генерации кода были разбросаны повсюду: в блоге по безопасности скрывался один случай, в Issue — намёк на другой. Когда следующая команда сталкивалась с похожей проблемой, ей снова приходилось с нуля собирать воедино источники риска и тратить массу времени и сил на масштабное эмпирическое тестирование кода.
Но недавно открытая лабораторией Пекинского университета Narwhal-Lab система Narwhal AI Code Risks уже собрала эти информационные фрагменты и классифицировала их по трём типам: реальные инциденты, ранние признаки и типичные пути возникновения рисков — для изучения исследователями.
Ссылка на статью: https://github.com/Narwhal-Lab/Narwhal-aicode-risks
Когда 28 проверок пройдены, система всё равно отклоняется от курса
Первая зацепка — уже смерженный Pull Request, в графе авторства которого значились Claude Opus 4.6 и Copilot, а также четыре разработчика-человека. Все 28 проверок пройдены: никто не заметил проблему.
Затем робот для ликвидации позиций за несколько минут изъял залоговое обеспечение на сумму 1 778 044,83 доллара.
В конфигурационном файле цена cbETH была установлена как коэффициент конвертации к ETH, примерно 1,12 доллара, вместо реальной цены, приближающейся к 2200 долларам.
Ошибка в семантике цены вот так прошла сквозь процессы разработки, проверки и слияния, чтобы в итоге обернуться реальными убытками в финансовой системе. В этом и заключается самая тревожная черта инцидента с конфигурацией оракула Moonwell cbETH.
Проблема в том, что в коде не было синтаксических ошибок, и разработчики-люди не заблокировали аномальный процесс сразу. Напротив, всё выглядело целостно и гладко — как обычная сдача проекта.
Но именно эта тихая, подспудная "нормальность" и делает инцидент типичным примером инцидента безопасности.
Риск AI-генерации кода заключается в том, что он проявляется не всегда в виде ошибок.
Зачастую он облачается в одежды правильного ответа и тихо проникает в инженерный процесс. Код запускается, проверки проходят, PR мержится, но бизнес-семантика уже отклонилась от реального мира.
В низкорисковых проектах такое семантическое отклонение может обернуться лишь доработкой. Но в чувствительных сценариях, таких как финансы или корпоративные системы данных, оно напрямую приведёт к утечке данных, разглашению прав доступа и потере активов.
Когда ИИ участвует в написании кода, изменении конфигураций, проведении ревью и даже попадает в соавторы PR, можем ли мы с достаточной уверенностью сказать, как происходит каждое отклонение от курса?
Зелёный сигнал "проезда" не освещает все уголки
Ранние системы ИИ, помогающие писать код, в основном ограничивались локальным автодополнением. Если синтаксис был ошибочным, компилятор выдавал ошибку, юнит-тесты падали, процесс CI не пропускал такой код.
Современная AI-генерация кода зашла гораздо дальше, а контроль за ней так и не поспевает.
Она может читать файлы, менять конфигурации, устанавливать зависимости, генерировать скрипты для инфраструктуры, а также, через агентов, самостоятельно планировать выполнение нескольких задач.
ИИ больше не просто сидит рядом и подаёт инструменты — он начинает проникать в более длинные цепочки процессов разработки ПО.
Чёткие границы, существовавшие в разработке ПО, теперь агенты ИИ соединяют в более длинные и сложные для отслеживания пути.
Разрозненные записи нуждаются в общем бортовом журнале
У инцидентов безопасности редко с самого начала есть полные заключения. Некоторые события хорошо задокументированы и могут войти в каталог как реальные кейсы. Некоторые остаются на уровне скриншотов в сообществе, обсуждений исследователей или предварительных отчётов и подходят лишь для дальнейшего наблюдения. Есть и такие, которые не привязаны к единичному реальному событию, но уже формируют чёткую модель, подходящую для предварительного моделирования.
Narwhal AI Code Risks делит материалы на три уровня: `cases/`, `inferred/` и `scenarios/`.
cases/ — фиксирует реальные инциденты, имеющие публичные источники и подтверждённую цепочку доказательств; inferred/ — сохраняет ещё не полностью подтверждённые, но заслуживающие постоянного отслеживания ранние признаки; scenarios/ — систематизирует типичные сценарии, пока не привязанные к единичному событию, но с достаточно ясным путём возникновения риска.
Без такого публичного учета риски AI-генерации кода легко превращаются в кратковременную память интернета.
Сегодня все помнят какое-то имя пакета, завтра обсуждают какую-то утечку данных, через несколько месяцев всё покрывается новой волной популярности инструментов. А когда похожая проблема возникает снова, команды всё равно как мухи без головы врезаются в неизведанные районы риска.
Что делает Narwhal AI Code Risks — так это фиксирует эти разрозненные фрагменты рисков, позволяя следующим поколениям открывать одну и ту же страницу.
По семи категориям индекса — к истокам рисков
Проблемы, которые приносит генерация кода ИИ, не ограничиваются кодом. Они в зависимостях, в правах доступа, в вызовах инструментов агентами и, что важнее, в том, как люди доверяют выходным данным ИИ.
В настоящее время Narwhal AI Code Risks делит риски на 7 категорий: риски цепочки поставок (Supply Chain), уязвимости на уровне кода, конфигурация облака и инфраструктуры, риски, связанные с агентами, риски в вертикальных отраслях, риски интеллектуальной собственности и соответствия, а также человеческий фактор.
В рисках цепочки поставок ИИ может рекомендовать несуществующие зависимости. В уязвимостях на уровне кода — заново вписать в бизнес-код проблемы с обходом путей, отсутствием проверки ввода или аутентификацией. В конфигурации облака и инфраструктуры — для того, чтобы код просто запустился, выдать излишне широкие права доступа, публичные бакеты или открытые порты. Риски, связанные с агентами, ещё сложнее — это уже не просто генерация текста, а начало выполнения действий. Результаты работы ИИ закладывают мины в реальные системы.
Двигатели ИИ запущены, а бортовой журнал только открывается
По мере того как ИИ шаг за шагом проникает в реальный мир, связанное с ним предотвращение рисков не должно ограничиваться разборами полётов после инцидента или разрозненными обсуждениями.
По-настоящему важная сторона Narwhal AI Code Risks — превращение кейсов рисков в знания, которые можно повторно использовать.
Разработчики могут использовать её для выявления похожих проблем; исследователи безопасности — как библиотеку образцов; производители инструментов — для извлечения правил обнаружения и эталонов для оценки; сообщество open source также может продолжать пополнять её новыми кейсами, доказательствами и типами рисков.
Двигатели ИИ ревут, и каждая ошибка курса тоже должна оставлять координаты. Риски никогда не исчезают от того, что их игнорируют, но опыт можно записывать и передавать. Ценность не в обнаружении одной уязвимости, а в том, чтобы следующие поколения не наступали на те же грабли.
То, что делает Narwhal AI Code Risks — это оставление открытого бортового журнала для мира программного обеспечения в эпоху приложений на основе ИИ.
Ссылки:
https://github.com/Narwhal-Lab/Narwhal-aicode-risks
Эта статья из официального аккаунта WeChat "Синьчжиюань" (新智元), автор: LRST













