AI関連の最新ニュースをピックアップ

クラウドセキュリティ企業Wizは、同社が提供する自律型攻撃AI「Wiz Red Agent(標的の挙動を自律推論して攻撃検証を行うAIエージェント)」が、Snowflakeの公開リポジトリに存在したGitHub Actions(GitHub上のCI/CD自動化ワークフロー機能)の設定不備(スクリプトインジェクション)を人間の介入なしに自動発見・悪用し、社内Jiraの認証情報を窃取した事例の技術分析を公開した。
本インシデントの対象となったのは、Snowflakeの公開リポジトリ(snowflakedb/snowflake-connector-net)における .github/workflows/jira_issue.yml である。このワークフローは、作成されたIssueを社内Jiraに自動起票する役割を持っていた。
脆弱性の根本原因と攻撃成立の要因は以下の通りである。
run: ブロック内で ${{ github.event.issue.title }} を直接参照していたため、シェルがコマンドを解釈する前に文字列展開が行われ、Issueタイトルにクォートを含めるだけで sed によるエスケープ処理をすり抜けて任意のシェルコマンドが連結できた。github.event.pull_request.user.login を参照する除外条件が設定されていたが、issues イベントではPRプロパティが存在せず空文字に縮退したため、条件式が常に真(true)となり、第三者による実行を許容していた。# によるコメントアウト)が構文エラーで失敗した際、エラー出力を自律的に分析し、; echo ' でシェルの文字列ブロックを適切に閉じるペイロードへと自力修正して数秒で認証情報の窃取に成功した。初報では「GitHub Copilot(コードの自動補完や生成を行うAI支援ツール)が生成した脆弱性をAIが突いた」と報じられたが、各者の公式見解と検証により以下の通り事実関係が整理されている。
| 論点 | 状態 | 詳細 |
|---|---|---|
| Copilotによるコード生成 | 否定 | GitHubは該当行が人間によって作成されたものと公式に否定。コミット履歴の外部検証でも脆弱な行の作者は人間アカウントであることを確認 |
| AIレビュー・スキャンの見落とし | 確定 | GitHub Advanced Security(CodeQL等)は該当ファイルを解析対象としつつも、既知のインジェクションパターンを検知できなかった |
| 顧客データの被害 | なし | 影響は社内Jiraの読み取り権限にとどまり、顧客データの漏洩や悪意ある攻撃者による実害は確認されていない(Snowflakeが即日修正およびトークン失効を実施) |
本事例は、AIコーディング支援ツールの導入が進む開発現場において、CI/CDパイプラインのセキュリティ設計を再点検する重要性を示している。
${{ ... }} を run: 内に直接書かず、env: セクションに代入して "$VAR" として参照することで、値をデータとして安全に扱う。zizmor や actionlint)をCIチェックに組み込み、テンプレートインジェクションを機械的に検出する。今回の事例で最も注目されるのは、脆弱性の本番反映からWiz Red Agentによる自動悪用までわずか5日間しかかからなかったという点である。
攻撃側AIが脆弱性の検知からペイロードの自己修正・実証までを自律的に高速実行する時代においては、脆弱性公開後の猶予期間(パッチ適用ウィンドウ)に頼る運用は通用しにくくなっている。AIコードレビューを過信せず、確実な静的解析と多層防御を組み合わせたサプライチェーン保護が求められる。
引用元:AI革命