Разработчик Firefox заявляет, что команда «полностью приняла» подход к обнаружению ошибок с помощью ИИ, представив детали работы с моделью Mythos, выявившей 271 уязвимость в браузере. — arstechnica.com
Неверие было ощутимым, когда в прошлом месяце технический директор Mozilla заявил, что обнаружение уязвимостей с помощью ИИ означает, что «уязвимости нулевого дня сочтены» и «у защитников наконец-то есть шанс победить, решительно». В конце концов, это выглядело как часть слишком знакомой картины: выбрать горстку впечатляющих результатов, достигнутых с помощью ИИ, опустить любые мелкие детали, которые могли бы представить более нюансированную картину, и позволить хайпу набрать обороты.
Понимая скептицизм, Mozilla в четверг предоставила закулисный взгляд на использование Anthropic Mythos — модели ИИ для выявления программных уязвимостей — для обнаружения 271 уязвимости безопасности в Firefox за два месяца. В посте инженеры Mozilla заявили, что достигнутый ими прорыв, наконец готовый к широкому использованию, стал в первую очередь результатом двух факторов: (1) улучшения самих моделей и (2) разработки Mozilla собственной «оснастки» (harness), которая поддерживала Mythos при анализе исходного кода Firefox.
«Почти никаких ложных срабатываний»
Инженеры рассказали, что их предыдущие попытки обнаружения уязвимостей с помощью ИИ были полны «нежелательного мусора». Как правило, кто-то давал модели команду проанализировать блок кода. Затем модель выдавала правдоподобно звучащие отчеты об ошибках, часто в беспрецедентных масштабах. Однако неизменно, когда разработчики-люди проводили дальнейшее расследование, они обнаруживали, что большой процент деталей был сгенерирован (галлюцинирован). Затем людям приходилось вкладывать значительные усилия в обработку отчетов об уязвимостях старомодным способом.
Работа Mozilla с Mythos была иной, сказал в интервью выдающийся инженер Mozilla Брайан Гринстед. Самым большим отличием было использование «оснастки для агента» (agent harness) — фрагмента кода, который оборачивает большую языковую модель (LLM), чтобы направлять ее через серию конкретных задач. Чтобы такая оснастка была полезна, требуются значительные ресурсы для ее настройки под семантику, инструментарий и процессы, специфичные для проекта, в котором она будет использоваться.
Гринстед описал оснастку, созданную его командой, как «код, который управляет LLM для достижения цели. Он дает модели инструкции (например, „найди ошибку в этом файле“), предоставляет ей инструменты (например, позволяя ей читать/записывать файлы и оценивать тестовые случаи), а затем запускает ее в цикле до завершения». Оснастка предоставила Mythos доступ к тем же инструментам и конвейеру, которые используют инженеры Mozilla, включая специальную сборку Firefox, которую они используют для тестирования.
,
Он пояснил:
С такими оснастками, если вы можете определить детерминированный и четкий сигнал успеха или сигнал верификации задачи, вы можете просто продолжать говорить ей работать. В нашем случае, когда мы ищем проблемы безопасности памяти, у нас есть сборка Firefox с санитайзером, и если вы заставите ее аварийно завершить работу, вы победили. Мы направляем этого агента на исходный файл и говорим: „мы знаем, что в этом файле есть проблема, пожалуйста, найдите ее“. Он будет создавать тестовые случаи. У нас есть существующие системы фаззинга и инструменты для запуска этих тестов. Он скажет: „Я думаю, здесь есть проблема, если я составлю HTML в точности так“. Он отправляет это инструменту, инструмент говорит „да“ или „нет“. Если инструмент говорит „да“, то проводится дополнительная проверка.
Дополнительная проверка осуществляется в виде второй LLM, которая оценивает вывод первой LLM. Высокая оценка дает разработчикам ту же уверенность, которую они испытывают при просмотре отчетов, сгенерированных с помощью более традиционных методов обнаружения.
«Что касается ошибок, которые выходят наружу, ложных срабатываний почти нет», — сказал он.
Взгляд за кулисы, представленный в четверг, включает раскрытие полных отчетов Bugzilla для 12 из 271 уязвимости, обнаруженной Mozilla с помощью Mythos и, в меньшей степени, Claude Opus 4.6. Тестовые случаи — то есть HTML или другой код, который вызывает небезопасное состояние памяти — предоставляются в каждом из них и соответствуют тем же критериям, которые Mozilla предъявляет ко всем ошибкам, считающимся уязвимостями безопасности в Firefox. По крайней мере, один исследователь заявил в четверг, что беглый взгляд на отчеты показал, что они «довольно впечатляющие».
В отличие от предыдущего мусора при раскрытии уязвимостей, Гринстед сказал, что детали, предоставленные его оснасткой, управляющей анализом Mythos, подтвержденные второй LLM и в конечном итоге включенные в отчеты, обеспечивают уровень уверенности, которого раньше у его команды не было.
«Это ключевой момент, который открыл нам возможность работать в том масштабе, в котором мы работаем сейчас», — сказал он. «Это дает инженеру рычаг, который он может потянуть и сказать: „Да, здесь есть проблема“, а затем вы можете итерировать код и четко знать, когда вы его исправили, и в конечном итоге поместить тестовый случай в дерево, чтобы не допустить регрессии».
,
Как отмечалось ранее, характеристика Mozilla обнаружения уязвимостей с помощью ИИ как меняющей правила игры встретила массовый, громкий скептицизм во многих кругах. Критики сначала высмеивали тот факт, что Mozilla не получила обозначения CVE ни для одной из 271 уязвимости. Однако, как и многие разработчики, Mozilla не получает листинги CVE для внутренне обнаруженных ошибок безопасности. Вместо этого они объединяются в один патч. Обычно отчеты Bugzilla, подробно описывающие эти «сводные исправления», скрываются в течение нескольких месяцев после исправления, чтобы защитить тех, кто медленно устанавливает патчи. Теперь, когда Mozilla раскрыла дюжину из них, те же критики, несомненно, заявят, что они тоже были выбраны выборочно, а менее точные результаты скрыты.
Из 271 ошибки, найденной с помощью Mythos, 180 имели рейтинг sec-high (высокий уровень безопасности) — наивысший рейтинг Mozilla для внутренне сообщаемых уязвимостей. Эти типы уязвимостей могут быть использованы при обычном поведении пользователя, например, при посещении веб-страницы. (Единственный более высокий рейтинг, sec-critical, зарезервирован для уязвимостей нулевого дня.) Еще 80 были sec-moderate (средний уровень безопасности), а 11 — sec-low (низкий уровень безопасности).
Критики правы, продолжая настаивать. Хайп — это ключевой метод раздувания и без того завышенной оценки компаний, занимающихся ИИ. Учитывая обширную похвалу, которую Mozilla выразила Mythos, даже более доверчивым людям легко задаться вопросом: что они получают взамен? Представленные в четверг подробности, далеко не урегулировав спор, вероятно, только еще больше подогреют противоречия.
Однако, по словам Гринстеда, эти детали являются явным свидетельством полезности обнаружения с помощью ИИ, а мотивация Mozilla проста.
«Люди немного обожглись на прошлом годе этих мусорных коммитов, поэтому мы сочли важным показать часть нашей работы, открыть некоторые ошибки и поговорить об этом немного подробнее в надежде стимулировать какие-то действия или продолжить дискуссию», — сказал он. «Здесь нет никакого маркетингового угла. Наша команда полностью приняла этот подход. Мы пытаемся донести информацию об этой технике в целом, а не о каком-либо конкретном поставщике моделей, компании или чем-либо подобном».
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Dan Goodin