AI生成のGitHub Copilot「Autofix」がSnowflakeのJiraを危険にさらす
AI-Generated GitHub Copilot "Autofix" Allowed Compromise of Snowflake's Jira

Wiz Researchの自律型AIセキュリティツール「Red Agent」が、Snowflakeの公開リポジトリでGitHub Actionsワークフローの脆弱性を発見しました。この脆弱性は、AIアシスタント「Copilot Autofix」が生成したコミットによって導入され、悪意のあるIssueタイトルを介して任意のコマンド実行を可能にします。Red Agentはこの脆弱性を悪用し、Jiraの認証情報を取得しました。Snowflakeは同日中に修正し、認証情報をローテーションしました。この事件は、AIコーディング支援ツールがセキュリティ上の回帰を引き起こす可能性と、自動化されたAIエージェントによる迅速な発見の重要性を示しています。
AIの「自動修正」コミットが、まさにインジェクションの脆弱性を生み出したのです。
HNでの議論
154- inahga
私も同じ間違いを犯していただろう。静的解析を使わずにGitHub Actionsを書くのは怠慢だ。
CIでzizmorを使おう https://github.com/zizmorcore/zizmor
error[template-injection]: code injection via template expansion
--> .github/workflows/jira_issue.yml:24:29
|
22 | run: |
| --- this run block
23 | # Escape special characters in title and body
24 | TITLE=$(echo '${{ github.event.issue.title }}' | sed 's/"/\\"/g' | sed "s/'/\\\'/g")
| ^^^^^^^^^^^^^^^^^^^^^^^^ may expand into attacker-controllable code
|
= note: audit confidence → High
= note: this finding has an auto-fix
- mjr00
脆弱性が導入されたときに何をしようとしていたのかを見るのは興味深い[0]
> jira_close.ymlのようなワークフローは非推奨のatlassian JIRAアクションを使用しており、gh-actionsリポジトリに依存している。これは理想的ではなく、不必要に複雑だ。PRはjira_closeワークフローをcurlによる直接API呼び出しに更新する。カスタムフィールドも保持する。
このプロジェクトの管理や優先順位の付け方については言及しないが、私自身の経験から言うと、AI以前は、この種の変更は「これは小さな悩み事だ。テックデットバックログに他の5万件のチケットと一緒に入れておこう」という位置づけで、実際に実行されることは決してなかっただろう。問題の修正方法を理解し、コードを変更し、テストし、デプロイするために人間が時間を投資するコストは、この変更がもたらす実際の価値(ほぼゼロに等しい)に対してあまりにも高すぎる。
今やAIを使えば、エージェントを起動して変更を指示するだけでいい。バックログのJiraチケットを書くのと同じくらいの労力だ。
オープンソースが価値の低いPRで抱えている問題と同様に、企業は社内プロセスにおいても、コードが(ほぼ無料で生成されたとしても)レビューや保守が無料ではないことを認識し始めなければならない。エージェントが数行の指示で小さな技術的負債の悩みを解決できるからといって、それを実行すべきとは限らない。
[0] https://github.com/snowflakedb/snowflake-connector-net/pull/...
- procone
YAMLは悪夢のような燃料スペックだ。
マークアップを「人間が読める」ものにしようとするあまり、数え切れないほどの落とし穴を生み出してきた。
正直、今はXMLの方が好きだ。
- vultour
最初にリンクされているPR(#1218)には、Copilotが共著者のコミットが1つだけあり、それは脆弱性とは関係なく、PR内の他の提案も同様だ。何か見落としているのだろうか?
- TheRealPomax
いいえ、SnowflakeがAutofixを許可したことでJiraが危険にさらされたのです。誰かに自分の足を撃てと指示し、その人が足を撃ったなら、あなたは自分で足を撃ったことになる。ただ手順が増えただけだ。もし他の誰かが、あなたが足撃ちをサービスとして提供しているというメモを見つけ、そのサービスを起動したとしても、あなたはやはり自分で足を撃ったことになる。
- david_shaw
これが減ることを願う前に、もっと増えるのを見ることになるだろう。
今、業界で見られていること(このAutofix問題はその正確な例だと思う)は、ソフトウェア開発や類似分野で非常に蔓延している「LGTM!」レビューの自然な進化だ。
何年もの間、「コードレビュー」の圧倒的多数は、さっと目を通して「Looks good to me.」で終わっていた。もちろん、重要なワークフローにはもっと厳しい精査がある。もちろん、誰もがこの罠に陥ったわけではない。もちろん、多くの例外がある。しかし、それがミームになるのには理由がある。ほとんどの人は、自分に割り当てられたコードを実際にはレビューしていなかったのだ。実質的に、ほとんどのものにゴム印を押していただけだった。
だから今、AIの時代において、同じ人々が(時には今でも)自動化された開発者の友達であるClaudeのやっていることに責任を持つことが期待されている。ほとんどの人がPRをちらっと見る以上のことをしているとは思えないし、多くの組織では明示的に人間をループから外そうとしている。
いつか、AI開発とコードレビューは非常に優れたものになり、このような間違いは非常に稀になるだろう。しかし、近い将来については、これが減る前に、もっと増えるのを見ることになるだろう。
- chrisjj
> タイトル内の一重引用符がecho '...'を抜け出し、任意のコマンド実行を可能にする。
2026年になっても引用符インジェクションは健在だ。まったく。
- sippeangelo
タイトルは実際には「Wiz Red Agent Finds Its Way Into Snowflake’s Internal Jira Due to an AI-Generated GitHub Copilot Autofix」です。