CounterProof

所見は評決ではない

AIはいまや、ひと午後で数千件の脆弱性所見を生成できる。所見は証人であって評決ではない — そして誰も検証できない唯一のフィールドこそ、皆が水増しするフィールドだ。洪水に溺れずにそれを読む方法。

2026年8月、およそ108時間のマシンタイムで、ある一つのボランティアキャンペーンが オープンウェイトモデルをビットコインの501のオープンソースプロジェクトに走らせ、7,958件の 潜在的セキュリティ所見を記録しました。うち1,280件が「高」または「重大」と分類されています。 そのキャンペーン — と、それが衝突する規則 — については 機械がコードを読んでいるに書きました。 このノートは、その数字そのものについてです。

というのも、あるセキュリティベンダーが、三つのAIコードレビューシステムを非公開のテスト アプリケーションで競わせるベンチマークを公表したからです:一つは埋め込まれた89件の脆弱性の うち68件を、別のものは60件、三つ目は58件を発見しました。ベンダーはいま、この比率で — より多くの所見を、より低コストで — 競争しています。「見つけること」は価格競争のコモディティに なりました。

だからこそ、所見が実際には何であるのかを、はっきり言っておく価値があります — この数え方は、 測るべきでないものを測っているからです。

所見は証人であって、評決ではない

文献学は五世紀前にこれを解決済みで、その用語は正確です。

古代のテキストが多数の手写本で伝わるとき、どの一つの写本もテキストそのものではありません。 それぞれが証人です:原本を運ぶ派生文書 — ただし書き手の筆の滑り、癖、受け継がれた ずれを併せて。三つの写本が一致することは、その読みが真正である印かもしれない — あるいは 三つとも同じ欠陥ある親本から派生した印かもしれない。これを仕分ける学問が批判校訂版を 生みます:可能な限り確定されたテキストと、その下に、吟味されたすべての証人、すべての異読、 すべての校訂判断とその根拠を記録するアパラトゥス(校異欄)です。

AIが生成した脆弱性所見は、正確にこの意味での証人です。それは欠陥そのものではありません。 欠陥についてのモデルの報告 — コードの実際の性質に、モデルの癖、その訓練の系譜、そして それを生んだプロンプトが混ざったもの — です。二つのスキャナーの一致は、バグが実在する印かも しれないし、両者が同じ盲点と同じ雛形を共有している印かもしれない。おおむね同じ公開コーパスで 訓練されている以上、後者はよくあることです。相関した証人たちの一致は、証人についての証拠で あって、コードについての証拠ではありません。

そして文献学者が最も苦労して勝ち取った規則が、そのまま移植できます:流暢な読みこそ疑わしい 読みです。書き手は難しい一節を手頃な決まり文句へと均してしまう。滑らかな方は、著者の言葉 よりも写字生の「改良」であることが多い。脆弱性レポートには決まった型があります:タイトル、 弱点クラス、深刻度、引用、そして「攻撃者は…できる」の段落。言語モデルはこの型を説得力を もって生成します — 欠陥が存在してもしなくても。磨きは真実についての情報を運びません。 このジャンルにおいて、流暢さは資格証明ではない。それこそが確かめるべきものです。

だから、数えることは単位の取り違えなのです。それは証人を数え、評決として報告しています。

深刻度こそ、レポートが誇張する場所

インフレは一様ではありません。ある一点に集中します。名指しする価値のある構造的理由からです。

*「この関数はミリ秒のタイムスタンプを秒精度のカラムと比較している」*は、何かを引用する主張 です — ファイル、行、コミット。開いて一分で決着できます。**「重大」**は何も引用しません。 重大と書いてあるコード行は存在しないのです。深刻度は、到達可能性、悪用可能性、影響範囲に ついての判断であり、ソースに錨がないからこそ、流暢な生成器が歯止めなく上方へ漂う場所そのもの です。劇的な読みの方が楽であり、報告の連鎖のあらゆるインセンティブが大きい数字に報い、 成果物の中の何ものも抵抗しません。

だから、キャンペーンが1,280件を「高または重大」と報告するとき、正直な読みはこうです: 生成器がそうラベル付けした所見が1,280件。ラベルは文書の中で最も検証しにくいフィールドで あり、見出しの中で最も大きな仕事をしているのはそれです。

それらは悪用可能なのか?誰もまだ言っていない

所見と欠陥のあいだには、数える行為が飛ばしてしまう一段階があります:吟味(アジュディ ケーション) — どの所見が実在し、どれが到達可能で、どれが重要かを決めること。この段階は 依然として人間のものであり、生成のようにはスケールしません。

これを飛ばすと何が起きるかの最も明快な公開測定は、curlから来ています。7人のボランティアの セキュリティチームは、AI支援の投稿が届き始めると、確認された脆弱性報告の割合が15%超から 5%未満へ落ちるのを見ました — 出鱈目な報告一件一件が、依然として反証に何時間も食うままで。 ある報告は、curlに存在しない関数のHTTP/3エクスプロイトについて、GDBセッションとレジスタ ダンプ付きの完全体で届きました。メンテナーはトリアージ負荷を「DDoSに等しい」と表現し、 最終的にプロジェクトはバグバウンティプログラムを閉鎖しました — AIの助けで作られた有効な セキュリティ報告は一件も見ていない、と述べて。

この数字は正しい向きで読んでください。AI所見が無価値だという証明ではありません — 所見の流暢さと妥当性が独立であること、そして吟味の段階を取り除くと信号対雑音比が崩壊する ことの証明です。報告はより多く、より自信ありげになりました。検証を生き延びる割合は 下がったのです。

洪水は迷惑ではなく、セキュリティ問題である

「所見が多すぎる」を迷惑の欄に振り分けたくなります。違います。生成が吟味を追い越すとき、 本物の所見は消えません — 二百件のもっともらしい所見の後ろの待ち行列に埋もれるのです。そして 誰にも消化できない待ち行列は、物事を隠す待ち行列です。curlの言葉 — DDoS — が正しい音域です。 自信ありげな報告に溺れるチームは、報告のないチームより安全ではありません。反対尋問を受けて いない証人たちに注意力を使い果たしたチームです。

二つの警報を分けておく

ここでは二つの主張が混同されます。それらを分けることが、規律のすべてです。

集計では、危険は現実です。 古いコードには本当に膨大な未修正の欠陥があり、安価で疲れを 知らない発見器はその一部を表面化させます。カテゴリー全体を誇大宣伝として片付けるのは誤りです。

所見単位では、表明された重大性は系統的に過大です — 上方へ。誰も検証できない唯一の フィールドこそ、皆が水増しするフィールドだからです。各アラートを評決として扱うのも誤りです — 逆方向の。

誤りは、一方の警報でもう一方の問いに答えることです。「このエコシステムのどこかに本物のバグが たくさんある」は、あなたの行にあるこの所見を悪用可能にしません。そして「これらの個々の アラートの大半はノイズだ」は、あなたのコードベースが清潔だという意味ではありません。

見抜くもの

中世の校訂者は、伝承全体を除染することはできませんでした。できたのは:あらゆる読みに条件を 付け、その条件を明示することです。同じ手がここでも機能します。所見を手渡されたら、 問うてください:

  1. それは実際にどのエビデンスの段に到達しているか? ソースで追跡された、コンパイルされた、 テストされた、実行状態で再現された — これらは同じ主張ではありません。所見は、その背後の 仕事より高い確信を身にまとうべきではありません。
  2. あなたのビルドで到達可能か、それとも原理上到達可能なだけか? 到達可能性の議論なしの 深刻度は、気分であって測定ではありません。
  3. 吟味されたのか、平均されたのか? 三つのツールの一致は、ツールが盲点を共有しているなら 三つの確認ではありません。少数派の所見には、安価なオラクル確認 — テストを走らせる、仕様を 読む、経路を実行する — の価値があります。投票ではなく。
  4. すでに修正済みか、すでに既知か? メンテナーが先月クローズした所見は、歴史の証人で あって、あなたのリスクの証人ではありません。

どれも突飛なものではありません。批判校訂版が写本の山に対して行うことです:証人を校合し、 もう一つの意見より強い証拠に照らして吟味し、アパラトゥス — 判断、不確実性、検討して退けた 読み — を保存する。

すべての死んだ所見が同じ死に方をしたわけではない

大半の所見は生き残りません。それは正常であり、それこそが要点です — しかし所見がどのように 死んだかは情報であり、全部を「却下」と書かれた一つの箱に流し込むレビューは、その情報を 捨てています。

文献学は事例を分けます。その区別は名前を持つほど古い。現存する別の写本から書き写されたと 証明された写本は、勘定から丸ごと外されます — eliminatio codicum descriptorum — それが間違っているからではなく、独立の証言を何も加えないからです。その一致は、そもそも 証拠ではなかったのです。

三つの死に方。そして意味は同じではありません:

  • 冗長。 複数のツールが同じ所見を出した。それらのツールが独立でない場合 — 訓練データと 雛形を共有する以上、しばしば独立ではありません — その一致は三通の写しになった一つの読みで あって三つの確認ではなく、三回数えることは偽の確信が製造される方法です。重複は消してください。 ただし独立性の仮定を消し去るのではなく記録してください:本当に独立なレビュアーの一致は、 無ではありません。
  • 偽。 コードがしていないことをしていると所見が言っている。ファイルを開けば決着します。 「偽陽性」と言うとき大半の人が念頭に置く唯一のカテゴリーです。
  • 真。ただしもう存在しないテキストについて。 所見は正確です — その後修正された リビジョンについて。証人は正直で、コードがその下で動いたのです。ピン留めされた 上流リビジョンでクローズ済みの欠陥は、そのリビジョンにとって偽陽性ではなく、偽陽性として 記録されるべきではありません。ただしそれは、所見がどのリビジョンを読んだかを言える場合に 限ります:自分のリビジョンを名指しできない報告は、過ぎ去ったテキストの正直な証人ではなく、 現在のテキストについての賞味期限切れの主張です。

読みそのものの誤りは二番目だけです。三番目のピン留めなしの場合は、それを報告した パイプラインの誤りです。各所見がどの死に方をしたかを言える記録は、その場にいなかった人にも 監査できます。比率 — 「二百件の所見を六件までトリアージした」 — にはできません。品質の 信号でもありません:怠惰なパイプラインは、屑を生成して捨てることでその比率に達します。 除去は成果物ではない。生存者の背後の証拠こそが成果物です。

校訂版は何のためにあるのか

リストではなく校訂版を作る理由は、誰かが評決に到達しなければならず、それはレビュアーでは ないからです。

メンテナーはパッチを当てるかを決める。メーカーは技術文書に何を入れるかを決める。 エンタープライズ購買側のセキュリティチームは、署名するかを決める。それぞれが評決に到達し、 それぞれが後に — より友好的でない誰かに、より多くの時間をかけて — どうやってその評決に 到達したかを示すよう求められます。彼らがレビュアーに必要とするのは、天秤に載せる意見が もう一つ増えることではありません。自分自身の決定がその問いただしを生き延びるように配列された 証拠です。

欧州では、これは良い慣行から法的要件になりつつあります。サイバーレジリエンス法はメーカーに、 製品のセキュリティについて*「効果的かつ定期的なテストとレビューを実施する」ことを求め (附属書I第II部(3)、参考訳)、技術文書は「適合性を検証するために実施されたテストの報告書」* を含まなければなりません(附属書VII(6)、参考訳)— 上市後少なくとも10年間、またはサポート 期間がより長ければその期間、保存されます(第13条(13))。積極的に悪用されている脆弱性と 重大インシデントの第14条通知は2026年9月11日に始まり、規則は2027年12月11日から全面適用 されます。

実際に求められているものを読んでください。クリーンなスキャンでも、低い数字でもありません。 実施されたテストの報告書。十年保存され、その場にいなかった人に読める。自信ありげな深刻度を まとった所見のリストは、下にアパラトゥスがなく、何が却下されたか・なぜかの記録がなければ、 その読み方を生き延びません。校訂版は生き延びます — すべての主張が背後の証拠を名指しし、 除去されたすべての読みが理由とともに記録され、すべての訂正が書面で行われるからです。

義務はメーカーにあり、外部レビュアーにはありません。ここで述べた種類の外部レビューは、 あなたが編む技術文書を支えるものです。完全なファイルではなく、規則が求める場面での通知機関に よる適合性評価の代替でもありません。しかしそれは、そのファイルのうち、自分自身の仕事について 作るのが最も難しい部分です — なぜならそれが運ばなければならない唯一の性質は、あなた以外の 誰かがそれを書いた、ということだからです。

なぜ私たちに関わるのか

CounterProofで私たちは機械が書いたコードの敵対的レビューを実践しており、これらの問いは 私たちにとって理論ではありません — 私たちの運用規則です。所見は平均されるのではなく吟味 される。すべての主張は到達したエビデンスの段を名指しし、それ以上は名乗らない。上流で修正済み の所見は数えられるのではなく取り下げられる。そして私たち自身の主張が生き延びないときは、 書面で、公に撤回します(英語)。私たちは所見の数を 売っておらず、数で買わないよう助言します。スキャナーは写字生であり、写字室はいまや昼夜 問わず小銭で稼働しています。希少だったのは写しではありません。校訂版です。

より長い議論 — 上のすべての主張の条件付きの形と、私たち自身の手法の限界を含む — は、 機械生成テキストのコレーションと来歴に関する私たちのワーキングペーパーにあります。 全文はこちら(英語)。査読前のドラフトであり、 そのことを明記しています。


上の数字には出典があります:501プロジェクトのキャンペーンは私たちの先行ノートに文書化 されています。三システムのベンチマーク比率はベンダーの公開記事から。curlの確認率、幻の関数の 報告、バウンティプログラムの閉鎖はThe New Stack、BleepingComputer、The Registerの報道に よります。サイバーレジリエンス法への言及は規則(EU) 2024/2847を指します — 私たちの ホームページに掲げるものと同じ条文で、日本語の引用は当方による参考訳です。主張が引用された 所見ではなく私たちの推論であるところ — 深刻度は上方へ水増しされる、流暢さと妥当性は独立で ある — は、そう明記しました。このページは英語原文の翻訳であり、相違がある場合は原文が優先 します。ここに誤りがあれば、このページで書面により訂正します。

← すべてのノート