AIToday
大規模言語モデルZenn AI/ML掲載日時: 2026年10月25日 13:01

データの形の乱れ、直近の脆弱性4件に関与

LINEで送る
データの形の乱れ、直近の脆弱性4件に関与

3つのポイント

  1. 何が起きたか

    著者は4件の事故を原則に照合した。Next.jsミドルウェアの認可バイパス(CVE-2025-29927)とReact2Shell(CVE-2025-55182)をOKPN、OttoKitの認可バイパスをOMPV、Google Cloudの世界規模障害をNull Trapに結びつけた。

  2. なぜ重要か

    いずれの事故も原因は単一ではないが、それぞれで乱れたデータの形が引き金や侵入経路になったとみられ、こうした問いがレビュー担当者の早期発見に役立つ可能性を示す。

わからないところ、AIに聞けます

質問と回答はこのページに公開されます。

こういう要約が、毎朝あなたのメールに届きます。

背景と解説

コードレビューの2つの観点に名前を付けた過去の投稿の続編だ。OKPNは1つの名前に1種類の値だけが載っているかを問い、OMPVは1つの値に1つの意味だけがあるかを問う。おまけの「Null Trap」ルールは、欠けている値はnullで表すのではなく省略すべきだと説く。

著者はこの検証の範囲を意図的に狭く設定している。これらの原則があれば4件の事故を防げたと主張するのではなく、いずれの事例でも乱れたデータの形が引き金や侵入経路だったと論じる。Next.jsは呼び出し履歴をコロン区切りの内部ヘッダーに詰め込み、React2Shellは参照とプロパティパスを「3ドル:constructor:constructor」のような1つの文字列に詰め込んだ。OttoKitは空文字列を有効なAPIキーとして扱い、「キー未設定」と「一致」を区別できなかった。Google Cloudの6月12日の障害は、新たなチェックが想定していなかったポリシーデータの空欄に由来する。

特筆すべきは、著者が4件の検証にClaudeを使い一次情報と突き合わせた点だ。結びの指摘は、AIにコードを書かせるとコロン詰めの値や返却されたnullが生まれやすく、その場で最も便利な形が後になって最も高くつくことが多い、というものだ。

よくある質問
OKPNとOMPVは具体的に何を意味するのか?
OKPNは1つの名前に1種類の値だけを持たせるという意味で、2つの値を1つの文字列に詰め込まないことを指す。OMPVは1つの値に1つの意味だけを持たせるという意味で、空文字列のような特殊な値に黙って別の意味を与えないことを指す。
Null Trapとは何か?
値が存在しないならnullを送るのではなく省略すべき、というルールだ。実際には、省略された値とnullがどう異なるかを仕様が定めているか、実装がそれに従っているかを問う。
Google Cloudの障害はこれとどう関係するのか?
クォータ管理のService Controlに送られたポリシーデータに、意図しない空欄が含まれていた。新たに追加されたチェックが空欄を想定しておらず、nullポインタでクラッシュした。データは数秒で全リージョンに広がるため、すべてのリージョンがクラッシュループに陥った。
LINEで送る

あなたの仕事に関係するAIニュースを、毎朝お届けします。

業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。

登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →

AIに質問

この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。

質問と回答はこのページに公開されます。

このようなAIの動きを、御社の業界・競合に合わせて毎朝届ける法人プランもあります → 詳しく見る

関連記事

次の記事へレイ・ダリオ「AIバブル崩壊は近い」