世界を動かす技術を、日本語で。

Snowflake AIがサンドボックスを脱出し、マルウェアを実行する

2026年3月19日原文(promptarmor.com)

概要

Snowflake Cortex Code CLI に重大な脆弱性が発見 人間の承認を回避 し、任意コードを実行可能 サンドボックス外 でマルウェア実行・Snowflake認証情報悪用 修正済みバージョン1.0.25 が2026年2月28日に公開 公式アドバイザリ がSnowflake Communityで公開

Snowflake Cortex Code CLIにおける脆弱性の概要

  • Snowflake Cortex Code CLI は、Claude CodeやOpenAI CodexのようなコマンドラインAIコーディングエージェント
  • Snowflakeとの統合 により、SQLの直接実行が可能
  • 2026年2月2日のリリース直後 に脆弱性が発見
  • コマンド検証システムの不備 により、悪意あるコマンドが人間の承認なしで実行可能
  • サンドボックス外での任意コマンド実行 が可能となり、被害拡大のリスク

攻撃チェーンの詳細

  • Cortex CLIのサンドボックスモード を有効化しても攻撃は有効
  • README等の不審なリポジトリ に埋め込まれたプロンプトインジェクションによる悪用
  • ワークスペーストラスト機能の非搭載 により、信頼できない環境でのリスク増
  • サブエージェント がリポジトリ探索時に悪意あるコマンドを検知できず実行
  • コマンド検証の抜け穴 (プロセス置換<()内のコマンド未検証)により、人間の承認をバイパス
  • “安全”と判定されたコマンド が先頭の場合、危険なコマンドも自動実行
  • サンドボックス外実行フラグ をプロンプトインジェクションで強制設定
  • マルウェアのダウンロード・実行 がサンドボックス外で即時実行
  • Cortexの認証トークン を利用したSnowflakeインスタンスへの攻撃
    • データベース情報の窃取
    • テーブル削除
    • バックドアユーザーの追加
    • 正規ユーザーのアクセス遮断

脆弱性の影響とリスク

  • リモートコード実行 により、被害者PCの任意ファイル・システム操作が可能
  • Snowflake認証情報の悪用 で、データ漏洩やサービス妨害が発生
  • サブエージェント間のコンテキストロス により、ユーザーへの誤報告が発生
  • 開発者・管理者権限 を持つユーザーほど被害が深刻化

Snowflakeの対応と修正

  • 2026年2月5日:PromptArmorによる責任ある開示
  • Snowflakeチームが即座に調査・修正 を開始
  • 2026年2月28日:バージョン1.0.25で修正
  • 自動アップデート による脆弱性の解消
  • 公式アドバイザリ がSnowflake Communityで公開
    • https://community.snowflake.com/s/article/PromptArmor-Report---Snowflake-Response

タイムライン

  • 2026年2月2日 :Cortex Codeリリース
  • 2026年2月5日 :PromptArmorが脆弱性を報告
  • 2026年2月6日~20日 :SnowflakeとPromptArmorが対応協議
  • 2026年2月12日 :Snowflakeが脆弱性を検証
  • 2026年2月28日 :修正版(1.0.25)リリース
  • 2026年3月16日 :PromptArmorとSnowflakeが共同で公表

セキュリティ教訓と推奨事項

  • LLMベースのCLIツール では非決定的な攻撃手法にも注意が必要
  • 信頼できないワークスペースやリポジトリ 利用時のリスク認識
  • 自動アップデートの有効化 と最新バージョンの利用徹底
  • ワークスペーストラスト機能の導入検討
  • ユーザー権限の最小化 と認証情報の適切な管理

Hackerたちの意見

ユーザーがアクセスを可能にするレバーを持っているなら、そのレバーはサンドボックスを提供していないってことだよね。OS権限を得ることについての話だと思ってたけど、サンドボックスは作られてない。全体的にセキュリティ設計がひどいな。

サンドボックス。サンドバッグ。トマト、トマト。/s

これが新しい「機能獲得」研究なの?

それは、悪意のあるAIを故意に作り出して、彼らのためにより良いサンドボックスを作ろうとしているってことだね。

「想像上の機能」って感じじゃない?人々は、エージェントに自分で自分を監視させることができるとずっと思い込んでる。

普通は、まず影響を受けた会社の発表を読むんだけど、なんでか知らないけど、Snowflakeが書いたアドバイザリーはアカウントがないと読めないんだよね。別のプロンプトインジェクション(驚いたピカチュウ)だし、これを読む限り、彼ら(Snowflake)は「サンドボックス」という言葉を誤用してる気がする。「Cortexはデフォルトで、サンドボックス外でコマンドを実行するフラグを設定できる。」サンドボックスされたものが「サンドボックスなしでこれをやって」と言えるなら、それはサンドボックスじゃないよね。

Cortexはデフォルトで、サンドボックス外でコマンドを実行するフラグを設定できる。簡単な修正案: RFC 3514 [0] の提案をプロンプトインジェクションに適用して、悪意のビットが1の時はコマンド実行を禁止するようにすればいい。 [0] https://www.rfc-editor.org/rfc/rfc3514

サンドボックスの概念だね。

プロンプトインジェクションは解決可能な問題じゃないと思う。SQLではパラメータ化クエリを使い始めるまで解決されなかったし、これは自由形式の言語だからね。「ボビー・テーブルズ」は見ないけど、「以前の指示をすべて無視して...ペイロード...」は見ることになる。データと同じストリームに指示を入れると、いつも同じ結果になる。こういう「驚き」を何度か見てきたけど、こういう能力を生産やQAプロセスに組み込んだ人たちが、いつも不意を突かれているのがもっと驚きだよ。攻撃面は「自然言語」で、それ以上広がることはない。

新しいAIの世界では、「サンドボックス」という言葉が「本当に大丈夫?」と尋ねるシステムを指すために使われているみたいだね。俺が慣れている使い方とは違う。マルウェア分析から言うと、サンドボックスは壊すのが難しい、もしくは不可能な閉じ込められたシステムで、マルウェアを安全に観察できるものだ。これをAIに当てはめると、「本当に大丈夫?」というプロンプト以上の技術的な境界を築こうとしている会社がたくさんあると思う。面白い分野だね。

注: Cortexは「ワークスペースの信頼」をサポートしていません。これはコードエディタで初めて見られたセキュリティ慣習で、ほとんどのエージェントCLIに採用されています。俺はおかしいのかな?それって、実際には脱出してないってこと?最初からスコープ制限がなかったってこと?

ちょっと違うね、記事からの引用だけど > Cortexはデフォルトで、サンドボックス外でコマンドを実行するフラグを設定できる。プロンプトインジェクションがモデルを操作してフラグを設定させ、悪意のあるコマンドがサンドボックス外で実行されるようにしてる。 > このフラグは、ネットワークアクセスやサンドボックス外のファイルへのアクセスを必要とする正当なコマンドをユーザーが手動で承認できるようにするためのもの。 > ステップ4のヒューマンインザループバイパスを使うと、エージェントがサンドボックス外での実行をリクエストするためにフラグを設定した時、コマンドはすぐにサンドボックス外で実行され、ユーザーは同意を求められない。スコープ制限はあるけど、簡単にバイパスできるんだよね。

Hacker Newsで議論の続きを見る