Claude Info
Новости·

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

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

моделиисследованиябезопасностьAPIинженерия

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

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

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

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

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

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

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

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

Поэтому мы поставили перед Claude задачу найти новые уязвимости в текущей версии Firefox — баги, которые по определению не могли быть ранее задокументированы. Сначала мы сосредоточились на движке JavaScript, а затем расширили область до других частей браузера. Движок 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, и попросили создать эксплойт для каждой из них. Чтобы доказать успешную эксплуатацию уязвимости, мы попросили Claude продемонстрировать реальную атаку. В частности, нам требовалось, чтобы он прочитал и записал локальный файл в целевой системе, как это сделал бы злоумышленник.

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

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

Что дальше для кибербезопасности с применением AI

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

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

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

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

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

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

  • Сопровождающие минимальные тест-кейсы
  • Подробные proof-of-concept
  • Кандидаты на патчи

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

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

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

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

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

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

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

Если вас интересует участие в наших усилиях по безопасности — написание новых скаффолдов для обнаружения уязвимостей в программном обеспечении с открытым исходным кодом; триаж, патчинг и репортинг уязвимостей; разработка надёжного процесса CVD для эпохи AI — подайте заявку на работу в Anthropic здесь.

Сноски

  • Все советы, изложенные здесь, основаны на нашем использовании Claude, но должны применяться к любому предпочитаемому вами LLM.

  • Которые Mozilla исправила самостоятельно.