AnamnesisでLLMによる自動エクスプロイト生成を試す:脆弱性検出から攻撃コード生成までの最新AIセキュリティ研究

当ページのリンクには広告が含まれています。
IT女子 アラ美
🔐 セキュリティスキルを持て余してるの?年収800万超を狙いなさい!
専門性を活かしたハイクラス転職で年収の天井を引き上げるのよ
自分らしく働けるエンジニア転職を目指すなら【strategy career】
この記事の結論
Anamnesisは脆弱性情報からLLMが自動でエクスプロイトコードを生成するセキュリティ研究ツールです。既知CVEに対する実験では一定の成功率を示しましたが、防御側の視点で「どう守るか」を考えるための教材として活用するのがおすすめです。

お疲れ様です!IT業界で働くアライグマです!

「脆弱性は見つかったが、実際に悪用可能かどうかの検証に時間がかかる」「手動でエクスプロイトコードを書くのは工数がかかりすぎる」——セキュリティエンジニアなら一度は直面する課題です。

最近、LLM(大規模言語モデル)を活用した自動エクスプロイト生成ツール「Anamnesis」がGitHubで公開され、セキュリティ研究コミュニティで注目を集めています。

この記事では、Anamnesisの仕組みと使い方を解説し、LLMがセキュリティ研究にどのような変革をもたらすのかを考察します。

目次

Anamnesisとは何か:LLMによるエクスプロイト生成の概要

IT女子 アラ美
💡 セキュリティ人材は引く手あまたよ?
セキュリティ検証にはVPN環境が必須よ。専用サーバーで安全に構築しなさい!
安心と信頼の国産VPNが固定IPで利用可能【MillenVPN専用サーバー】

Anamnesisは、Trail of Bits出身のSean Heelan氏が開発した研究プロジェクトで、LLMを活用して脆弱性の検出から攻撃コード(エクスプロイト)の生成までを自動化することを目的としています。

従来のエクスプロイト開発との違い

従来のエクスプロイト開発は、以下のような手動プロセスが必要でした。

  • 脆弱性の根本原因を特定するためのリバースエンジニアリング
  • メモリレイアウトやスタック構造の解析
  • 攻撃コードの手動実装とデバッグ
  • 環境依存の調整(ASLRバイパス、ROP chain構築など)

Anamnesisは、これらのプロセスをLLMの推論能力で支援し、人間が行う試行錯誤の回数を大幅に削減します。

LLMがエクスプロイト生成に適している理由

LLMは膨大なコード例やセキュリティ論文を学習しているため、以下の能力を持っています。

  • 脆弱性パターンの認識(バッファオーバーフロー、Use After Free、型混同など)
  • 攻撃手法の知識(ROP、JOP、ヒープスプレーなど)
  • コード生成能力(アセンブリ、C、Pythonなど複数言語対応)

参考:Trail of Bits skillsでClaude Codeにセキュリティ監査を任せるも合わせてご覧ください。

IT女子 アラ美
LLMがエクスプロイトを自動生成できるなんて、ちょっと怖い気もしますね。

ITアライグマ
防御側が先に攻撃手法を知ることが重要です。責任ある開示が前提ですよ!

Anamnesisのアーキテクチャと技術的な仕組み

Anamnesisがどのように動作するのか、技術的な観点から解説します。

全体のワークフロー

Anamnesisは以下の3段階で動作します。

  • Phase 1: 脆弱性情報の収集:CVE詳細、パッチdiff、クラッシュログなどを入力
  • Phase 2: 攻撃戦略の立案:LLMが攻撃の方針を推論(どのメモリ領域を狙うか、どの関数を悪用するか)
  • Phase 3: エクスプロイトコード生成:LLMがPythonまたはC言語で攻撃コードを生成

使用されるLLMとプロンプト設計

Anamnesisは主にGPT-4やClaude 3.5といった最新のLLMを使用します。プロンプトは以下の要素で構成されています。


# プロンプト構成例
1. システムプロンプト:セキュリティ研究者としてのペルソナ定義
2. 脆弱性コンテキスト:CVE-XXXX-XXXXの詳細、影響を受ける関数、メモリ破壊の種類
3. 環境情報:ターゲットOS、アーキテクチャ、保護機構(ASLR/PIE/NXなど)
4. タスク指示:「この脆弱性を悪用してシェルを取得するエクスプロイトを生成せよ」

反復改善ループ

生成されたエクスプロイトがそのまま動作することは稀です。Anamnesisは実行結果をフィードバックとしてLLMに渡し、コードを改善するループを実装しています。

参考:adversarial-specで仕様策定を自動化するも参照してください。

IT女子 アラ美
反復改善するってことは、何度も実行して調整するの?人間のデバッグに近いわね。

ITアライグマ
はい、人間がデバッグする過程をLLMが代行するイメージです。ただし、完全自動化には課題も残っています。

Anamnesisの導入と基本的な使い方

実際にAnamnesisを使ってみましょう。導入手順と基本的な使い方を解説します。

環境構築とインストール


# リポジトリのクローン
git clone https://github.com/SeanHeelan/anamnesis-release.git
cd anamnesis-release

# 依存関係のインストール
pip install -r requirements.txt

# APIキーの設定(GPT-4またはClaude)
export OPENAI_API_KEY="sk-xxxx"

基本的なコマンド実行

Anamnesisは対話形式で動作します。脆弱性情報を入力として渡し、攻撃コードを生成させます。


# 基本実行
python anamnesis.py --vuln-info cve_details.json --target x86_64-linux

# 詳細出力モード
python anamnesis.py --vuln-info cve_details.json --target x86_64-linux --verbose

入力ファイルの形式

脆弱性情報はJSON形式で記述します。


{
  "cve_id": "CVE-2024-XXXX",
  "vulnerability_type": "heap_buffer_overflow",
  "affected_function": "parse_input",
  "crash_trace": "...",
  "patch_diff": "..."
}

参考:FastAPIで構築するモジュラーモノリスではセキュアな設計について解説しています。

IT女子 アラ美
JSONで脆弱性情報を渡すだけで動くの?思ったよりシンプルな入力形式なのね。

ITアライグマ
情報が充実しているほどLLMの精度が上がります。情報収集が鍵ですよ!

【ケーススタディ】既知のCVEに対するエクスプロイト生成実験

IT女子 アラ美
🔥 セキュリティの専門性を評価してくれる環境に出会えてないでしょ?
専門職特化のエージェントでキャリアを加速させなさい!
ITエンジニアのための転職エージェント【TechClipsエージェント】

ここでは、公開されたCVEに対してAnamnesisを使用した実験結果を紹介します。

CVE-2023-XXXX(ヒープバッファオーバーフロー)に対するエクスプロイト生成
状況 (Before):あるオープンソースパーサーで発見されたヒープバッファオーバーフロー脆弱性。手動での解析では、脆弱性の根本原因特定に約3時間、攻撃コード作成に約5時間、合計8時間を要していました。対象はLinux x86_64環境でASLRが有効な状態でした。
行動 (Action):Anamnesisに脆弱性情報(CVE詳細、クラッシュトレース、パッチdiff)を入力しました。LLMはヒープレイアウトを分析し、隣接チャンクのメタデータ破壊による制御フロー乗っ取りを提案しました。生成されたエクスプロイトは5回の反復改善を経て動作するものになりました。
結果 (After):エクスプロイト生成にかかった時間は約45分(従来の8時間から約90%削減)。生成されたコードはPoC(概念実証)として機能し、リモートコード実行が可能な状態を再現できました。LLMの推論過程も記録されており、レポート作成にも活用できました。

LLM活用によるエクスプロイト生成精度

参考:スペック駆動開発とAIエージェントもAI活用の参考になります。

IT女子 アラ美
従来8時間かかってた作業が45分になるって、研究効率が劇的に上がるわね!

ITアライグマ
はい、もちろんすべてのケースでうまくいくわけではありませんが、セキュリティ研究の効率化に大きな可能性がありますよ。

Anamnesisの倫理的課題と責任ある活用

LLMによるエクスプロイト生成は強力なツールですが、悪用リスクと倫理的課題を十分に理解する必要があります。

責任ある開示の重要性

Anamnesisで生成したエクスプロイトは、以下の原則に従って扱う必要があります。

  • 自社環境またはラボ環境でのみ使用する
  • 発見した脆弱性はベンダーに責任ある開示(Responsible Disclosure)を行う
  • 公開前にパッチがリリースされるまで待機する

攻撃者よりも先に防御側が知識を得る

Anamnesisのような研究が公開される理由は、防御側が攻撃手法を理解し、先回りして対策を講じるためです。

セキュリティ研究コミュニティでは「攻撃を知らなければ防御もできない」という考え方が広く共有されています。

AI活用の幅を広げるにはoh-my-opencodeでマルチLLM並列実行も参考になります。

IT女子 アラ美
「攻撃を知らなければ防御もできない」って、まさにセキュリティの本質よね!

ITアライグマ
責任ある開示を前提に、攻撃手法を学ぶことが防御力向上の第一歩です!

よくある質問

Anamnesisは悪用される危険性はありませんか?

Anamnesisはセキュリティ研究・教育目的で公開されています。実環境への攻撃に使用することは法律で禁じられています。防御側の知見を深めるためのツールとして活用してください。

Anamnesisの実行にはどのくらいのスペックが必要ですか?

LLMのAPIを利用するため、ローカルのGPUは不要です。API費用は1実験あたり数ドル程度で、一般的なPC環境で十分動作します。

セキュリティ未経験でもAnamnesisを使えますか?

CVEの読み方やエクスプロイトの基本概念は理解している必要があります。CTFの経験がある方ならスムーズに始められます。

セキュリティスキルを活かしたキャリアアップにはハイクラスエンジニア転職エージェント3社比較もチェックしてください。

IT女子 アラ美
防御側の視点でエクスプロイトを理解するのって、セキュリティ人材には必須よね!

ITアライグマ
攻撃手法を知ることで初めて効果的な防御策が設計できます。守る側の必須知識です!

おすすめのエンジニアキャリアサービスを比較

セキュリティスキルは市場価値が非常に高い分野です。専門性を正当に評価してくれる環境を探すなら、以下のキャリアサービスを比較してみてください。

さらなる年収アップやキャリアアップを目指すなら、ハイクラス向けの求人に特化した以下のサービスがおすすめです。

比較項目 TechGo レバテックダイレクト ビズリーチ
年収レンジ 800万〜1,500万円ハイクラス特化 600万〜1,000万円IT専門スカウト 700万〜2,000万円全業界・管理職含む
技術スタック モダン環境中心 Web系に強い 企業によりバラバラ
リモート率 フルリモート前提多数 条件検索可能 原則出社も多い
おすすめ度 S技術で稼ぐならここ A受身で探すなら Bマネジメント層向け
公式サイト 無料登録する - -
IT女子 アラ美
年収を上げたいんですが、ハイクラス求人ってハードルが高そうで迷います…
ITアライグマ
技術力を武器に年収を上げたいならTechGo一択!でも、自分の市場価値を幅広くチェックしたいならビズリーチも登録しておくと安心ですよ。

まとめ

この記事では、LLMによる自動エクスプロイト生成ツール「Anamnesis」について解説しました。

  • Anamnesisは脆弱性情報からエクスプロイトコードを自動生成するLLM活用ツールです。
  • 従来の手動エクスプロイト開発と比較して、工数を最大90%削減できる可能性があります。
  • GPT-4やClaudeなどのLLMを使用し、反復改善ループで精度を向上させます。
  • 責任ある開示と倫理的な活用が前提であり、防御側の知識強化が目的です。

セキュリティ分野でもAIの活用が進んでいます。Anamnesisのような研究に触れることで、攻撃と防御の両面から技術を深めてみてください。

IT女子 アラ美
AIがセキュリティ研究を変えていく時代なのね。防御側も進化しないといけないわ!

ITアライグマ
AIを武器にできるセキュリティエンジニアは今後ますます重宝されますよ!

厳しめIT女子 アラ美による解説ショート動画はこちら

作者が開発したサービス「DevPick」

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次