
Исследование выявило уязвимость нейросетевого кода: почти каждый второй фрагмент ссылается на фиктивные библиотеки
В сгенерированном нейросетями программном коде обнаружены критические уязвимости, способные привести к масштабным атакам на цепочку поставок. Об этом свидетельствует исследование, проведённое по инициативе ArsTechnica, в ходе которого были проанализированы более 576 тысяч фрагментов кода, созданных с использованием 16 популярных языковых моделей. Как выяснилось, значительная часть этих фрагментов — а именно 440 тысяч зависимостей — содержала ссылки на вымышленные библиотеки, не существующие в официальных репозиториях.
Эксперты пришли к выводу, что почти каждый второй фрагмент кода, созданный ИИ, потенциально уязвим для атак, таких как dependency confusion или slopsquatting. Эти методы основаны на том, что злоумышленники регистрируют вредоносный пакет под именем несуществующей библиотеки, указанной в коде, сгенерированном языковой моделью. Разработчики, полагаясь на ИИ и не проводя тщательной проверки, могут случайно установить такие пакеты, тем самым подвергая систему риску внедрения вредоносного кода.
Особую тревогу вызывает ситуация с языками Python и JavaScript, где применение сторонних библиотек носит массовый характер. Именно в этих языках выявлен наибольший процент ошибочных зависимостей. Авторы исследования отмечают, что в среднем 19,7% всех ссылок на библиотеки в коде, созданном с помощью языковых моделей, являются некорректными. Причём наибольшее количество ошибок продемонстрировали модели с открытым исходным кодом — около 22% от общего числа зависимостей.
Исследование стало важным предупреждением для разработчиков и специалистов по кибербезопасности. Эксперты призывают внедрять инструменты мониторинга безопасности и реализовывать процедуры автоматической валидации внешних зависимостей, прежде чем интегрировать сгенерированный код в рабочие продукты. Они также подчеркивают, что растущая популярность ИИ в программной инженерии требует не только более умных алгоритмов генерации, но и зрелой инфраструктуры проверки на соответствие реальному техническому стеку.
Результаты анализа поднимают вопрос об ответственности за качество и безопасность кода, создаваемого искусственным интеллектом, особенно в тех случаях, когда этот код используется в критически важных инфраструктурах или в продуктах с открытым доступом. По мнению исследователей, лишь комплексный подход к контролю качества и проверке исходных данных способен минимизировать риски, связанные с подобными уязвимостями.