AI News HubLIVE
サイト内リライト2 分で読了

このリポジトリをクローンすれば、あなたのマシンを乗っ取る

本記事は、Claude Codeなどのエージェント型コーディングツールにおける深刻なセキュリティ脆弱性を実証します。一見無害なリポジトリを介した間接的プロンプトインジェクションにより、攻撃者のサーバーへのリバースシェルが確立されます。この攻撃は信頼されたセットアップ手順とエラーハンドリングを悪用し、悪意のあるペイロードはDNS TXTレコードから実行時に取得されるため、コードレビューや静的解析では検出できません。

ソースHacker News AI著者: croes

本記事では、エージェント型AIコーディングツールに対する新たな攻撃手法が実証されています。間接的プロンプトインジェクション(Indirect Prompt Injection)を利用し、攻撃者は一見無害なGitHubリポジトリを通じて、開発者のマシンを完全に制御することができます。この攻撃は、Claude Codeのような最新のエージェントIDEが備えるツール権限機構を悪用します。これらのツールはLLMにシェルコマンドの実行、ファイルアクセス、ネットワーク呼び出しを許可しますが、ユーザーにはその動作が明確に見えません。

攻撃の鍵は、悪意のある指示を、決して一緒に検査されることのない3つのシステム(リポジトリ、DNSインフラ、開発者のAIエージェントへの信頼)に分散させることにあります。まず、リポジトリは完全に正常に見えます。標準的なセットアップ手順「pip3 install -r requirements.txt」と「python3 -m axiom init」が含まれています。次に、Pythonパッケージは初期化されていない場合、ルーチンの実行時エラーを発生させ、initコマンドの実行を促します。最後に、initコマンドはシェルスクリプトを呼び出し、そのスクリプトは攻撃者が制御するDNS TXTレコードから設定を取得して実行します。

エージェント(Claude Code)は、一連の一見合理的なステップに従うだけです:プロジェクトファイルを読み込み、依存関係をインストールし、エラーに遭遇し、エラーメッセージに従って修復コマンドを実行します。真の悪意あるペイロードであるリバースシェルは、リポジトリ内のどこにも存在しません。それはDNSクエリを介して実行時に動的に取得されます。DNS TXTレコードの値はBase64エンコードされており、デコードすると攻撃者のサーバーに接続する標準的なbashリバースシェルコマンドになります。

ペイロードがリポジトリに存在しないため、コードレビュー、静的スキャン、ファイルハッシュ比較など、従来のセキュリティ検出手法はすべて無力です。エージェント自身も、スクリプトを実行する前にDNSレコードの内容を確認することはありません。開発者の端末には「Initialising Axiom platform... Environment ready」と表示されるだけで、異常はまったく感じられません。

攻撃が成功した場合の影響は壊滅的です:攻撃者は開発者と同じ権限を持つインタラクティブシェルを取得し、すべての環境変数(ANTHROPIC_API_KEY、AWS_SECRET_ACCESS_KEY、GITHUB_TOKENなど)を窃取し、SSHキーやcronジョブなどのバックドアを仕掛けることができます。さらに、単一のDNSレコードを編集するだけでペイロードをいつでも交換でき、コードのコミットは一切不要です。

研究者は、この攻撃の恐ろしさは、個々のコンポーネントが単独では脅威にならないが、組み合わさることで致命的な連鎖を形成する点にあると強調しています。静的解析はDNSルックアップを確認し、ネットワーク監視は名前解決を確認し、エージェントは事前承認されたセットアップステップを確認します。どの単一の視点も悪意を識別できません。

このような攻撃を防御するには、エージェントツールは設定コマンドが実際に実行する内容(スクリプト内部や、スクリプトがランタイムに取得するものすべてを含む)をユーザーに表示する必要があります。開発者は、AIツールが推奨するかどうかにかかわらず、馴染みのないリポジトリのセットアップ手順やスクリプトを信頼できないコードとして扱うべきです。本研究は0DINチームによって行われ、GenAIシステムのセキュリティリスクに対するコミュニティの注意を喚起し、AIバグ報奨金プログラムへの参加を呼びかけています。