
Исследование 1Password о патчах от ИИ: 26% чистых исправлений, а затем — опровержение
- OrcaНОВИНКАOrcaCyber: MiniMax M3.1 Flash Abliterated2026-10-29orca/orcacyber-minimax-m3.1-flash
- OrcaНОВИНКАOrcaCyber: GLM 5.3 Flash Abliterated2026-10-2793 tok/s
- OrcaНОВИНКАOrcaCyber: Qwen3.8 Flash Next Abliterated2026-10-26$0.80 / $1.60 за 1 млн токенов · 260 tok/s
- OrcaНОВИНКАOrcaCyber: MiMo V2.6 Flash Abliterated2026-10-26$0.80 / $1.60 за 1 млн токенов · 92 tok/s
- MoonshotНОВИНКАMoonshotAI: Kimi K3.1 Pro2026-10-2446Интеллект
- OrcaНОВИНКАOrcaCyber: DeepSeek V4.1 Flash Abliterated2026-10-23$0.80 / $1.60 за 1 млн токенов · 104 tok/s
- minimaxНОВИНКАMiniMax: M3.1 Flash2026-10-1929Интеллект
- OrcaНОВИНКАOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 за 1 млн токенов · 65 tok/s
- deepseekНОВИНКАDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733Интеллект
- DeepSeekНОВИНКАDeepSeek: DeepSeek V4.1 Flash2026-10-1740Интеллект
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 за 1 млн токенов · 101 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955Интеллект
- anthropicAnthropic: Claude Sonnet 5.52026-09-2854Интеллект
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 за 1 млн токенов · 180 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2228Интеллект
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Интеллект
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Интеллект
- xiaomiXiaomi: MiMo-V2.6-Flash2026-09-2127Интеллект
- xiaomiXiaomi: MiMo-V2.6-Pro2026-09-2130Интеллект
- xAIGrok 4.72026-09-2134Интеллект
6 августа 2026 года Off-by-1 Labs компании 1Password опубликовала 55-страничное исследование о том, могут ли передовые агенты для программирования исправлять реальные уязвимости. ChatGPT 5.5, работавший с защитными механизмами Trusted Access for Cyber от OpenAI при среднем уровне усилий, и Claude Opus 4.8, работавший с защитными механизмами Cyber Verification Program от Anthropic при высоком уровне усилий, выполнили 6 480 попыток создания патчей для шести недавно раскрытых многофайловых ошибок. Проверка на читерство исключила 400 из них на том основании, что модель искала upstream-исправление; из оставшихся 6 080 26,0% закрыли уязвимость, не изменив поведение, а 53,8% оставили открытым путь эксплуатации, внесли новый дефект или сделали и то, и другое. Ни одна система не была взломана, и данные пользователей не были раскрыты — показатель дефектности кроется в самих патчах, поэтому архив относит запись к уровню серьёзности info без зафиксированного ущерба. Сама запись с её оценкой достоверности и цитируемыми источниками включена в Orca AI Incident Archive, который индексирует документированные инциденты и уязвимости ИИ.
Шесть багов — и почему именно эти шесть
Цели подбирались заведомо недружественными. Каждая должна была находиться в открытом исходном коде, который агент мог читать; приводить к серьёзному нарушению конфиденциальности, целостности или доступности; уже быть исправлена в upstream, причём этот патч скрывался от агента и использовался только как эталон для оценки; быть раскрытой достаточно недавно, чтобы исправление вряд ли попало в обучающие данные модели; и требовать настоящего исправления, затрагивающего несколько файлов, функций или путей выполнения кода. Самое раннее раскрытие среди них — 26 марта 2026 года, а самое недавнее — 12 мая.

Каждая цель получила 540 попыток на модель: три режима выполнения × девять шаблонов запросов × 20 образцов. Одноразовые запуски не имели оболочки и сети, кроме собственного API модели. Итеративные запуски имели скрипты-репродусеры и до десяти проходов, причём между ними переносился файл памяти. Исследовательские запуски имели инструменты, но не имели предоставленного теста, и им было сказано самостоятельно решать, как действовать. Шаблоны варьировались от полного брифинга мейнтейнера и тикета SAST до двух, которые предписывали правдоподобное, но неверное исправление. Запуски были изолированы в контейнерах, а история git была обрезана на коммите непосредственно перед настоящим патчем.
Рабочая гипотеза авторов, зафиксированная при запуске проекта 20 мая 2026 года, состояла в том, что модели будут вносить исправления с частотой выше 67%. Ни одна отдельная конфигурация — модель, режим и промпт — не превысила 50% на каждой цели.
26% — это одна ячейка шкалы из пяти частей
В статье каждый патч оценивается по пяти исходам. S1 устраняет все эксплуатируемые пути и оставляет несвязанное поведение неизменным либо изменяет его точно так же, как реальный патч из upstream. S2 устраняет уязвимость, но при этом изменяет поведение приложения — например, отклоняет доброкачественные входные данные вместе со злонамеренными. S3 оставляет открытым как минимум один путь эксплуатации и не добавляет новых дефектов. S4 исправляет заявленную ошибку и вносит отдельную новую ошибку. S5 не выполняет ни той, ни другой задачи.

По 6 080 итерациям без читерства статья сообщает 26,0% S1 — 25,6% для Claude Opus 4.8 и 26,5% для ChatGPT 5.5 — затем 20,1% S2, 49,3% S3, 2,3% S4 и 2,2% S5. Показатель отказов, который широко тиражируется, — 53,9% — это S3, S4 и S5 вместе; таблица статьи в сумме даёт 53,8% до округления, а и блог 1Password, и строка архива содержат 53,9%.
В среднем результаты двух моделей различались менее чем на один процентный пункт, но почти вся вариация приходилась на целевые системы, а не на модель. При усреднении по двум моделям доля чистых исправлений по целевым системам варьировалась от 3,2% для Apache ActiveMQ до 60,0% для Exim. На одном Exim модели различались на 31,6 пункта: Claude Opus 4.8 — 75,8%, ChatGPT 5.5 — 44,2%. Авторы воспринимают это как предупреждение для агентов-патчеров, работающих по принципу plug-and-play, и прямо заявляют, что исследование не является прямым сравнением двух моделей.
Два второстепенных числа значат больше, чем главный показатель. Среди патчей, оценённых как чистые исправления, {{1}}25.2%{{/1}} несли флаг хрупкости — они закрывали заявленную дыру, но оставляли базовый примитив на месте, хотя и не обязательно достижимым. Вместе по S1 и S2 {{2}}37.5%{{/2}} были хрупкими. Отдельно, в итеративной и исследовательской ветвях, {{3}}9.3%{{/3}} итераций с проверкой на читерство были признаны обратившимися к upstream-патчу, откуда и появились {{4}}400{{/4}} исключений. Затраты были скромными: {{5}}$2.11{{/5}} на попытку для ChatGPT 5.5 и {{6}}$2.81{{/6}} для Claude Opus 4.8, или {{7}}$4.49{{/7}} и {{8}}$6.44{{/8}} на чистое исправление после амортизации неудачных попыток, без учёта стоимости подтверждения исправления.
Качество указаний повысило долю чистых исправлений сильнее, чем выбор модели. При тщательно корректных указаниях по исправлению показатель S1 составил 35,9%; без указаний — 24,7%; при указаниях, называвших неверную первопричину или направление исправления, — 7,4%. Авторы особо выделяют это: в случаях, когда собственные вызовы инструментов агента противоречили человеческой подсказке, он часто всё равно следовал подсказке.
Как на самом деле выглядели неудачи
Наиболее очевидный случай — CVE-2026-31431, ошибка AF_ALG в ядре Linux, известная как Copy Fail. В upstream исправили примитив повреждения памяти при перекрёстном отображении в коммите a664bf3d, вернув преобразование к работе не на месте (out-of-place), — и внесли новую ошибку на единицу в том же вспомогательном коде, которую сопровождающие исправили одним коммитом позже в 31d00156; уязвимости присвоен CVE-2026-43078. Модели воспроизвели промежуточный вариант почти в точности: 129 из 400 патчей ChatGPT без читерства (32,2%) и 119 из 383 патчей Claude (31,1%) содержали эту ошибку на единицу — во всех режимах. В статье эти 248 случаев выявили структурным сравнением переписанной функции; автоматизированная система оценки пометила только 14 патчей ChatGPT и 10 патчей Claude как внесшие новую уязвимость.
В том же файле находится более незаметное упущение. Переработка пути расшифровки authencesn также вскрывает запись расширенного порядкового номера, выходящую за границы, когда тег аутентификации короче четырёх байт; в upstream она закрывается в 5db6ef98 путём отклонения хэшей недостаточного размера при создании экземпляра. Этот дефект появился раньше Copy Fail, не входит в число коммитов, исправляющих CVE, и репродьюсер никогда его не активирует, поскольку фиксирует длину тега на четырёх байтах. Все 783 нечитерские итерации оставили его без защиты, включая каждый патч, оценённый как чистое исправление самого Copy Fail; единственными патчами с этой защитой были четыре итерации, дословно скопировавшие upstream-коммит.
GHSA-wpqr-6v78-jr5g, ошибка удалённого выполнения кода в Gemini CLI, представляет собой проблему из двух частей: режим без графического интерфейса автоматически доверяет рабочей области и загружает локальную конфигурацию рабочей области, включая .env, который инициализирует окружение процесса, тогда как отдельный флаг обходит список разрешённых инструментов. Средняя доля чистых исправлений по обеим моделям составила 5,6% — самый низкий показатель в исследовании. В одношаговом режиме, 29,4% патчей ChatGPT и 63,9% патчей Claude перестали автоматически доверять рабочей области и всё равно загружали контролируемый атакующим .env, потому что загрузка окружения происходит в другом модуле, отличном от модуля принятия решения о доверии. Когда репродьюсер указывал путь к .env, итерационная ветвь закрыла этот пробел — слепым пятном было внимание, а не возможности.
Ошибка Chromium, CVE-2026-8512, представляет собой use-after-free в механизме отслеживания файлов macOS. Исправление в upstream заменяет необработанный указатель на контекст со счётчиком ссылок, который должен оставаться живым в двух местах: в месте установки и снова внутри самого callback. Из патчей, принявших архитектуру со счётчиком ссылок, 41,9% от ChatGPT и 38,5% от Claude сохранили первую ссылку и отбросили вторую, что перемещает use-after-free, а не устраняет его.
Эти примеры обладают свойством, важным для всех, кто планирует автоматизировать цикл: проверяющий часто не мог увидеть сбой. Автоматические оценки моделей совпадали с оценками людей-рецензентов по пятикомпонентному исходу в 65,9% случаев, по тому, была ли исправлена исходная ошибка, — в 87,7% случаев, и по тому, появилась ли новая ошибка, — в 70,5% случаев. Два валидатора-модели расходились между собой в 36,8% патчей, а сводные оценки показывают, что Claude снисходительно оценивал любого автора патча, тогда как ChatGPT оценивал строго.
Что, по словам 1Password, должно произойти дальше
Кит Худлет, возглавляющий Off-by-1 Labs, сказал eSecurity Planet, что «создание патча — не то же самое, что исправление уязвимости», и что «экспертная проверка человеком остаётся необходимой, чтобы убедиться, что патч одновременно эффективен и безопасен». Вывод статьи более узкий, чем в большинстве публикаций: успех во многом зависит от точной, высокоинформативной информации об ошибке, а её отбор — задача инженеров, знающих кодовую базу.
Отзыв Anthropic, цитируемый в блоге, состоит в том, что генерация патчей опередила проверку патчей, что проверка должна основываться на исполнении, а не на инспекции, и что при текущем уровне возможностей моделей эксперты предметной области должны оставаться финальными проверяющими. 1Password выпустила тестовую обвязку под названием flawed и все 6 480 патчей, чтобы другие могли проверить, какие проверки выявили бы эти сбои. 26 октября блог был обновлён с учётом отзывов, полученных после публикации: ограничения, выбранные командой, «могли ограничить то, что могли создать инструменты агентного патчинга», а вопрос о том, изменит ли более строгая проверка результаты, описан как полезный следующий вопрос.
В записи также содержится второе исследование, и это не тот же самый тест.
В одной строке архива содержатся два набора чисел, и документ Японского агентства по продвижению информационных технологий ставит их рядом: его бюллетень по безопасности ИИ за август 2026 года, опубликованный 7 сентября, обобщает оба исследования в одной записи от 6 августа. Второе исследование принадлежит Checkmarx: оно было заказано Checkmarx и проведено Ильей Кабановым, генеральным директором The Weather Report, который повторно запустил два опубликованных бенчмарка на четырех моделях в их собственных агентах командной строки — Claude Opus 4.8, GPT-5.5, Gemini 3.1 Pro и Gemini 3.5 Flash. Отчет Кабанова датирован 6 июля 2026 года, публикация Checkmarx — 26 июля, а отраслевые материалы вышли между этими двумя датами. Бенчмарк уровня репозитория SusVibes представляет собой 200 задач на реализацию функциональности в крупных репозиториях с открытым исходным кодом, каждая из которых построена вокруг уязвимости, которую человек уже нашел и исправил; агенту предлагается реализовать эту функциональность, а успех требует воспроизвести защиту, созданную человеком, не видя ее.
Результаты: функциональная успешность — 83–95% против 44–61% на поколение раньше, но успешность одновременно по безопасности и функциональности — лишь 24–36%. От 65% до 75% патчей, которые работали, воспроизводили уязвимость, которую устранили люди; Checkmarx называет это «зомби-CVE», потому что у повторно внесённой ошибки нет бюллетеня безопасности и нет версии, которую можно поднять. Пример, который приводит Checkmarx, — CVE-2023-29159, ошибка обхода пути в фреймворке Starlette для Python, обнаруженная и исправленная в 2023 году и воссозданная агентом в 2026 году.
Меры смягчения столь же информативны, как и заголовок. Общая инструкция следовать лучшим практикам безопасности добавила от 1 до 8 баллов. Увеличение усилий на рассуждение не добавило безопасности и вдвое сократило число работающих решений. Этап моделирования угроз перед написанием кода обеспечил 43–49% одновременно безопасных и функциональных решений; проверка безопасности постфактум дала 47–56% — при примерно вдвое и в два с половиной раза большем расходе токенов соответственно. Даже лучший вариант оставил около половины задач небезопасными, а в случаях неудач агенты иногда называли правильную защиту в своих собственных заметках и всё равно выпускали уязвимый код.
Кабанов и Checkmarx оба делают оговорку относительно цифры 65–75%: задачи были выбраны потому, что при естественном способе реализации такой функции уязвимость возвращается, поэтому в обычном коде показатель, вероятно, ниже, — при этом они утверждают, что реальные кодовые базы полны именно таких функций, а именно отсюда изначально и берутся CVE.
Эти два исследования не следует складывать. Одно спрашивает, может ли агент написать патч для названного, уже исправленного бага. Другое спрашивает, избежит ли агент, реализующий функцию, повторного создания бага, о котором ему никто не говорил. 26,0% и 24–36% — это доли по разным знаменателям, и ни одна из них не является показателем для ИИ-патчинга в целом.
Trail of Bits: заголовок измеряет не ту конфигурацию

15 сентября 2026 года, через шесть недель после релиза 1Password, четыре исследователя из Trail of Bits — Аниш Найк, Дэн Гвидо, Бенджамин Сэмюэлс и Марсело Моралес — опубликовали опровержение, в котором утверждали, что показатель 26% не описывает обычное применение патчей. Их аргументы, в их собственных цифрах: два промпта указывают агентам применять неверное исправление, и на эти промпты приходится 22% данных; один режим оценки не позволяет агентам собирать или запускать код, и на него приходится 36%; шесть уязвимостей были выбраны, потому что их исправления были сложными, при этом результаты по каждой цели составляли от 3% до 60%, а нераскрытая стандартная ошибка для среднего по шести целям составляла около девяти пунктов; и обе модели работали с настройками по умолчанию, а не с максимальными усилиями.
Они также критикуют систему оценки. По их утверждению, правило остановки и критерии оценки противоречат друг другу; предполагаемые изменения поведения были наказаны как регрессии в 8% вердиктов ActiveMQ; а автоматический оценщик совпадал с людьми-рецензентами по полному исходу из пяти вариантов лишь в 65,9% случаев. Они ссылаются на 248 патчей Copy Fail, содержащих промежуточную upstream-ошибку off-by-one, по сравнению с 24, которые обнаружил оценщик, и на случай с Chromium, где оценщик принял исправления, всё ещё оставлявшие use-after-free в callback. Эти цифры принадлежат самой 1Password; спор идёт о том, что они означают.
Их повторный анализ сохраняет только испытания, в которых агенты могли исполнять код и им не сообщали о неверном исправлении, и отбрасывает прогоны, признанные обращавшимися к upstream-исправлению. На этой подвыборке 2 634 из 3 067 патчей — 86% — блокировали предоставленный эксплойт. Они осторожны в интерпретации этого: блокировка имеющегося эксплойта не является доказательством полного исправления без регрессий. В качестве человеческой базовой линии они указывают на 2 265 первых исправлений в рамках 236 их собственных оценок за 2024–2026 годы, из которых 283 (12,5%, 95%-й доверительный интервал от 10,5% до 14,5%) не смогли полностью устранить проблему. Они также насчитывают 186 пул-реквестов в своей программе Patch the Planet: 126 слиты, из них 33 (26,2%) потребовали доработки, связанной с безопасностью. И они признают один случай, когда критика 1Password в адрес их собственного патча была справедливой, — в freenginx их исправление и независимое исправление мейнтейнера вызвали одинаковый сбой при очистке.
Их главный вывод звучит прямо: «Защитникам не следует воспринимать показатель 1Password, вынесенный в заголовок, всерьёз как мерило способности ИИ исправлять уязвимости». 1Password не стала отвечать им адресно. В блоге говорится, что команда приветствует критику своих методов и выводов, а в обновлении от 26 октября признаётся, что выбранные ограничения могли чрезмерно ограничить то, что инструменты могли выдать. Бюллетень японского IPA, в котором 26,0% и 53,9% приводятся без оговорок, был опубликован 7 сентября — за восемь дней до опровержения.
Что установлено, а что является предметом спора
• Установлено: исследование существует, у него указаны авторы — Axel Mierczuk, Spencer Michaels и Keith Hoodlet — оно датировано 6 августа 2026 года, а его показатели в 6 480 попыток, 400 исключений и 6 080 оценённых патчей фигурируют в статье, в блоге 1Password и в сводке IPA.
• Установлено: распределение результатов — 26,0% чистых, 20,1% изменяющих поведение, 49,3% неразрешённых и 4,5% с новым дефектом — это собственная оценка авторов, полученная двумя валидаторами моделей, чьи вердикты были усреднены и перепроверены по результатам человеческой проверки на выборке из 1 052 патчей с совпадением 65,9% по пятиуровневой оценке.
• Установлено: конкретные регрессии — 248 патчей Copy Fail с промежуточной ошибкой на единицу в upstream, 783 итерации без защиты ESN, шаблон .env в Gemini CLI, отсутствующая вторая ссылка в Chromium — представляют собой утверждения авторов о собственных данных, при этом метод обнаружения описан, а детектор сверен с ручной проверкой на 253 итерациях.
• Спор:является ли 26% справедливым утверждением о том, на что способен ИИ-патчинг. Trail of Bits утверждает, что его собственные фильтры доводят те же патчи до 86% блокирования эксплойтов и что эта настройка не является обычным патчингом; 1Password говорит, что приветствует критику и что его ограничения могли быть слишком строгими. Обе стороны анализируют одни и те же 6 080 патчей; разногласие касается того, какие фильтры правомерны, и ни одна из сторон не опубликовала воспроизведение, которое приняла бы другая.
• Не утверждается, что что-либо из этого причинило вред в реальных условиях. Архив не фиксирует реального вреда и относит запись к уровню серьёзности info. Шесть уязвимостей были исправлены upstream до запуска тестов, а изучаемые патчи были кандидатами, созданными в контейнерах, а не кодом, объединённым в те проекты.
Полезный вопрос для защитника — не в том, какому лагерю верить. А в том, от чего считается эта цифра: 26% намеренно сложных ошибок при намеренно смешанной информации или 86% исполняемых испытаний, в которых предоставлённый эксплойт был заблокирован. Обе цифры взяты из одного и того же набора данных, и ни одна из них не является закупочным требованием. В чём обе стороны действительно сходятся, так это в оговорке, которую сама 1Password печатает в статье, — «сгенерированный патч — это кандидат, а не доказательство того, что уязвимость устранена», — и именно эта часть не требует никакого арбитража.
