「SymJack」攻撃:AIコーディングエージェントをサプライチェーン攻撃の配送システムに変える

信頼と自動化は多くの攻撃において重要な要素であり、AIコーディングエージェントの利用にはその両方が本質的に備わっている。

悪意のあるリポジトリは多くのサプライチェーン攻撃において頻繁に関与しており、その割合は20〜40%と推定されている。こうしたリポジトリは、AIコーディングエージェントを使用する開発者を騙して不正なコードを生成させ、CIパイプラインに密かに紛れ込ませるために悪用される可能性がある。それは、Adversa AIが報告したSymJack攻撃の可能性の一つに過ぎない。

この攻撃には3つの要素が必要だ。攻撃者によるコーディングエージェントリポジトリの制御、あらかじめ用意された悪意のあるMCPサーバー、そして開発者によるAIコーディングツールの使用である。

Adversaはこの攻撃をSymJackと命名した。コード開発プロセス内のシンボリックリンクを乗っ取り、無害に見える名前に変名して悪意のあるMCPへリダイレクトさせ、攻撃者の指示を完成したコードに組み込むことに由来する。

攻撃チェーンは、攻撃者がコーディングエージェントのリポジトリと、それに含まれるプロジェクト指示ファイルを制御することから始まる。そのファイルは悪意を持って改ざんされるが、コーディングエージェントによって使用・信頼される。

SymJackでは、悪意のあるシンボリックリンクが無害に見えるよう名前を変えられる。cpコマンドを使用することで、偽装されたシンボリックリンク内に隠された攻撃者のペイロードをエージェント自身の設定ファイルに自動的に挿入できる。このペイロードは悪意のあるMCPサーバーを登録し、その起動コマンドが攻撃者の望む任意の処理を実行する。

Adversaはこうまとめている。「開発者が目にするのは1つのリクエストだけだ。この(無害に見える)ファイルをドキュメントフォルダにコピーしてください、というものだ。開発者はそれを承認する。画面上には設定ディレクトリ、MCPファイル、実行可能なコンテンツについて一切言及されていない。次回の再起動時に仕掛けられたサーバーが起動し、攻撃者のコードがユーザーとして、サンドボックス外で実行される。実際の攻撃では、開発者が次の一言を入力する前に、SSHキー、クラウドトークン、ブラウザセッションを盗んだり、本番環境の資産を破壊したりすることさえ可能だ。」

攻撃がCIを標的とした場合、追加のユーザー操作なしに被害範囲が拡大する可能性がある。CIランナーはすでに運用に必要なシークレットを保有している。「悪意のあるプルリクエスト1件で、人間がその変更をレビューする前にすべてのシークレットを外部に流出させることができる」とAdversaのレポートは述べている。「これはコーディングエージェントを配送手段として利用したサプライチェーン攻撃だ。」

Adversaの概念実証(PoC)はGitHubで公開されている。

これはコーディングエージェント内のバグではない。エージェントは単に与えられた指示に従うだけだ。SymJack攻撃は、ユーザーがコーディングプロセスにおける特定のcpコマンドの実行を拒否することで阻止できる。しかし、なぜそうすべきなのか?開発者には何も不審に見えない。コーディングエージェントを使用する目的そのものが開発速度の向上にあり、人間の本能と自動化への高まる信頼が、素早く受け入れて先に進もうとする傾向を生み出している。

Adversaは5つの主要なコーディングエージェント(Claude Code、Gemini CLIとAntigravity CLI、Cursor Agent CLI、Grok Build CLI、GitHubのCopilot CLI)でその手法を検証し、すべてのケースで有効であることを確認した。同社はこの問題を5社すべてに報告した。執筆時点では、xAIとGitHubは返答していない。Googleは、ユーザーによる明示的な承認が意図された動作とみなされるとして報告を却下した。Cursorはすでに問題を把握していたとして対応を断り、Anthropicは範囲外として問題を却下した。

しかし当初の却下にもかかわらず、Anthropicは数週間後にひっそりとClaude Codeを堅牢化した。「堅牢化されたClaude Codeは現在、承認を求める前にシンボリックリンクを解決し、プロンプトに実際のリンク先のパスを表示するようになった。」それは良い第一歩だ。ユーザーに行動する前に一考を促すことはSymJack攻撃を阻止するのに役立ち、他のコーディングエージェントが実装するのも十分シンプルなはずだ。

SymJackのような信頼に関する脆弱性の発見は今後増加すると見られる。これは、過度な自動化に過度な信頼が適用された必然的な結果だ。信頼と自動化は現代ビジネスに不可欠となっており、どちらもROIを確保し競争力を維持・向上させるためのスピードの必要性から生じている。

AIリスクサミット|リッツ・カールトン ハーフムーンベイで詳細を確認する

翻訳元: https://www.securityweek.com/symjack-attack-turns-ai-coding-agents-into-supply-chain-attack-delivery-systems/

ソース: securityweek.com