Уведомления
Авторизуйтесь или зарегистрируйтесь, чтобы оценивать материалы, создавать записи и писать комментарии.
Авторизуясь, вы соглашаетесь с правилами пользования сайтом и даете согласие на обработку персональных данных.
Российские ученые научили нейросети писать безопасный код
Команда исследователей из Института системного программирования им. В. П. Иванникова РАН (ИСП РАН), МФТИ, НИУ ВШЭ, РТУ МИРЭА и Института AIRI представила новый подход взаимодействия с ИИ-помощниками разработчика, направленный на снижение количества дефектов в коде. Ученые разработали систему, способную писать программы, самостоятельно находить и исправлять в них ошибки.
Современная ИТ-отрасль переживает тектонический сдвиг: благодаря распространению генеративных помощников вроде ChatGPT или Copilot, программы создают не только опытные разработчики, но и новички, а также пользователи без профильной подготовки. В феврале 2025 года издание Business Insider описало новый термин вайб-кодинг (от английского vibe coding) — когда человек описывает свою идею, а нейросеть ее реализует. Однако у такой популярности есть и обратная сторона — рост числа киберугроз.
Языковые модели, обученные на огромных массивах интернет-данных, воспроизводят не только правильные решения, но и типичные ошибки, включая опасные уязвимости. Исследования показывают, что до 40% кода, сгенерированного искусственным интеллектом, содержит дефекты безопасности, которые часто остаются незамеченными, особенно начинающими программистами. В результате появляются программные продукты, заведомо уязвимые для хакерских атак и утечек данных.
Чтобы разорвать этот порочный круг, объединенный научный коллектив обратился к проверенным инструментам повышения качества — статическому анализу. Если представить нейросеть как талантливого, но невнимательного студента, то статический анализатор выступает в роли строгого преподавателя, который не пропускает ни одной запятой и указывает на логические ошибки. В центре предложенного подхода инструмент Svace — мощный промышленный анализатор, способный находить дефекты в коде без его запуска. Ученые разработали систему, в которой «творческий порыв» нейросети мгновенно проверяется алгоритмической «совестью» анализатора. Результаты работы опубликованы в журнале «Труды ИСП РАН».
В статье приведен характерный пример. Модель получает обратную связь (например, «переменная не инициализирована») и успешно дописывает недостающие строки. В примере сначала код создается моделью на основе промпта: «Напиши функцию на Python, которая принимает список чисел и возвращает сумму всех положительных чисел в этом списке. Если список пустой, функция должна возвращать 0». Затем исправление происходит с помощью нового промпта: «Исправь предыдущее решение с учетом замечания: неопределенная переменная ‘total’ в строке 10. Напиши итоговый код». После использования второго промпта языковая модель исправила решение.

Целью исследования была разработка механизма взаимодействия, при котором языковая модель не только получала бы уведомление об ошибке, но и училась на нем. Для этого авторы дообучили модель с использованием метода прямой оптимизации предпочтений (от английского Direct Preference Optimization, DPO). Суть метода заключается в тренировке нейросети на примерах: ей показывают «плохой» код с ошибкой и «хороший», исправленный вариант. Модель развивает интуицию, заставляющую избегать небезопасные конструкции еще на этапе генерации.

Кроме того, исследователи создали специализированный набор MultiEval, собранный из реальных задач, на которых нейросети чаще «спотыкаются», чтобы оценивать прогресс максимально объективно.
Результаты экспериментов оказались успешными: дообучение модели в сочетании с итеративным исправлением ошибок позволила снизить частоту появления дефектов, включая критические уязвимости и синтаксические сбои, на 20%. Система работает циклично: нейросеть пишет фрагмент кода, анализатор Svace проверяет и, если находит проблему, возвращает код обратно с подробным описанием ошибки. Модель, получив эту подсказку, переписывает код. Оказалось, что даже самые сложные модели, такие как CodeLlama или Mistral, начинают выдавать практически безупречный результат после двух-трех таких итераций.
Данил Шайхелисламов, исследователь ИСП РАН, аспирант кафедры системного программирования МФТИ, рассказал о деталях процесса: «Мы обнаружили, что недостаточно указать на ошибку — важно научить модель не повторять их. Наш подход, сочетающий обучение с подкреплением и обратную связь анализатора, позволяет модели не просто «зазубривать» правильные ответы, а вырабатывать навыки защитного программирования. Это похоже на тренажер, где нейросеть тренируется писать код, который не стыдно показать даже самому строгому аудитору безопасности».
В решении соединились вероятностная природа нейросетей и детерминированная логика статического анализа. Ранние попытки объединить эти подходы сталкивались с тем, что исправление одной ошибки приводило к появлению другой, нарушая логику программы. Однако использование метода DPO позволило стабилизировать процесс: модель научилась вносить точечные правки, сохраняя общую функциональность кода. Более того, исследователи выяснили, что комбинирование инструментов анализа дает кумулятивный эффект, повышая безопасность решения почти до 100%. Внедрение подобных систем автоматизирует рутинные проверки безопасности и снизит нагрузку на разработчиков. Им останется сосредоточиться на архитектурных задачах.
Кроме того, предложенный метод страхует менее опытных программистов от внедрения скрытых дефектов. Это особенно актуально для создания критически важных систем, где цена программной ошибки слишком высока.
В будущем научный коллектив планирует расширить спектр поддерживаемых языков программирования и интегрировать больше инструментов верификации. Это позволит создать полноценный «цифровой иммунитет» для ИИ-помощников, сделав программное обеспечение будущего надежнее и безопаснее.
На юге Африки ученые обнаружили коллекцию небольших каменных стрел. С виду — обычные артефакты древнего человека. Но современные технологии позволили выявить их смертельный секрет. Эти наконечники, которым почти 60 тысяч лет, сохранили следы яда. Авторы нового исследования пришли к выводу, что древние охотники стали использовать яды намного раньше, чем считала наука.
Вопрос о том, можно ли считать чрезмерное увлечение физическими упражнениями аддиктивным поведением, остается дискуссионным. Ученые из Италии и Испании выяснили, что сильнее всего к такому компульсивному поведению склонны люди с чертами перфекционизма.
Биологи на примере птиц определили защитную функцию рыжего пигмента феомеланина, который ранее считали бесполезным и даже опасным из-за доказанной связи с развитием меланомы. Организм использовал его синтез для нейтрализации ядовитого избытка цистеина и выводил токсичные запасы серы в перья.
На юге Африки ученые обнаружили коллекцию небольших каменных стрел. С виду — обычные артефакты древнего человека. Но современные технологии позволили выявить их смертельный секрет. Эти наконечники, которым почти 60 тысяч лет, сохранили следы яда. Авторы нового исследования пришли к выводу, что древние охотники стали использовать яды намного раньше, чем считала наука.
Ученые десятилетиями ищут кости мамонтов, которые, по данным генетиков, могли дожить на материке до бронзового века. Очередная потенциальная находка с Аляски, считавшаяся остатками мамонтов, после проверки оказалась костями китов, умерших около двух тысяч лет назад.
Польша может экстрадировать на Украину российского археолога, заведующего сектором археологии Северного Причерноморья в отделе Античного мира Эрмитажа Александра Бутягина. Соответствующее ходатайство направила прокуратура в Окружной суд Варшавы.
На скалистых берегах аргентинской Патагонии разворачивается настоящая драма. Магеллановы пингвины, долгое время чувствовавшие себя в безопасности на суше в своих многотысячных колониях, столкнулись с новым и беспощадным врагом. Их извечные морские страхи — касатки и морские леопарды — теперь блекнут перед угрозой, пришедшей из глубины материка. Виновник переполоха — грациозный и мощный хищник, недавно вернувшийся на эти земли после долгого изгнания.
Среди самых интригующих открытий космического телескопа «Джеймс Уэбб» — компактные объекты, получившие название «маленькие красные точки». Их видели только в самых дальних уголках Вселенной. Большинство возникло в первый миллиард лет после Большого взрыва, и ученые предполагали, что такие источники представляют собой небольшие компактные галактики. Однако международная команда астрономов пришла к иному выводу. Они предположили, что на самом деле «маленькие красные точки» — черные дыры, окруженные массивной газовой оболочкой.
Ученые задались вопросом: почему два расположенных по соседству спутника Юпитера такие разные, ведь на Ио повсеместно извергаются вулканы, а Европа полностью покрыта многокилометровой коркой льда. Есть версия, что Ио когда-то тоже была богата водой, но по итогам недавнего исследования это сочли неправдоподобным.
Вы попытались написать запрещенную фразу или вас забанили за частые нарушения.
Понятно
Из-за нарушений правил сайта на ваш аккаунт были наложены ограничения. Если это ошибка, напишите нам.
Понятно
Наши фильтры обнаружили в ваших действиях признаки накрутки. Отдохните немного и вернитесь к нам позже.
Понятно
Мы скоро изучим заявку и свяжемся с Вами по указанной почте в случае положительного исхода. Спасибо за интерес к проекту.
Понятно
