Marimo CVE-2026-39987 事前認証RCEから内部DB窃取まで、1時間未満の4段階自律ピボット


目次

  1. 要約 (TL;DR)
  2. はじめに — 「攻撃者が人間である必要がなくなった」
  3. 脆弱性分析 — CVE-2026-39987 事前認証RCE
  4. 攻撃チェーン — 4段階の自律ピボット
  5. 「AIエージェント主導」の判定 — 4つの行動シグネチャ
  6. 韓国の視点 — クオンツ・データサイエンス・Web3ノートブックの露出
  7. 検知・緩和の推奨
  8. 結論
  9. 参考文献

要約 (TL;DR)

2026年5月、クラウドセキュリティ企業Sysdigの脅威研究チーム(TRT)は、侵入後(post-exploitation)フェーズ全体を大規模言語モデル(LLM)エージェントが自律的に運用した侵害事案を公開した。Sysdigはこれを、同社が記録した初の「AIエージェント主導型(AI-agent-driven)侵入」と位置づけた。

攻撃の入口は、インターネットに露出したMarimoノートブックの事前認証リモートコード実行(RCE)脆弱性CVE-2026-39987(CVSS 9.3)である。攻撃者はこれによりホストを掌握した後、クラウド認証情報の窃取 → AWS Secrets ManagerからのSSH秘密鍵取得 → 下流のSSH踏み台経由 → 内部PostgreSQL DB全体の窃取という4段階のチェーンを1時間未満で完走し、最後のスキーマ・全データのダンプは2分未満で行われた。

本レポートが注目するのは単一のCVEではなく、攻撃運用モデルの転換である。従来のスクリプトベースの自動化と異なり、侵入後のコマンドフローは出力値をリアルタイムに解釈し次の行動を決定するLLMエージェントによって動的に生成された。これは「発見-パッチ」の競争を、「観測-対応」が追いつけない速度へ引き上げる。

Key Judgments

# 判断 信頼度
KJ-1 CVE-2026-39987はコーディングミスではなく、/terminal/wsエンドポイントが認証検証を省く設計レベルの欠落である。単一のWebSocketリクエストで完全なPTYシェルを得る。 High
KJ-2 侵入後の偵察・認証情報の再生・ピボット判断をLLMエージェントが自律的に実行した初の公開観測事例。これは一回限りのデモではなく、実際の侵害環境で捕捉された運用である。 High
KJ-3 1時間未満のチェーン、2分未満のDBダンプという速度は、人間のSOCの平均対応ウィンドウを構造的に超える。対応の単位は「分」から「秒」へ移行する。 High
KJ-4 CVEパッチ・シグネチャベースの防御では、この脅威の後段(post-exploitation)を阻止できない。行動ベース(behavioral)のランタイム検知への移行が必須である。 Medium-High
KJ-5 韓国のデータサイエンス・クオンツ・Web3チームが運用する露出型のJupyter/Marimo/Streamlitノートブックは同一の攻撃面を共有する。AWS・オンチェーン認証情報が同一ホストに置かれている場合、単一障害点へ縮退する。 Medium-High

1. はじめに — 「攻撃者が人間である必要がなくなった」

長年、業界は「攻撃の自動化」をスクリプト・ボットネット・スキャナの問題として扱ってきた。しかし自動化スクリプトは事前定義された分岐のみを実行する。予期せぬ出力、非定型環境、新しい認証情報の形態に直面すると停止または誤作動する。そのため精緻な侵入後作業は、依然として人手を要した。

Sysdig TRTが2026年5月に公開した事案は、この前提を覆す。Marimoノートブックを掌握した直後の偵察、認証情報の解釈、ピボット経路の選択が、LLMエージェントによってリアルタイムに生成された。Sysdigのシニアディレクターであるマイケル・クラーク氏はこう述べた——「我々はAIが攻撃者を置き換えるのを見ているのではない」。すなわち人を置き換えるのではなく、人の判断を速度において数十倍に圧縮して貼り付けたのである。

本レポートはこの事案を2つの層で分析する。第一に侵入を許した脆弱性自体(CVE-2026-39987)、第二にその上に乗ったAI主導の運用モデルである。後者が本質だ。


2. 脆弱性分析 — CVE-2026-39987 事前認証RCE

項目
CVE CVE-2026-39987
CVSS 9.3 (Critical)
影響バージョン Marimo ≤ 0.20.4
修正バージョン 0.23.0
種別 事前認証(pre-auth)リモートコード実行
状態 CISA KEV登録 · 連邦パッチ期限経過

Marimoはデータサイエンス・分析・対話型コーディングに広く使われるオープンソースのPythonノートブック(約1.9万GitHubスター)である。脆弱性の核心はターミナルWebSocketエンドポイント/terminal/wsにある。他のWebSocketエンドポイント(例:/ws)は正しくvalidate_auth()を呼び出すが、/terminal/ws実行モードとプラットフォーム対応の有無のみを確認し、認証検証を完全に省く。その結果、認証されていない攻撃者が単一のリクエストで完全なPTYシェルを取得し、任意のシステムコマンドを実行できる。

この脆弱性は公開後約10時間で実際の悪用が観測され、公開エクスプロイトコードなしに攻撃者が勧告文の説明のみで動作するエクスプロイトを直接構成したことから、「勧告文自体が武器化される」という教訓を残した。本事案の入口がこの欠陥である。


3. 攻撃チェーン — 4段階の自律ピボット

Sysdigが記録したコマンドストリームを再構成すると次の通り。

段階 行為 技術的詳細
① 初期アクセス 露出したMarimoノートブックの掌握 /terminal/wsの無認証PTYシェル(CVE-2026-39987
② 認証情報収集 ホストからクラウド認証情報2件を抽出 環境変数・.env・AWS認証情報ストア
③ 権限ピボット 窃取鍵をfan-out egressで再生、SSH秘密鍵を取得 Cloudflare Workersベースのfan-out egress → AWS Secrets Manager
④ 横移動・窃取 SSH踏み台へ8並列セッション、内部DBを窃取 下流SSH踏み台 → 内部PostgreSQLスキーマ・全内容ダンプ(2分未満)

全チェーンは初期アクセスから内部DB窃取まで1時間未満で完了した。特に③段階の「fan-out egressプール」は検知回避と速度を同時に狙ったもので、単一IPの異常トラフィックシグネチャを分散させつつ、認証情報の再生を並列化する。


4. 「AIエージェント主導」の判定 — 4つの行動シグネチャ

Sysdig TRTは、この侵害を単なるスクリプトではなくLLMエージェント主導と判定した根拠として、侵入後のコマンドフローの特性を提示した。本レポートはこれを次の4つの観測可能なシグネチャに整理する。

  1. 出力依存の分岐 — 直前のコマンドの出力を解釈した後にのみ次のコマンドが決定される。静的スクリプトと異なり、非定型応答にも途切れなく適応する。
  2. 自然言語的なコマンド構成 — コマンド列が人間の探索論理を模倣しつつ、人間には不可能な間隔(秒単位)で連鎖する。
  3. 目標指向の再試行 — 失敗した認証情報・経路に対し、文脈を維持したまま代替を即座に試みる。
  4. 速度-精度の融合 — 人間レベルの判断精度(正確なSecrets Managerキー選択)と機械レベルの速度(2分のDBダンプ)が一つの流れに共存する。

この4つが同時に現れるとき、防御側は「人間一人の攻撃」ではなく「人間の判断を秒単位で複製した自動運用」を相手にしていると見なすべきである。


5. 韓国の視点 — クオンツ・データサイエンス・Web3ノートブックの露出

本事案は韓国の特定職種に直接的な含意を持つ。

  • クオンツ・データサイエンスチーム — Marimo・Jupyter・Streamlit等のノートブックを内部網の外(クラウドVM、デモサーバ)に露出する慣行が一般的だ。これらには取引所APIキー、データベンダートークン、クラウド認証情報が環境変数として置かれる場合が多い。
  • Web3・オンチェーン分析チーム — 同一ホストにRPCキー・ウォレット認証情報・AWSキーが共存すると、CVE-2026-39987レベルの入口一つが資産窃取に直結する。
  • 単一障害点構造 — 「ノートブックは分析用に過ぎない」という認識が認証情報の隔離を疎かにする。本事案は分析用ホストが内部PostgreSQLとSSH踏み台への足場になったことを示す。

推奨:インターネットに露出した全てのノートブックインスタンスを潜在的な侵害状態とみなし、関連する認証情報・APIキー・SSHキー・DBパスワードを直ちにローテーションすること。


6. 検知・緩和の推奨

  1. 即時パッチ — Marimoを0.23.0以上に更新する。不可の場合、/terminal/wsエンドポイントのネットワークアクセスを遮断するか、ターミナル機能を無効化する。
  2. 露出面の監査 — 公開アクセス可能なノートブックインスタンスを全数調査し、環境変数・.env・シークレットを点検する。
  3. 認証情報のローテーション — 露出履歴のあるホストの全認証情報・キーをローテーションする。
  4. 行動ベースのランタイム検知— CVE・シグネチャ依存を超え、異常なegress(例:fan-out送出)、Secrets Managerへの異常アクセス、短時間の大量DBダンプといった行動パターンに警報を設定する。
  5. 認証情報の隔離(Zero Trust) — 分析用ホストと運用認証情報を分離する。ノートブックホストには最小権限の一時認証情報のみを注入し、長期キー・SSH秘密鍵を置かない(NIST SP 800-207)。
  6. 対応ウィンドウの再設計 — AI主導攻撃を前提に、人間の介入なしに自動遮断(認証情報の即時無効化、セッションの強制終了)をトリガーするランブックを用意する。

7. 結論

CVE-2026-39987は、もう一つの事前認証RCEに過ぎない。しかしその上に乗ったLLMエージェントは脅威モデル自体を変える。攻撃者が「人間」である必要がなくなった瞬間、防御の前提だった「人間の作業速度」という摩擦(friction)が消える。

この事案の真の教訓は単純だ。パッチは侵入を阻むが、運用速度を阻まない。 したがって防御は2つの軸で再編されねばならない。第一に、露出を減らし認証情報を隔離して「侵入の価値」を下げる。第二に、侵害を前提とした行動ベースの検知と自動対応で「運用の速度」に対抗する。AI主導の攻撃者は、もはやあなたの環境を地図化する必要がない。分散送出、適応性、速度は、いまや脅威の基本仕様である。


参考文献 (References)

[1] Sysdig Threat Research Team, "AI agent at the wheel: How an attacker used LLMs to move from a CVE to an internal database in 4 pivots", Sysdig, 2026-05. https://www.sysdig.com/blog/ai-agent-at-the-wheel

[2] Ravie Lakshmanan, "Attackers Use LLM Agent for Post-Exploitation After Marimo CVE-2026-39987 Exploit", The Hacker News, 2026-05-29. https://thehackernews.com/2026/05/attackers-use-llm-agent-for-post.html

[3] "Hackers Use LLM Agent to Move From Marimo RCE to Internal Database in Four Pivots", Cyber Security News, 2026-05. https://cybersecuritynews.com/hackers-use-llm-agent-to-move-from-marimo-rce/

[4] "Hackers Pivot from marimo RCE to Internal Database Using LLM Agent", GBHackers, 2026-05. https://gbhackers.com/hackers-pivot-from-marimo-rce/

[5] Pierluigi Paganini, "CVE-2026-39987: Marimo RCE exploited in hours after disclosure", Security Affairs, 2026-04-11. https://securityaffairs.com/190623/hacking/cve-2026-39987-marimo-rce-exploited-in-hours-after-disclosure.html

[6] "Marimo RCE Flaw CVE-2026-39987 Exploited Within 10 Hours of Disclosure", The Hacker News, 2026-04-24. https://thehackernews.com/2026/04/marimo-rce-flaw-cve-2026-39987.html


© 2026 Dennis Kim (김호광) · 本文書は独立CTIアーカイブ(TLP:GREEN)の公開を目的として作成された。 連絡先: [email protected] · GitHub: gameworkerkim/CYBER-THREAT-INTELLIGENCE-REPORT