AIが生んだ脆弱性、別のAIが即発見・悪用
- GitHub Copilot Autofixが書いたコミットに脆弱性が混入
- Wizの攻撃用AIエージェントが自動でこれを発見・悪用
- Snowflakeは同日に修正、認証情報も翌日ローテーション
かんたんに言うと
AIがコードを書く際にうっかり弱点を作り、別のAIがそれを自動で見つけて悪用しました。人の目だけのチェックでは追いつかないため、AIが書いたコードも自動で検証する仕組みが必要です。
AIセキュリティとの関連: AIが作った脆弱性を別のAIが自律的に発見・悪用した実例で、AI攻撃の実力を示す重要な事例のため。
一次情報(公式アドバイザリ・CVEレコード等)は確認できていません。本記事は下記の報道をもとに作成しています。
何が起きたか
Wizの報告によると、SnowflakeのGitHubリポジトリ「snowflake-connector-net」で、AIコーディング支援ツールGitHub Copilot Autofixが6月18日に加えたコミットが、既存の入力サニタイズ処理を削除し、シェルスクリプト内で文字列を直接展開する形に書き換えた。これによりGitHub Actions(CI/CDの自動処理機能)のワークフローにスクリプトインジェクション(不正なコマンドを注入する手法)の脆弱性が生じた。5日後の6月23日、Wizの攻撃用AIエージェント「red agent」が公開リポジトリの定期スキャン中にこの欠陥を発見。特殊な文字列を含むGitHub Issueのタイトルを作成することで、認証されていないユーザーでもGitHub Actionsのランナー上で任意のコマンドを実行できることを実証した。この手法によりJiraの認証情報が外部に送信される経路を作り、SnowflakeのエンジニアリングやセキュリティコンプライアンスなどのJiraプロジェクトへの読み取りアクセスを取得したという。
誰に・どう影響するか
大企業にとっては、AIコーディング支援が生産性を高める一方で、レビュー体制が追いつかないリスクを示す事例となる。特にCI/CDパイプラインなど自動化された開発基盤は攻撃対象になりやすい。中小企業では自社でCI/CDを構築する機会は少ないが、外部ベンダーやSaaSがAI支援ツールを使ってコードを書いている可能性があり、サプライチェーン経由でのリスクとして留意すべきだ。今回はバグバウンティ制度(脆弱性報告に報酬を支払う制度)を通じた合法的な検証であり、実際の悪用は確認されていない。
今すぐやるべきアクション
- AIコーディング支援ツールが生成・編集したコードは、既存の入力サニタイズ処理が保持されているか重点的にレビューする
- GitHub Actionsなどのワークフローで、外部入力(Issueタイトルなど)を直接シェルコマンドに展開しない設計にする
- CI/CDで使う認証情報は最小権限化し、定期的なローテーションを行う
- 自社のバグバウンティ・脆弱性開放窓口を整備し、早期発見・早期修正のプロセスを確立する
重大度の判定理由
重大度「中」: 悪用はバグバウンティ内の検証のみで実害なし。Snowflakeは同日中に修正済み。