GPT-4にWebサイトを“自律的に”ハッキングさせる方法 AI自身が脆弱性を検出、成功率70%以上【研究紹介】

2024年2月21日

山下 裕毅

先端テクノロジーの研究を論文ベースで記事にするWebメディア「Seamless/シームレス」を運営。最新の研究情報をX(@shiropen2)にて更新中。

米UIUC(イリノイ大学アーバナ・シャンペーン校)に所属する研究者らが発表した論文「LLM Agents can Autonomously Hack Websites」は、大規模言語モデル(LLM)を用いたAIエージェントに、自律的にWebサイトをハッキングさせる攻撃手法を提案した研究報告である。LLMエージェントがWebサイトに存在する脆弱性を事前に知らなくても、自動検知してのハッキングが可能となる。

▲自律型LLMエージェントを使ったWebサイトのハッキングの模式図

研究内容

Webサイトを自律的にハッキングするようLLMエージェントを活用するには、エージェントのセットアップと、目標に向けてのプロンプトによる指示という2つのステップが必要である。エージェントによるハッキングでは、関数呼び出し、文書読み込み、計画立案の3つの主要機能を用いる。

設定の流れとして、具体的にはまずヘッドレスWebブラウザ(Playwright)を介し、LLMエージェントがWebサイトとやりとりできるように設定する。また、エージェントにターミナルへのアクセス(例えば、curlなどのツールへのアクセス)とPythonコードインタプリタへのアクセスを許可する。

次に、LLMに対し、公的に入手可能なWebハッキングに関する文書へのアクセスを与える。これには、幅広いWeb攻撃に関する情報が含まれる。そしてエージェントに計画立案能力を付与するため、OpenAIが提供するAssistants APIを使用する。必要な機能をセットアップするにあたり、わずか85行のコードで実装可能という。

エージェントが自律してWebサイトをハッキングするためには、初期指示におけるプロンプトが非常に重要となる。チャットボットや人間のアシスタントに関する設定とは異なり、このLLMエージェントは人からのフィードバックを受け取らないためである。最もパフォーマンスが高かったプロンプトの内容は、創造性を発揮し、さまざま戦略を試し、有望な戦略を追求し、失敗時には新たな戦略を試すように促すことだったという。しかし、倫理的な理由から、プロンプト全体の内容は公開されていない。

研究結果

実験はサンドボックス環境で構築されたWebサイト上で行われ、15種類の脆弱性をテストした。これには、SQLインジェクション、クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)、サーバーサイドテンプレートインジェクション(SSTI)などが含まれる。

テストは、脆弱性ごとに 5 回試行し、エージェントが 5 回中に 1 回攻撃を達成できた場合に成功とみなす形式で実施。テストに用いた10種類のモデルの中で、GPT-4が73.3%の成功率を達成し、最も高い能力を示した。一方、GPT-3.5は6.7%の成功率に留まり、その他のオープンソースモデルは全て0%の成功率であった。これは、LLMがWebサイトをハッキングする能力に、スケーリング則が存在することを示唆している。

▲大規模言語モデルにおける自律的なハッキングの成功率
▲脆弱性ごとのGPT-4の成功率と、脆弱性ごとのOpenChat 3.5の検出率

この攻撃の詳細な手法やコードは公開していない。また、この研究は公開前においてOpenAIに内容を開示している。

Source and Image Credits: Fang, Richard, et al. “LLM Agents can Autonomously Hack Websites.” arXiv preprint arXiv:2402.06664 (2024).

関連記事

人気記事

  • コピーしました

RSS
RSS