2024年2月21日
先端テクノロジーの研究を論文ベースで記事にするWebメディア「Seamless/シームレス」を運営。最新の研究情報をX(@shiropen2)にて更新中。
米UIUC(イリノイ大学アーバナ・シャンペーン校)に所属する研究者らが発表した論文「LLM Agents can Autonomously Hack Websites」は、大規模言語モデル(LLM)を用いたAIエージェントに、自律的に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サイトをハッキングする能力に、スケーリング則が存在することを示唆している。
この攻撃の詳細な手法やコードは公開していない。また、この研究は公開前においてOpenAIに内容を開示している。
Source and Image Credits: Fang, Richard, et al. “LLM Agents can Autonomously Hack Websites.” arXiv preprint arXiv:2402.06664 (2024).
関連記事
人気記事