Extracting Recurring Vulnerabilities from Black-Box LLM-Generated Software

本論文は、LLM 生成コードの構造的な脆弱性がフロントエンド特徴から予測可能であることを示す「FSTab」フレームワークを提案し、ブラックボックス環境下での攻撃成功率 94% などの高い転移性を確認することで、コード生成における新たなセキュリティリスクを明らかにした。

Tomer Kordonsky, Maayan Yamin, Noam Benzimra, Amit LeVi, Avi Mendelson

公開日 2026-03-10
📖 1 分で読めます☕ さくっと読める

Each language version is independently generated for its own context, not a direct translation.

この論文は、**「AI が書いたコードには、特定の『癖』が潜んでいて、それを見ればセキュリティの穴(脆弱性)がどこにあるか、裏側を見ずに推測できる」**という驚くべき発見を報告しています。

専門用語を排し、身近な例え話を使って解説しますね。

🕵️‍♂️ 核心となるアイデア:「AI の指紋」と「レシピの癖」

Imagine(想像してください):
世界中の料理人が、同じ「AI 料理人」のレシピ本を使って料理を作っているとします。

  • 問題点: この AI 料理人は、特定の料理(例えば「パスタ」)を作るとき、毎回**「塩を少し多めに入れる」**という同じ癖を持っています。
  • 結果: 料理人が誰か、あるいはどこで食べたか(ドメイン)は違っても、「パスタ」を注文すれば、**「塩が多すぎる(=セキュリティの穴)」**という同じ結果が返ってきます。

この論文は、**「AI が生成したソフトウェア(コード)」も全く同じだと言っています。
AI は、ある機能(例えば「ユーザー登録」や「ファイルアップロード」)を実装する際、毎回
「同じ安全ではないパターン」**を繰り返してしまうのです。


🔍 この論文が提案した新兵器:「FSTab(特徴・セキュリティ表)」

研究者たちは、この「AI の癖」を記録した辞書のようなものを作りました。名付けて**「FSTab(Feature-Security Table)」**です。

🏪 シチュエーション:お店の裏側を見ずに、危険を察知する

通常、ハッカーがシステムの弱点を見つけるには、**「裏側(バックエンド)のコード」**を盗み見たり解析したりする必要があります。まるで、お店の厨房に忍び込んで「ここが危ない」と探すようなものです。

しかし、FSTab を使えば、**「お店の入り口(フロントエンド)」**を見るだけで、厨房のどこが危ないかがわかります。

  1. 観察(リコナッサンス):
    ハッカーは、Web サイトの「ログインボタン」や「ファイルアップロード機能」といった目に見える機能を確認します。
  2. 照合(FSTab 検索):
    「このサイトは『GPT-5.2』という AI が作った」という情報と、「ログイン機能がある」という情報を FSTab に入力します。
  3. 予測:
    FSTab は即座に**「その AI が『ログイン機能』を作るとき、90% の確率で『パスワード管理のミス』をしている」**と教えてくれます。

**つまり、「裏側(コード)を見なくても、表側(機能)を見るだけで、どこにセキュリティの穴があるか予測できる」**という、まるで「水晶玉」のような攻撃手法を確立したのです。


📊 実験結果:AI は「癖」が抜けない

研究者たちは、GPT-5.2 や Claude-4.5 など、最新の 6 つの AI モデルを使って実験を行いました。

  • 驚きの結果:
    AI に「同じ機能」を何度も作らせたり、言葉を変えて(言い換え)指示を出したりしても、「同じセキュリティの穴」が繰り返されることがわかりました。
  • ドメイン(分野)を超えて:
    「EC サイト」で学習した AI の癖は、「ブログ」や「社内ツール」を作ってもそのまま適用されました。
    • 例え話: 「パスタ屋」で「塩が多い」癖がある料理人が、「寿司屋」に行っても、**「寿司に塩を振る」**という同じ間違いを繰り返すようなものです。

**「AI が作ったコードのセキュリティリスクは、その AI 固有の『指紋』のようなものだ」**というのが、この研究の最大の結論です。


🛡️ 私たちにとっての意味は?

この研究は、ハッカーに武器を与えるだけでなく、**「守る側」**にも大きなヒントを与えています。

  1. 予防点検の革命:
    これまで「コードを全部チェックして、バグを探す」のは大変でした。しかし、今後は**「この機能を使っているなら、この AI ならこのミスをするはずだ」と予測して、そこだけ重点的にチェック**すれば、セキュリティ対策が劇的に楽になります。
  2. AI の「性格」を知る:
    どの AI モデルが、どんな種類のミス(癖)を持つかを把握することで、重要なシステムには「癖の少ない AI」を選んだり、特定の機能には「二重のチェック」を入れたりする対策が可能になります。

🎯 まとめ

この論文は、**「AI がコードを書くとき、人間のように毎回違うアイデアを出すのではなく、機械的に同じ『安全ではないパターン』を繰り返してしまう」**という弱点を暴きました。

そして、**「表側の機能を見るだけで、その裏側の『癖』を予測できる」**という新しい攻撃(と防御)の視点を提示しました。

AI が作るソフトウェアが安全かどうかは、**「その AI がどんな『癖』を持っているか」**を知っているかどうかにかかっているのです。