Vibe Coding — это новый открытый исходный код, но в худшем смысле этого слова

Подобно тому, как вы , вероятно, не выращиваете и не мелете пшеницу для хлеба, большинство разработчиков программного обеспечения не пишут каждую строку кода в новом проекте с нуля. Это было бы крайне медленно и могло бы создать больше проблем безопасности, чем решить. Поэтому разработчики используют существующие библиотеки — часто проекты с открытым исходным кодом — для реализации различных базовых программных компонентов.
Хотя этот подход эффективен, он может привести к раскрытию информации о программном обеспечении и его непрозрачности. Однако всё чаще подобным образом используется растущее количество кодов, основанных на вибрации , что позволяет разработчикам быстро создавать код , который можно легко адаптировать, а не писать с нуля. Однако специалисты по безопасности предупреждают, что этот новый тип кода, работающего по принципу «plug-and-play», делает безопасность цепочки поставок программного обеспечения ещё более сложной и опасной.
«Сейчас мы достигли точки, когда ИИ вот-вот потеряет льготный период безопасности», — говорит Алекс Зенла, технический директор компании Edera, занимающейся облачной безопасностью. «И ИИ — сам себе злейший враг, поскольку генерирует небезопасный код. Если ИИ частично обучается на старом, уязвимом или некачественном программном обеспечении, доступном в открытом доступе, то все существующие уязвимости могут возникнуть снова, не говоря уже о новых проблемах».
Помимо использования потенциально небезопасных обучающих данных, реальность кодирования вибраций заключается в том, что оно создаёт черновик кода, который может не полностью учитывать весь конкретный контекст и особенности конкретного продукта или услуги. Другими словами, даже если компания обучает локальную модель на исходном коде проекта и описании целей на естественном языке, производственный процесс по-прежнему зависит от способности людей-рецензентов обнаружить любые возможные недостатки или несоответствия в коде, изначально сгенерированном ИИ.
«Инженерным группам необходимо задуматься о жизненном цикле разработки в эпоху кодирования с помощью вибрации», — говорит Эран Кинсбрунер, исследователь из компании Checkmarx, занимающейся безопасностью приложений. «Если вы попросите одну и ту же модель LLM написать код для вашего конкретного исходного кода, каждый раз результат будет немного отличаться. Один разработчик в команде сгенерирует один результат, а другой — другой. Это создаёт дополнительную сложность, выходящую за рамки открытого исходного кода».
В опросе Checkmarx, проведенном среди руководителей служб информационной безопасности, менеджеров по безопасности приложений и руководителей отделов разработки, треть респондентов заявили, что в 2024 году более 60% кода их организаций было сгенерировано ИИ. Однако только 18% респондентов заявили, что в их организациях есть список одобренных инструментов для кодинга Vibe. Checkmarx опросила тысячи специалистов и опубликовала результаты в августе, подчеркнув также, что разработка ИИ затрудняет отслеживание «владения» кодом.
Проекты с открытым исходным кодом могут быть изначально небезопасными, устаревшими или подверженными риску злонамеренного захвата. Они могут быть включены в кодовые базы без достаточной прозрачности или документации. Однако исследователи отмечают, что некоторые фундаментальные механизмы поддержки и подотчётности, всегда существовавшие в открытом исходном коде, отсутствуют или серьёзно фрагментированы в результате разработки с использованием ИИ.
«Код ИИ не очень прозрачен», — говорит Дэн Фернандес, руководитель отдела продуктов ИИ в Edera. «В репозиториях, таких как Github, можно хотя бы увидеть такие вещи, как запросы на извлечение и сообщения о коммитах, чтобы понять, кто что сделал с кодом, и есть способ отследить, кто внёс свой вклад. Но в случае с кодом ИИ нет такой же отчётности о том, что в него попало и был ли он проверен человеком. И строки кода, написанные человеком, тоже могут быть частью проблемы».
Зенла из компании Edera также отмечает, что хотя кодирование вибраций может показаться недорогим способом создания простых приложений и инструментов, которые в противном случае могли бы быть недоступны для групп с ограниченными ресурсами, таких как малый бизнес или уязвимые слои населения, простота использования сопряжена с опасностью создания уязвимости безопасности в этих наиболее рискованных и деликатных ситуациях.
«Сейчас много говорят об использовании ИИ для помощи уязвимым слоям населения, потому что это требует меньше усилий для создания чего-то полезного», — говорит Зенла. «И я думаю, что эти инструменты могут помочь нуждающимся, но я также считаю, что проблемы безопасности, связанные с кодированием вибрации, непропорционально сильно повлияют на тех, кто меньше всего может себе это позволить».
Даже на предприятии, где финансовый риск в основном ложится на компанию, личные последствия широко распространенной уязвимости, возникшей в результате кодирования вибраций, должны иметь большое значение.
«Дело в том, что созданный ИИ материал уже начинает существовать в кодовых базах», — говорит Джейк Уильямс, бывший хакер АНБ и нынешний вице-президент по исследованиям и разработкам в Hunter Strategy. «Мы можем учиться на достижениях в области безопасности цепочки поставок ПО с открытым исходным кодом — или же просто не будем, и это будет ужасно».
wired