
1PasswordのAIパッチ研究:クリーンな修正は26%、そして反論
- OrcaNEWOrcaCyber: MiniMax M3.1 Flash Abliterated2026-10-29orca/orcacyber-minimax-m3.1-flash
- OrcaNEWOrcaCyber: GLM 5.3 Flash Abliterated2026-10-2793 tok/s
- OrcaNEWOrcaCyber: Qwen3.8 Flash Next Abliterated2026-10-26$0.80 / $1.60 100万トークンあたり · 260 tok/s
- OrcaNEWOrcaCyber: MiMo V2.6 Flash Abliterated2026-10-26$0.80 / $1.60 100万トークンあたり · 92 tok/s
- MoonshotNEWMoonshotAI: Kimi K3.1 Pro2026-10-2446知能
- OrcaNEWOrcaCyber: DeepSeek V4.1 Flash Abliterated2026-10-23$0.80 / $1.60 100万トークンあたり · 104 tok/s
- minimaxNEWMiniMax: M3.1 Flash2026-10-1929知能
- OrcaNEWOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 100万トークンあたり · 65 tok/s
- deepseekNEWDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733知能
- DeepSeekNEWDeepSeek: DeepSeek V4.1 Flash2026-10-1740知能
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 100万トークンあたり · 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 100万トークンあたり · 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知能
2026年8月6日、1PasswordのOff-by-1 Labsは、最先端のコーディングエージェントが実際の脆弱性を修正できるかどうかについての55ページの研究を公開した。OpenAIのTrusted Access for Cyberガードレールのもと中程度のエフォートで実行されたChatGPT 5.5と、AnthropicのCyber Verification Programガードレールのもと高エフォートで実行されたClaude Opus 4.8は、最近公開された複数ファイルにわたる6件のバグに対して6,480件のパッチ試行を行った。チート検査の工程では、モデルが上流の修正を探しに行ったと判断され、そのうち400件が除外された。残った6,080件のうち、26.0%は挙動を変えずに脆弱性を塞ぎ、53.8%はエクスプロイト経路を開いたままにし、新たな欠陥を導入した、またはその両方だった。どのシステムも侵害されず、ユーザーデータも露出しなかった — 欠陥率はパッチ自体にあり、そのためアーカイブはこの項目を、記録された危害がない info重大度で登録している。この記録自体は、その信頼度グレードと引用元とともに、以下に収録されている:Orca AI Incident Archive(これは文書化されたAIインシデントと脆弱性を索引化している)。
6つのバグと、なぜこの6つなのか
対象は意図的に手ごわいものになるよう選ばれた。それぞれは、エージェントが読めるオープンソースコード内に存在し、機密性・完全性・可用性に重大な侵害をもたらし、上流ですでにパッチが適用されていて、そのパッチはエージェントには伏せられ採点基準としてのみ使われるものであり、修正がモデルの学習データに含まれている可能性が低くなるほど最近に開示され、さらに複数のファイル、関数、コードパスにまたがる実際の修正を必要とすることが条件だった。その中で最も古い開示は2026年3月26日、最も新しいものは5月12日だった。

各ターゲットはモデルごとに540回の試行を受けた。内訳は3つの実行モード×9つのプロンプトテンプレート×20サンプルである。ワンショット実行にはシェルがなく、モデル自身のAPI以外のネットワークもなかった。反復実行には再現スクリプトと最大10回のパスがあり、その間でメモリファイルが引き継がれた。探索実行にはツールがあったがテストは提供されず、自らの行動方針を決めるよう指示された。テンプレートは、メンテナによる完全なブリーフからSASTチケット、さらにはもっともらしいが誤った修正を指示する2つまで多様だった。実行はコンテナで分離され、git履歴は実際のパッチ直前のコミットで打ち切られていた。
著者らの作業仮説は、プロジェクトが2026年5月20日に始まった時点で固定されたもので、モデルが67%を超える率でパッチを当てるというものだった。単一の構成——モデル、モード、プロンプト——で、すべての対象において50%を上回ったものはなかった。
26%は5段階スケールの1区画です
論文では各パッチを5つの結果に基づいて評価する。S1はすべての悪用可能な経路を緩和し、無関係な動作を変更しない、または実際の上流パッチとまったく同じように変更する。S2は脆弱性を緩和するが、その過程でアプリケーションの動作を変更する — 例えば、悪意のある入力と併せて無害な入力も拒否する。S3は少なくとも1つの悪用経路を開いたままにし、新たな欠陥を追加しない。S4は報告されたバグを修正し、別のバグを導入する。S5はどちらの役割も果たさない。

6,080回の非チート反復全体で、論文が報告しているのは、S1が26.0%——Claude Opus 4.8では25.6%、ChatGPT 5.5では26.5%——で、続いてS2が20.1%、S3が49.3%、S4が2.3%、S5が2.2%です。流布している失敗率53.9%は、S3、S4、S5を合計したものです。論文の表では丸め前の合計は53.8%となり、1Passwordのブログとアーカイブの行はいずれも53.9%を記載しています。
2つのモデルは平均では互いに1パーセントポイント以内で終えたが、変動のほとんどはモデルではなく対象にあった。2つを平均すると、対象ごとのクリーン修正率はApache ActiveMQの3.2%からEximの60.0%までに及んだ。Eximだけでは、2つのモデルは31.6ポイント差だった。Claude Opus 4.8が75.8%、ChatGPT 5.5が44.2%である。著者らはこれをプラグアンドプレイ型パッチャーエージェントへの警告と解釈し、この研究は2つのモデルの直接比較ではないと明言している。
見出しの数字よりも、2つの副次的な数字のほうが重要だ。クリーンな修正と評価されたパッチのうち25.2%には脆弱性フラグが付いていた。報告された穴は塞がれたが、基盤となるプリミティブは残されたままだ(ただし必ずしも到達可能とは限らない)。S1とS2を合わせると37.5%が脆弱だった。別途、反復アームと探索アームでは、不正チェックの対象となった反復の9.3%が上流のパッチを参照したと判定された。400件の除外はここから生じている。コストは控えめで、1試行あたりChatGPT 5.5が$2.11、Claude Opus 4.8が$2.81。失敗した試行を償却すると、クリーンな修正1件あたり$4.49と$6.44になる(修正確認のコストは除外)。
ガイダンスの質は、モデル選択以上にクリーン修正率を動かした。注意深く正しい修正ガイダンスではS1率は35.9%、ガイダンスなしでは24.7%、誤った根本原因や修正方向を示すガイダンスでは7.4%だった。著者らはこの点を特に強調している。エージェント自身のツール呼び出しが人間のプロンプトと矛盾する場合でも、多くの場合プロンプトに従ってしまったのだ。
失敗が実際にどのようなものだったか
最も明確な事例は、Copy Fail として知られる Linux カーネルの AF_ALG バグ、CVE-2026-31431 です。アップストリームはコミット a664bf3d で、変換を out-of-place 操作に戻すことによってクロスマッピングのメモリ破壊プリミティブを修正しましたが、同じヘルパーに新たなオフバイワンを導入しました。メンテナーはこれを1コミット後の 31d00156 で訂正し、CVE-2026-43078 が割り当てられました。モデルは中間形態をほぼ正確に再現しました。400件のカンニングなしのChatGPTパッチのうち129件(32.2%)と、383件のClaudeパッチのうち119件(31.1%)が、すべてのモードでそのオフバイワンを抱えていました。論文は書き換えられた関数の構造比較によってそれら248件を発見しました。自動グレーダーは、新たな脆弱性を導入したとしてChatGPTパッチ14件とClaudeパッチ10件しか指摘しませんでした。
同じファイルには、より目立たない見落としがある。authencesn の復号パスを作り直すと、認証タグが4バイト未満のときに範囲外になる拡張シーケンス番号の書き込みも露呈する。上流は 5db6ef98 で、インスタンス作成時に短すぎるハッシュを拒否することでこれを塞いでいる。この欠陥は Copy Fail より前から存在し、CVE の修正コミットには含まれておらず、再現プログラムはタグ長を4バイトに固定しているためこの経路を一度も踏まない。783 回の非チート反復はすべてこれを未保護のままにし、Copy Fail 自体のクリーンな修正と評価されたすべてのパッチも含んでいた。ガードを備えていたパッチは、上流のコミットを逐語的にコピーした4回の反復だけだった。
GHSA-wpqr-6v78-jr5g である Gemini CLI のリモートコード実行脆弱性は、2つの部分からなる問題です。ヘッドレスモードはワークスペースを自動的に信頼し、プロセス環境をシードする .env を含むワークスペースローカル設定を読み込みます。一方、別のフラグがツール許可リストをバイパスします。両モデルにおける平均クリーン修正率は5.6%で、調査中で最低でした。ワンショットモードでは、ChatGPT のパッチの29.4%と Claude のパッチの63.9%が、ワークスペースの自動信頼を停止したものの、攻撃者が制御する .env を依然として読み込みました。これは、環境の読み込みが信頼判定とは別のモジュールで行われるためです。再現プログラムが .env のパスを指定したとき、反復アームはそれを塞ぎました — 盲点は能力ではなく注意力でした。
ChromiumのバグCVE-2026-8512は、macOSのファイルウォッチャーにおけるuse-after-freeです。上流の修正では、生ポインタを参照カウント付きコンテキストに置き換え、このコンテキストを2か所で生かしておく必要があります。インストール箇所と、コールバック自体の内部です。参照カウント方式を採用したパッチのうち、ChatGPTによる41.9%とClaudeによる38.5%は、最初の参照を保持したまま2番目を落としており、これはuse-after-freeを除去するのではなく移し替えるものです。
これらの例には、このループの自動化を計画する誰にとっても重要な共通の性質がある。それは、採点者がしばしば失敗を見抜けなかったということだ。モデルの自動評価は、5段階の結果に関しては65.9%の割合で、元のバグが修正されたかどうかに関しては87.7%の割合で、新たなバグが発生したかどうかに関しては70.5%の割合で、人間のレビュアーと一致した。2つのモデル検証器は36.8%のパッチで互いに意見が分かれ、統合された評価では、Claudeはパッチを書いた者が誰であれ寛容に採点し、ChatGPTは厳格に採点したことが示されている。
1Passwordが次に起こるべきと述べていること
Off-by-1 Labsを率いるKeith HoodletはeSecurity Planetに対し、「パッチを生成することは脆弱性を修正することと同じではない」「パッチが効果的かつ安全であることを検証するには、専門家による人によるレビューが依然として不可欠だ」と語った。論文の結論は、ほとんどの報道よりも限定的である。成功は、バグに関する正確で有用性の高い情報に大きく依存しており、その情報を整理・精選することは、コードベースに精通したエンジニアの仕事である。
ブログで引用されているAnthropicのフィードバックは、パッチ生成がパッチ検証を上回っていること、検証は目視検査ベースではなく実行に基づくべきであること、そして現在のモデル能力においてはドメイン専門家が最終レビュー者であり続けるべきだというものだ。1Passwordは「flawed」と呼ばれるハーネスと6,480件のパッチすべてを公開した。これにより、どのチェックがあれば失敗を捕捉できたのかを他者が検証できる。10月26日、ブログは公開後のフィードバックを反映して更新された。チームが選んだ制約は「エージェント型パッチツールが生成できるものを制限した可能性がある」とされ、より強力な検証が結果を変えるかどうかは有益な次の問いとして挙げられている。
その記録には2つ目の研究も含まれており、それは同じ試験ではありません。
1つのアーカイブ行に2組の数値が収められており、それらを並べて示す文書が、日本の情報処理推進機構によるものだ。同機構の2026年8月のAIセキュリティ速報(9月7日公開)は、8月6日付の単一のエントリーで両研究を要約している。2つ目の研究はCheckmarxによるもので、Checkmarxが委託し、The Weather Reportの最高経営責任者(CEO)Ilya Kabanovが実施した。Kabanovは、4つのモデル——Claude Opus 4.8、GPT-5.5、Gemini 3.1 Pro、Gemini 3.5 Flash——それぞれのコマンドラインエージェント上で、公表済みの2つのベンチマークを再実行した。Kabanovの記事は2026年7月6日付、Checkmarxの投稿は7月26日付で、業界報道はその間に発表された。リポジトリレベルのベンチマークSusVibesは、大規模なオープンソースリポジトリにおける200件の機能タスクであり、各タスクは、人間がすでに発見して修正した脆弱性を中心に構成されている。エージェントにはその機能の実装が求められ、成功するには、人間が施した防御策を示されずにそれを再現できなければならない。
結果は、機能面の成功率が83~95%で、一世代前の44~61%から上昇したものの、安全かつ機能する成功率はわずか24~36%でした。有効だったパッチの65~75%は、人間が取り除いた弱点を再現しました。Checkmarxはこれを「ゾンビCVE」と呼んでいます。再導入された脆弱性にはアドバイザリもなく、上げられるバージョンもないためです。Checkmarxが挙げる例はCVE-2023-29159で、PythonのStarletteフレームワークにおけるパストラバーサルのバグであり、2023年に発見・修正され、2026年にはエージェントによって再構築されました。
緩和策は見出しに劣らず示唆に富んでいる。セキュリティのベストプラクティスに従うよう求める一般的な指示は1〜8ポイントを追加した。推論の努力を増やしてもセキュリティは向上せず、動作する解決策の数は半減した。コーディング前の脅威モデリング工程は43〜49%の安全かつ機能する結果に達し、事後的なセキュリティレビューは47〜56%に達したが、トークンコストはそれぞれ約2倍と2.5倍だった。最良の群でも約半数のタスクは安全でないまま残り、失敗例ではエージェントが自分のメモに正しい防御策を記しているのに、そのまま脆弱なコードを出荷することがあった。
Kabanov氏とCheckmarxはどちらも、65~75%という数字に留保を付けている。タスクは、自然な方法で機能を構築するとその脆弱性が再び導入されるために選ばれたものなので、通常のコードにおける割合はおそらくもっと低い。一方で両者は、実際のコードベースはまさにそのような機能でいっぱいであり、そもそもCVEはそこから生じると主張している。
この2つの研究を足し合わせるべきではない。一方は、エージェントが名前の挙がった、すでに修正済みのバグに対してパッチを書けるかどうかを問うている。もう一方は、機能を実装するエージェントが、誰にも指摘されていないバグを再び作り出さないでいられるかどうかを問うている。26.0%と24〜36%は分母の異なる割合であり、どちらもAIによるパッチ作成全般の割合ではない。
Trail of Bits: 見出しが測っているのは間違った設定だ

2026年9月15日、1Passwordのリリースから6週間後、Trail of Bitsの4人の研究者——Anish Naik、Dan Guido、Benjamin Samuels、Marcelo Morales——は、26%という数字は通常のパッチ適用を表すものではないと主張する反論を発表した。彼らの主張を彼ら自身の数値で示すと次の通りである。2つのプロンプトがエージェントに誤った修正を適用するよう指示しており、それらのプロンプトがデータの22%を占める。1つの評価モードがエージェントによるコードのビルドや実行を妨げ、36%を占める。6つの脆弱性は修正が複雑だったために選ばれ、対象ごとの結果は3%から60%で、6対象の平均には非公開の標準誤差が約9ポイントあった。そして、両モデルは最大努力ではなくデフォルト設定で実行された。
彼らは採点方法も批判している。停止規則と採点基準は矛盾していると彼らは主張し、ActiveMQの判定の8%では意図された動作変更が回帰として罰せられた。また、自動判定器が五つの結果すべてについて人間のレビュアーと一致したのは65.9%のケースにすぎなかった。彼らは、上流の中間的なオフバイワンを含む248件のCopy Failパッチを、採点器が検出した24件と対比して挙げ、さらに、採点器がコールバック内にuse-after-freeを依然として残す修正を受理したChromiumの事例も挙げる。これらの数値は1Password自身のものであり、争点はそれらが何を意味するかにある。
彼らの再分析では、エージェントがコードを実行でき、誤った修正を伝えられていなかった試行のみを残し、上流の修正を参照したと判断された実行を除外している。そのサブセットでは、3,067件のパッチのうち2,634件、86%が提供されたエクスプロイトを阻止した。彼らはその意味について慎重で、手元のエクスプロイトを阻止することは、完全で回帰のない修正の証明ではないとしている。人間のベースラインとしては、2024年から2026年にかけての彼ら自身の評価236件にわたる2,265件の初回修正を挙げており、そのうち283件(12.5%、95%信頼区間10.5%〜14.5%)が問題を完全には解決できなかった。また、彼らのPatch the Planetプログラムにおける186件のプルリクエストを数えており、126件がマージされ、そのうち33件(26.2%)がセキュリティに関係する修正を必要とした。そして、1Passwordによる彼ら自身のパッチへの批判が正しかった事例を1件認めている。freenginxでは、彼らの修正とメンテナーの独立した修正が同じクリーンアップクラッシュを引き起こした。
彼らの結論は率直だ。「防御側は、AIによるパッチ適用能力の指標として1Passwordの見出しの数値を真に受けるべきではない」。1Passwordは彼らを名指しで反論しなかった。ブログは、チームが自らの手法と調査結果への批判を歓迎していると述べ、10月26日の更新では、選択した制約がツールの生成可能なものを過度に制約した可能性があることを認めている。26.0%と53.9%をただし書きなしで掲載した日本のIPAの公報は9月7日に発行された——反論の8日前だった。
何が確立されており、何が議論されているのか
• 確認済み: 著者名を明記した研究が存在し、著者は Axel Mierczuk、Spencer Michaels、Keith Hoodlet で、2026年8月6日付であり、6,480件の試行、400件の除外、6,080件の評価済みパッチという集計値は、論文、1Passwordのブログ、IPAの概要に記載されている。
• 確定:26.0%がクリーン、20.1%が挙動変更、49.3%が未解決、4.5%が新たな欠陥を伴うという結果の内訳は、著者自身による評価であり、2名のモデル検証者によって作成されて、その判定は平均化されたうえで、1,052件のパッチサンプルに対する人手レビューと照合され、5段階評価での一致率は65.9%でした。
• 確立:具体的な回帰 — 中間上流のオフバイワンを含む248件のCopy Failパッチ、ESNガードを欠いた783回のイテレーション、Gemini CLIにおける.envパターン、Chromiumにおける2番目の参照の欠落 — は、著者自身のデータに関する主張であり、検出手法が記述され、検出器は253回のイテレーションで手動レビューと照合されている。
• 議論:26%がAIパッチ適用の実力を公正に表しているかどうか。Trail of Bitsは、自社のフィルターでは同じパッチで86%のエクスプロイト阻止率になること、またその設定は通常のパッチ適用ではないと述べている。1Passwordは批判を歓迎し、自社の制約が厳しすぎた可能性があると述べている。両者とも同じ6,080件のパッチを読んでいるが、対立点はどのフィルターが正当かであり、どちらの側も相手が認める追試を公開していない。
• 主張されていないこと:これらいずれかが実際の現場で被害を引き起こしたという主張はない。アーカイブには実際の被害は記録されておらず、この項目は info レベルの重大度で登録されている。6件の脆弱性はテスト実行前に上流で修正済みであり、研究対象のパッチはコンテナ内で生成された候補であって、それらのプロジェクトにマージされたコードではない。
防御側にとって有用な問いは、どちらの陣営を信じるかではない。その数字が何の割合なのか、という点だ。意図的に混在させた情報の下で意図的に難しくしたバグの26%なのか、供給されたエクスプロイトが阻止された実行可能な試行の86%なのか。どちらの数値も同じデータセットから出ており、いずれも調達仕様ではない。両陣営が一致しているのは、1Password自身が論文に記している注意書き――「生成されたパッチは候補であり、脆弱性が修正された証明ではない」――であり、まさにそこは裁定を要しない部分だ。
