「AIエージェントを動かしているだけで、サーバーが乗っ取られる」
2026年4月、AIエージェント界隈に激震が走った。
わずか1週間で4つの致命的脆弱性が公開され、合計27,000以上のインスタンスが攻撃可能な状態で放置されている。しかも、すでに攻撃は始まっている。
あなたが使っているAIエージェントフレームワーク、本当に大丈夫?
結論から言うと
今すぐ以下をチェックしてください:
- PraisonAI → バージョン4.5.115以上に更新
- PraisonAI Agents → バージョン1.5.115以上に更新
- Flowise → バージョン3.0.6以上に更新
1つでも該当するなら、この記事を最後まで読む前にアップデートしてください。
被害状況まとめ
| フレームワーク | CVE番号 | CVSS | 脆弱性の種類 | 影響範囲 |
|---|---|---|---|---|
| Flowise | CVE-2025-59528 | 10.0 | RCE (コード実行) | 15,000+インスタンス |
| PraisonAI | CVE-2026-39888 | 9.9 | サンドボックス脱出 | 全バージョン |
| PraisonAI | CVE-2026-39890 | 9.8 | YAML RCE | 全バージョン |
| PraisonAI | CVE-2026-39891 | 8.8 | テンプレートインジェクション | 全バージョン |
CVSS 10.0が何を意味するか?
「脆弱性の悪用が極めて簡単で、特別な権限も不要、システムの完全な侵害につながる」
つまり、誰でも・簡単に・あなたのサーバーを乗っ取れるということだ。
Flowise: CVSS 10.0の完全崩壊
何が起きているのか
FlowiseはノーコードでLLMワークフローを構築できる人気のOSSツールだ。GitHub Stars 4万以上、世界中で使われている。
そのFlowiseに、史上最悪レベルの脆弱性が見つかった。
// 問題のコード(概念的な再現)
function convertToValidJSONString(mcpServerConfig) {
// ユーザー入力をそのままFunction()に渡している
return new Function('return ' + mcpServerConfig)();
}
CustomMCPノードがMCPサーバー設定を受け取る際、ユーザー入力を検証なしでFunction()コンストラクタに渡している。
これが何を意味するか?
// 攻撃者の入力例
"(function(){ require('child_process').execSync('rm -rf /'); })();"
ファイルシステム操作、コマンド実行、何でもできる。Node.jsのフルランタイム権限で動くからだ。
すでに攻撃は始まっている
2026年4月第1週、VulnCheck社が野生での攻撃を初検出した。
「最初の攻撃は単一のStarlink IPアドレスから発信された」
Shodan検索で見つかる15,000以上の公開インスタンスが攻撃対象になっている。
APIトークンさえあれば攻撃可能。認証バイパスも不要なため、内部向けインスタンスでも危険。
PraisonAI: 3連続CVEの衝撃
PraisonAIは「マルチエージェントチームシステム」として人気のフレームワークだ。複数のAIエージェントを協調動作させる用途で使われている。
そのPraisonAIに、1日で3つのCVEが公開された。
CVE-2026-39888: サンドボックス脱出(CVSS 9.9)
PraisonAIは安全のためにコード実行をサンドボックス化している...はずだった。
問題: サブプロセスモードのblocked_attrsリストに11個の属性名しか含まれていない(直接実行パスでは30個以上)
致命的に欠けている属性:
__traceback__tb_framef_backf_builtins
これらを悪用すると、例外のスタックフレームを辿って本来隠されているはずのPythonビルトインにアクセスできる。
# 攻撃の概念コード
try:
raise Exception()
except Exception as e:
# 例外フレームを辿ってサンドボックスを脱出
real_builtins = e.__traceback__.tb_frame.f_back.f_builtins
real_exec = real_builtins['exec']
real_exec('import os; os.system("whoami")')
サンドボックス?何それ?状態だ。
CVE-2026-39890: YAML デシリアライゼーションRCE(CVSS 9.8)
# 悪意あるエージェント定義ファイル
agent_name: malicious
config: !!js/function >
function() {
return require('child_process').execSync('id').toString();
}
AgentService.loadAgentFromFileメソッドがjs-yamlライブラリでYAMLをパースする際、危険なタグ(!!js/functionなど)を無効化していない。
つまり、悪意あるYAMLファイルをアップロードするだけで、任意のJavaScriptコードが実行される。
CVE-2026-39891: テンプレートインジェクション(CVSS 8.8)
agent.start()関数からのユーザー入力が、acp_create_fileなどのツールでエスケープなしでテンプレートエンジンに渡される。
# 攻撃入力例
"{{ self.__class__.__mro__[1].__subclasses__() }}"
SSTIの古典的パターンだが、AIエージェントフレームワークで見つかるとは...。
なぜこれほど危険なのか
1. AIエージェントは「特権的」である
AIエージェントは仕事をするために、通常のアプリより多くの権限を持つ:
- ファイルシステムへのアクセス
- コマンド実行能力
- 外部APIとの通信
- データベース操作
権限が大きいほど、侵害時の被害も大きい。
2. サプライチェーン攻撃の温床
これらのフレームワークは他のツールの基盤として使われている:
あなたのアプリ
└── AIエージェントフレームワーク(←ここが陥落)
└── LLM API
└── MCP サーバー
└── 各種ツール
基盤が崩れれば、その上に乗っているすべてが危険になる。
3. 「ノーコード」の罠
FlowiseやPraisonAIは非エンジニアでも使えることが売りだ。
しかし、それは同時にセキュリティの知識がないユーザーが本番環境で動かしていることを意味する。
今すぐやるべきこと
Step 1: バージョン確認
# Flowise
npm list flowise
# PraisonAI
pip show praisonai praisonaiagents
Step 2: 即座にアップデート
# Flowise
npm update flowise@3.0.6
# PraisonAI
pip install --upgrade praisonai>=4.5.115 praisonaiagents>=1.5.115
Step 3: ネットワーク設定の見直し
- 公開インターネットからのアクセスを遮断
- VPN経由のみでアクセス可能にする
- WAFの導入を検討
Step 4: 侵害の痕跡を確認
# 不審なプロセス
ps aux | grep -E "(python|node)" | grep -v grep
# 異常なネットワーク接続
netstat -an | grep ESTABLISHED
# 最近変更されたファイル
find /var/log -mtime -1 -type f
教訓: AIエージェント時代のセキュリティ
今回の件から学ぶべきことは明確だ:
1. 「便利」と「安全」はトレードオフ
AIエージェントは強力だが、その分リスクも大きい。最小権限の原則を徹底すべき。
2. OSSだから安全とは限らない
「みんなが使っている」「スターが多い」は安全の証明にならない。定期的なセキュリティ監査が必要。
3. アップデートは最優先タスク
CVE公開から攻撃開始まで、もはや数日しかない。自動アップデートの仕組みを構築すべき。
まとめ
2026年4月第2週、AIエージェントフレームワークに対する過去最大規模の脆弱性祭りが発生した。
- Flowise: CVSS 10.0、15,000+インスタンス危険、すでに攻撃中
- PraisonAI: CVSS 9.9/9.8/8.8の3連続CVE
「AIエージェントを作る」ことに夢中になりすぎて、セキュリティを忘れていないか?
今すぐバージョンを確認し、アップデートしてください。
この記事が役に立ったらいいねとストックをお願いします!コメントで「うちも使ってた」「アップデートした」など教えてください。
あなたのAIエージェント環境、今日チェックしましたか?
参考リンク
Flowise AI Agent Builder Injection Vulnerability Exploited in Attacks
PraisonAI Template Injection via Agent Input (CVE-2026-39891)
CVE-2026-39888: PraisonAI Sandbox Escape
CVE-2026-39890: PraisonAI YAML Deserialization RCE
Weekly Vulnerability Digest (March 30 - April 5, 2026)