Партнерство с Mozilla для повышения безопасности Firefox

Partnering with Mozilla to improve Firefox’s security

Модели ИИ теперь способны самостоятельно находить уязвимости высокой степени критичности в сложном программном обеспечении. Как мы недавно рассказывали, Claude обнаружила более 500 уязвимостей нулевого дня (проблем безопасности, о которых не знают разработчики ПО) в хорошо протестированном ПО с открытым исходным кодом.

В этой статье мы делимся подробностями сотрудничества с исследователями из Mozilla: за две недели Claude Opus 4.6 обнаружила 22 уязвимости. Из них специалисты Mozilla присвоили 14 уязвимостям статус высокой критичности — это почти пятая частьот всехуязвимостей высокой степени критичности в Firefox, устраненных в 2025 году. Иными словами, ИИ позволяет выявлять серьезные проблемы безопасности с колоссальным ускорением.

A graph showing how Opus 4.6 was responsible for a substantial increase in the number of Firefox security vulnerabilities detected per month.Уязвимости безопасности Firefox, обнаруженные из всех источников, по месяцам. Claude Opus 4.6 нашла 22 уязвимости в феврале 2026 года — больше, чем сообщалось за любой отдельный месяц 2025 года.

В рамках этого сотрудничества команда Mozilla обработала множество наших отчетов, помогла нам понять, какие типы обнаружений заслуживают отправки баг-репорта, и выпустила исправления для сотен миллионов пользователей в Firefox 148.0. Это партнерство и извлеченные нами технические уроки служат примером того, как исследователи безопасности на базе ИИ и разработчики могут эффективно работать вместе для решения современных задач.

От оценки моделей к партнерству в сфере безопасности

В конце 2025 года мы заметили, что модель Opus 4.5 близка к решению всех задач в CyberGym — бенчмарке, который проверяет способность языковых моделей воспроизводить известные уязвимости безопасности. Нам захотелось создать более сложную и реалистичную оценку с высокой концентрацией технически сложных уязвимостей, подобных тем, что встречаются в современных веб-браузерах. Поэтому мы собрали набор данных из прошлых общих уязвимостей и угроз (CVE) для Firefox, чтобы проверить, сможет ли Claude их воспроизвести.

Мы выбрали Firefox, поскольку это одновременно сложная кодовая база и один из самых тщательно протестированных и защищенных проектов с открытым исходным кодом в мире. Это делает его более суровым испытанием способностей ИИ находить новые уязвимости по сравнению с тем ПО с открытым исходным кодом, которое мы использовали ранее для тестирования наших моделей. Сотни миллионов пользователей полагаются на браузер каждый день, а уязвимости в нем особенно опасны, так как пользователи постоянно сталкиваются с неконвертированным контентом и зависят от надежности браузера.

Нашим первым шагом было использование Claude для поиска ранее выявленных CVE в старых версиях кодовой базы Firefox. Мы были удивлены тем, что Opus 4.6 смогла воспроизвести высокий процент этих исторических CVE, учитывая, что на обнаружение каждой из них у людей ушло немало сил. Тем не менее, оставалось неясным, насколько можно доверять этому результату, поскольку по крайней мере часть этих исторических CVE могла уже содержаться в обучающих данных Claude.

Тогда мы поручили Claude найти новые уязвимости в текущей версии Firefox — баги, которые по определению не могли быть обнаружены ранее. Сначала мы сосредоточились на движке JavaScript в Firefox, а затем расширили область поиска на другие компоненты браузера. Движок JavaScript оказался удобным отправным пунктом: это независимая часть кодовой базы Firefox, которую можно анализировать изолированно, и ее безопасность критически важна из-за широкой поверхности атаки (он обрабатывает недоверенный внешний код при просмотре веб-страниц пользователями).

Всего после двадцати минут изучения Claude Opus 4.6 сообщила об обнаружении уязвимости типа Use-After-Free (ошибка работы с памятью, которая может позволить злоумышленникам перезаписывать данные произвольным вредоносным содержимым) в движке JavaScript. Один из наших исследователей подтвердил этот баг в независимой виртуальной машине с последней версией Firefox, после чего передал его двум другим исследователям Anthropic, которые также подтвердили ошибку. Затем мы отправили отчет об ошибке в Bugzilla — трекер задач Mozilla, — приложив описание уязвимости и предложенный патч (написанный Claude и проверенный исследовательской командой) для облегчения поиска первопричины.

Пока мы проверяли и отправляли эту первую уязвимость в Firefox, Claude уже обнаружила еще пятьдесят уникальных входящих данных, вызывающих сбои. Пока мы занимались сортировкой этих сбоев, с нами связался исследователь из Mozilla. После технического обсуждения наших процессов и демонстрации еще нескольких вручную проверенных уязвимостей они порекомендовали нам отправлять все найденные результаты оптом без предварительной проверки каждого из них — даже если мы не были полностью уверены в том, что все тестовые примеры со сбоями несут угрозу безопасности. К концу этой работы мы просканировали почти 6 000 файлов на C++ и отправили в общей сложности 112 уникальных отчетов, включая упомянутые выше уязвимости высокой и средней степени критичности. Большинство проблем уже исправлено в Firefox 148, а остальные будут устранены в следующих релизах.

Занимаясь таким поиском багов в стороннем программном посте, мы всегда помним о том, что можем упустить нечто важное в кодовой базе, из-за чего находка окажется ложноположительной. Мы стараемся тщательно проверять баги самостоятельно, но пространство для ошибок есть всегда. Мы искренне благодарны Mozilla за прозрачность процесса приоритизации и за помощь в корректировке нашего подхода, гарантирующую отправку только тех тестовых примеров, которые представляют для них интерес (даже если не все они в итоге оказались связаны с безопасностью). С тех пор исследователи Mozilla начали внутренние эксперименты с Claude в целях безопасности.

От поиска уязвимостей к созданию примитивных эксплойтов

Чтобы оценить предельные возможности Claude в сфере кибербезопасности, мы также разработали новый метод оценки, позволяющий определить, способна ли Claude эксплуатировать какие-либо из обнаруженных нами багов. Иными словами, мы хотели понять, может ли Claude разрабатывать инструменты, которые хакеры применяют для использования этих ошибок с целью выполнения вредоносного кода.

Для этого мы предоставили Claude доступ к отправленным в Mozilla уязвимостям и попросили создать эксплойт для каждой из них. В качестве доказательства успешной эксплуатации мы потребовали продемонстрировать реальную атаку — в частности, прочитать и записать локальный файл в целевой системе, как это сделал бы злоумышленник.

Мы провели этот тест несколько сотен раз с разных исходных позиций, потратив примерно 4 000 долларов на API-кредиты. Несмотря на это, Opus 4.6 смогла реально превратить уязвимость в эксплойт лишь в двух случаях. Это говорит о двух вещах. Во-первых, Claude гораздо лучше находит такие баги, чем эксплуатирует их. Во-вторых, затраты на обнаружение уязвимостей на порядок ниже, чем на создание эксплойтов для них. Тем не менее, сам факт того, что Claude смогла успешно и автоматически разработать грубый эксплойт для браузера (пусть и в единичных случаях), вызывает тревогу.

Слово «грубый» здесь ключевое. Написанные Claude эксплойты работали только в нашей тестовой среде, где намеренно были отключены некоторые функции безопасности современных браузеров. В первую очередь это касается песочницы (sandbox), назначение которой — снижать масштаб последствий уязвимостей такого рода. Таким образом, многоуровневая защита («defense in depth») Firefox эффективно нейтрализовала бы эти конкретные эксплойты. Однако выходы за пределы песочницы — не редкость, а атака Claude является важным компонентом полноценного сквозного эксплойта. Подробнее о том, как Claude разработала один из таких эксплойтов для Firefox, читайте в нашем блоге Frontier Red Team.

Что ждет кибербезопасность на базе ИИ в будущем

Эти первые признаки разработки эксплойтов с помощью ИИ подчеркивают важность ускорения процессов поиска и исправления багов для защитников. В связи с этим мы хотим поделиться некоторыми техническими и процедурными рекомендациями, которые мы выработали в ходе этого анализа.

Во-первых, при исследовании «агентов для создания патчей», использующих LLM для разработки и проверки исправлений, мы разработали несколько методов, которые, как мы надеемся, помогут разработчиков применять такие языковые модели, как Claude, для более быстрой приоритизации и устранения отчетов о безопасности.1

Основываясь на нашем опыте, Claude работает лучше всего, когда может перепроверять собственные результаты с помощью другого инструмента. Мы называем этот класс инструментов «верификатором задач»: это надежный метод подтверждения того, действительно ли результат работы ИИ-агента достигает поставленной цели. Верификаторы задач дают агенту обратную связь в реальном времени по мере исследования кодовой базы, позволяя ему глубоко и итеративно дорабатывать решение до успеха.

Верификаторы задач помогли нам обнаружить описанные выше уязвимости в Firefox,2, а в ходе других исследований мы выяснили, что они также полезны для исправления багов. Хороший агент по патчам должен проверять как минимум две вещи: действительно ли уязвимость устранена и сохранена ли исходная функциональность программы. В нашей работе мы создали инструменты, которые автоматически проверяли, можно ли снова вызвать исходный баг после применения предполагаемого патча, а также параллельно запускали тестовые наборы для выявления регрессий (случайных поломок другой функциональности). Мы рассчитываем, что разработчики лучше всех знают, как создавать такие верификаторы для собственных кодовых баз; главное здесь то, что предоставление агенту надежного способа проверки обоих условий кардинально повышает качество его работы.

Мы не можем гарантировать, что все созданные агентами патчи, прошедшие эти тесты, сразу пригодны для слияния в основную ветку. Тем не менее, верификаторы задач дают нам большую уверенность в том, что полученный патч исправит конкретную уязвимость и при этом сохранит функциональность программы — и, следовательно, удовлетворяет минимальным требованиям к правдоподобному исправлению. Разумеется, при проверке патчей, написанных ИИ, мы рекомендуем разработчикам подходить к ним с той же строгостью, что и к коду от любого внешнего автора.

Переходя к процессу отправки багов и патчей: мы понимаем, что разработчики перегружены работой. Поэтому наш подход заключается в предоставлении им всей информации, необходимой для проверки и доверия отчетам. Команда Firefox выделила три компонента наших отчетов, которые стали ключевыми для доверия к результатам:

  1. Минимальные сопутствующие тестовые примеры
  2. Подробные доказательства концепции (PoC)
  3. Предлагаемые патчи

Мы настоятельно рекомендуем исследователям, использующим инструменты поиска уязвимостей на базе LLM, включать аналогичные доказательства проверки и воспроизводимости при подаче отчетов, основанных на результатах работы таких инструментов.

Мы также опубликовали наши принципы работы при координированном раскрытии уязвимостей (CVD), где описываем процедуры взаимодействия с разработчиками. На данный момент наши процессы соответствуют стандартным отраслевым нормам, однако по мере совершенствования моделей нам, возможно, придется скорректировать их, чтобы поспевать за развитием возможностей ИИ.

Срочность момента

Передовые языковые модели сегодня являются исследователями уязвимостей мирового уровня. Помимо 22 CVE, выявленных в Firefox, мы использовали Claude Opus 4.6 для поиска уязвимостей в других важных программных проектах, таких как ядро Linux. В ближайшие недели и месяцы мы продолжим рассказывать о том, как применяем наши модели и работаем с открытым сообществом для повышения безопасности.

В настоящее время Opus 4.6 гораздо лучше справляется с выявлением и исправлением уязвимостей, чем с их эксплуатацией. Это дает преимущество защитникам. А с недавним выпуском Claude Code Security в ограниченном исследовательском превью мы открываем возможности обнаружения (и устранения) уязвимостей напрямую для клиентов и мейнтейнеров открытого ПО.

Но судя по темпам прогресса, разрыв между возможностями передовых моделей по поиску уязвимостей и их эксплуатации вряд ли сохранится надолго. Если и когда будущие языковые модели преодолеют этот барьер эксплуатации, нам потребуется продумать дополнительные меры предосторожности или другие действия, чтобы предотвратить использование наших моделей злоумышленниками.

Мы призываем разработчиков воспользоваться этим временным окном, чтобы удвоить усилия по повышению безопасности своего ПО. С нашей стороны мы планируем существенно расширить работу в области кибербезопасности: в том числе сотрудничать с разработчиками в поиске уязвимостей (следуя описанному выше процессу CVD), создавать инструменты для помощи разработчикам в сортировке отчетов об ошибках и напрямую предлагать патчи.

Если вы хотите поддержать наши инициативы по безопасности — писать новые оболочки (скаффолды) для поиска уязвимостей в ПО с открытым исходным кодом, заниматься сортировкой, исправлением и репортингом уязвимостей, а также развивать надежный процесс CVD для эпохи ИИ — <подайте заявку на работу в Anthropic здесь> откликнитесь на вакансию Anthropic здесь.

Примечания

  1. Все приведенные здесь советы основаны на нашем опыте использования Claude, но они применимы к любой выбранной вами LLM.
  2. Которые Mozilla пропатчила независимо.

Подпишитесь на рассылку Frontier Red Team

Получайте обновления о наших последних исследованиях и находках в области red teaming.

Полный текст статьи читайте на Anthropic