На прошлой неделе компания Cloudflare поделилась своими впечатлениями о работе ИИ-модели Claude Mythos. Эта модель разработана компанией Anthropic, и в данный момент доступ к ней предоставляется «по приглашениям» в рамках проекта Project Glasswing. Одной из причин такого закрытого процесса тестирования является достаточно высокая эффективность ИИ-ассистента при поиске и обнаружении уязвимостей. Независимые подтверждения этой эффективности уже были опубликованы ранее, например от команды разработчиков браузера Mozilla Firefox.
В отличие от отчета Mozilla, Cloudflare в своей публикации не приводит примеры обнаруженных уязвимостей. Говорится только о том, что Mythos тестировалась на кодовой базе Cloudflare и что уязвимости действительно были обнаружены. Зато Cloudflare не ограничивается простым тезисом о том, что для эффективной работы ИИ-модели требуется разработка соответствующей обвязки, а подробно описывает, на какие этапы внутри этой обвязки разбивается автоматизированный поиск уязвимостей.
Согласно отету Cloudflare, помимо собственно обнаружения ошибок (с которым справляются и другие ИИ-модели) Mythos способна конструировать цепочку эксплуатации ошибок в коде и в итоге может предоставить доказательство опасности бага в виде полноценного эксплойта. Это улучшает соотношение «сигнала» (реально опасные, эксплуатируемые ошибки в ПО) и «шума» (неэксплуатируемые или вовсе несущественные проблемы). В Cloudflare говорят о возможности регулировки этого соотношения по «требованию заказчика»: они специально настроили модель так, чтобы специалисты имели больше информации для дальнейшей оценки, даже если это приводит к увеличению количества мусорной информации.
Даже эффективная модель не справится, если просто направить ее на репозиторий с предложением «что-нибудь там найти». При обсуждении требований к той самой обвязке вокруг ИИ-ассистента в Cloudflare скорее моделировали работу «человеческого» исследователя по безопасности. А такой специалист не пытается проанализировать весь код проекта с наскока, а фокусируется на отдельных элементах, будь то конкретная функция, класс уязвимостей или защитный механизм.
В результате предлагается следующее «правило жизни ИИ» для анализа кода: намеренное сужение фронта работ, но зато с возможностью проводить множество исследований параллельно. Там же авторы публикации упоминают интересные методы повышения эффективности работы с ИИ. Например, запросы «есть ли ошибки в этом коде» и «может ли атакующий добраться до бага, чтобы его эксплуатировать» очевидно приведут к разным ответам. Есть смысл делать эти запросы по отдельности, а не скопом — так больше шансов получить адекватный ответ на оба. Отдельный интерес представляет предложенная процедура верификации выводов одной модели с помощью другой. Не обязательно, впрочем, сталкивать друг с другом именно разные модели: автоматизированный контроль может проводить та же модель просто с другим набором промптов.
Собственно обвязка у Cloudflare выглядит примерно следующим образом. На первом этапе репозиторий анализируется и разбивается на отдельные элементы, идентифицируются важные параметры кода. Создается набор задач, каждая из которых нацелена на поиск уязвимостей, потенциально приводящих к атакам конкретного типа. Результат выполнения задачи сканируется отдельным контролирующим агентом. На этапе Gapfill выделяются участки кода, которые не были затронуты на предыдущих этапах: так борются с тенденцией ИИ к зацикливанию, когда модель снова и снова ищет ранее обнаруженные типы уязвимостей. Результаты работы ИИ группируются по общему источнику проблемы, а он дополнительно тестируется на предмет реалистичности эксплуатации. Еще одна цепь обратной связи вновь запускает поиск уязвимостей, подобных найденным, если была доказана их практическая опасность. Наконец, формируется отчет для дальнейшего изучения.
Отдельно в отчете Cloudflare затрагивается проблема закрытия уязвимостей в ситуации, когда их стало легче обнаруживать. Логичным, но неверным шагом было бы повышение скорости выпуска заплаток. Это, по мнению Cloudflare, приносит свои проблемы, так как каждый патч надо тестировать и далеко не всегда это можно делать с достаточной скоростью. Соответственно, растет опасность, что скороспелые заплатки приведут к появлению других багов. Вместо этого предлагается сфокусироваться на разработке комплексных систем защиты внутри программного обеспечения или сервиса: проектировать архитектуру приложения так, чтобы обнаруживаемые баги было труднее эксплуатировать в принципе. Чем сложнее эксплуатация, тем больше времени у разработчика на закрытие проблемы.
Эффективность ИИ-моделей в поиске уязвимостей может использоваться и во вред, точнее, уже используется. Закрытое распространение наиболее действенных инструментов может только отсрочить момент появления столь же эффективных моделей на стороне злоумышленников. В Cloudflare отмечают, что, хотя у Mythos и есть встроенные ограничители, способные уменьшить вероятность быстрой разработки эксплойтов, работают они плохо. Простое изменение формулировки запроса или даже повторный запрос в другое время позволяли эти ограничители обойти. Тем важнее выглядит идея улучшения системной защиты в ПО, отсутствие которой может привести к катастрофическим инцидентам. Косвенно эта мысль отражена и в отчете по браузеру Firefox: там упоминается случай, когда после получения нескольких отчетов об однотипных уязвимостях разработчики не стали исправлять их по очереди, а внесли архитектурное изменение, сделавшее эксплуатацию этих ошибок невозможной. Позднее, при сканировании кода с помощью Mythos, в Mozilla видели множество попыток ИИ эксплуатировать именно этот тип уязвимостей, и все были безуспешными.
Что еще произошло
Исследователи «Лаборатории Касперского» опубликовали подробный анализ уязвимости CVE-2026-3102 в утилите ExifTool. Авторы статьи использовали в качестве отправной точки более раннюю проблему 2021 года. Уязвимость теоретически может приводить к выполнению произвольного кода на компьютерах под управлением Mac OS. Еще одна статья разбирает свежие приемы группировки Cloud Atlas, нацеленной на организации в России и Беларуси.
Новая массовая атака на пакеты в репозитории NPM привела к компрометации более 300 релизов, включая проекты с десятками миллионов загрузок. Атака нацелена прежде всего на разработчиков ПО, причем был зафиксирован необычный способ эксфильтрации приватных данных: если вредоносный код находит ключи доступа к репозиторию на GitHub, похищенная информация загружается прямо туда.
Microsoft закрыла внеочередным патчем две уязвимости нулевого дня в защитном механизме Windows Defender.