セキュリティ
AI生成のGitHub Copilot「Autofix」がSnowflakeのJiraを侵害可能にした
AI-Generated GitHub Copilot "Autofix" Allowed Compromise of Snowflake's Jira (wiz.io)
要約
Wiz ResearchのAIセキュリティ研究ツール「Red Agent」は、Snowflakeの公開リポジトリにあるGitHub Actionsワークフローの脆弱性を発見しました。この脆弱性は、GitHub CopilotのAutofix機能によって導入されたコード変更に起因し、悪意のあるGitHub Issueのタイトルを通じて、認証されていないユーザーが任意のコマンドを実行できるものでした。これにより、SnowflakeのJira認証情報が漏洩する可能性がありましたが、Snowflakeは迅速に修正し、影響を受けた認証情報をローテーションしました。
全文翻訳
SnowflakeのHackerOne脆弱性開示プログラムを通じて実施された継続的なセキュリティリサーチの一環として、Wiz Researchの「Red Agent」—自律型AI搭載セキュリティ研究ツール—が、Snowflakeの公開リポジトリの1つで、重大なGitHub Actionsワークフローの脆弱性を特定しました。このインシデントは、ソフトウェア開発における急速に現実化しつつある状況を浮き彫りにしています。AIコーディングアシスタントがどのようにして意図せずワークフロー注入の脆弱性を導入する可能性があり、また自動化されたAIエージェントがどのようにしてそれらを迅速に発見できるかということです。
Wizが2026年6月23日に責任ある開示を行った後、Snowflakeはその日のうちに脆弱性を修正し、影響を受けた認証情報をローテーションし、詳細な監査ログを通じてWizが露出ウィンドウ中の唯一のアクターであったことを確認しました。Wizは、概念実証テスト中にアクセスされたすべてのデータが安全に削除されたことを確認しました。
エグゼクティブサマリー
Wiz Red Agentは、snowflakedb/snowflake-connector-net内のスクリプト注入脆弱性を特定しました。この問題により、認証されていないユーザーが、特別に細工されたタイトルのGitHub Issueを開くことで、GitHub Actionsランナー内で任意のコマンドを実行できるようになりました。
決定的なのは、この脆弱性が発見のわずか5日前、2026年6月18日に、Copilot Autofix(AI搭載)によって共同作成されたコミットを介して導入されたことです。AIアシスタントは、リポジトリの既存のサニタイズされた入力パターンを削除し、シェルスクリプトで直接文字列展開に置き換えました。
スクリーンショットは、漏洩したトークンを介して、SnowflakeのJiraポータルへのアクセスを示しています。
エクスプロイトウォークスルー
発見
Wiz Red AgentのCI/CD機能は、SnowflakeのGitHub組織をスキャンし、snowflakedb/snowflake-connector-net内のjira_issue.ymlワークフローが、run:ブロック内の信頼できない入力によるスクリプト注入に対して脆弱であるとフラグを立てました。
AIアシスタント(Github Copilot)の変更
- env:
- ISSUE_TITLE: ${{ github.event.issue.title }}
- run: jq -n --arg title "$ISSUE_TITLE" ...
+ run: TITLE=$(echo '${{ github.event.issue.title }}' | sed ...)
ワークフローはissues: openedでトリガーされるため、任意のGitHubユーザーがIssueを開くことで起動でき、攻撃者が制御するIssueタイトルをシェルスクリプトに直接展開しました。
run: |
TITLE=$(echo '${{ github.event.issue.title }}' | sed 's/