< ブログ一覧に戻る

CVE-2026-44338: PraisonAI 認証が 4 時間以内にバイパスされ、急速に悪用される傾向が高まっています

清水 孝郎
CVE-2026-44338: PraisonAI 認証が 4 時間以内にバイパスされ、急速に悪用される傾向が高まっています
執筆者
清水 孝郎
CVE-2026-44338: PraisonAI 認証が 4 時間以内にバイパスされ、急速に悪用される傾向が高まっています
Published:
May 12, 2026
この記事の内容
シスディグによるファルコフィード

Falco Feedsは、オープンソースに焦点を当てた企業に、新しい脅威が発見されると継続的に更新される専門家が作成したルールにアクセスできるようにすることで、Falcoの力を拡大します。

さらに詳しく
Green background with a circular icon on the left and three bullet points listing: Automatically detect threats, Eliminate rule maintenance, Stay compliant, with three black and white cursor arrows pointing at the text.

本文の内容は、2026年5月12日に Michael Clark が投稿したブログ(https://www.sysdig.com/blog/cve-2026-44338-praisonai-authentication-bypass-in-under-4-hours-and-the-growing-trend-of-rapid-exploitation)を元に日本語に翻訳・再構成した内容となっております。

2026年5月11日、GitHub は GHSA-6rmh-7xcm-cpxj というアドバイザリを公開しました。これは、約 7,100 の GitHub スターを持つオープンソースのマルチエージェントオーケストレーションフレームワークである PraisonAICVE-2026-44338 として追跡されています。レガシーな api_server.py エントリポイントでは、デフォルトで認証が無効になった状態で出荷されており、GET /agents と POST /chat という 2 つのエンドポイントが任意の呼び出し元に公開されていました。

アドバイザリが公開されてから 3 時間 44 分以内に、CVE-Detector/1.0 と名乗るスキャナーが、インターネットに公開されたインスタンス上の正確な脆弱なエンドポイントを探索していました。アドバイザリは UTC 13:56 に公開されました。最初の標的型リクエストは、同日の UTC 17:40 に到達しました。

Sysdig Threat Research Team(TRT)は、アドバイザリ公開から悪用までの遅延時間を測定するため、複数のクラウドプロバイダーにまたがる早期警戒システム群を運用しています。脆弱性アドバイザリ公開後に PraisonAI が急速に悪用されたことは、より広範な傾向を示す最新の例です。過去数か月にわたり、Sysdig TRT は、公開から数時間以内に悪用される CVE の増加を観測しています。最近の MarimoLMDeployLangflow の CVE でも、同様のパターンが観測されました。

Zero Day Clock が示すように、AI により、攻撃者はパッチをリバースエンジニアリングし、それらが対処している脆弱性を特定し、数分以内に機能するエクスプロイトを生成できるようになっています。証拠は、急速な悪用がもはや例外ではなく、新たな常態になりつつあることを示しています。

以下の調査では、CVE-2026-44338 の悪用に関する Sysdig TRT の観測結果と、関連する検知および推奨される対応について検証します。

タイムライン

時刻(UTC)

イベント

2026年5月11日 13:56:16

GHSA-6rmh-7xcm-cpxj が公開され、CVE-2026-44338 が割り当てられました

2026年5月11日 17:32:50

146.190.133.49 からの最初の接触:一般的な偵察(/、/.env、/admin)

2026年5月11日 17:40:53

送信元 IP が PraisonAI 固有のエンドポイント(/praisonai/version.txt、/docs、/api/agents/config、/api/agents)へ移行

2026年5月11日 17:40:55

146.190.133.49 から GET /agents、User-Agent は CVE-Detector/1.0

2026年5月11日 17:41:32

2回目の GET /agents プローブ

アドバイザリの公開から、文書化された脆弱な経路に対する最初の標的型リクエストまでの時間は、3時間44分39秒でした。

PraisonAI の脆弱性

PraisonAI には、レガシーな Flask ベースの API サーバーである src/praisonai/api_server.py が含まれており、AUTH_ENABLED = False および AUTH_TOKEN = None がハードコードされています。check_auth() ヘルパーは、認証が無効になっている場合は常に True を返すため、2つの「保護された」ルートは設計上、フェイルオープンになります。

  • GET /agents は、エージェント定義ファイル名やエージェント一覧を含む、設定済みのエージェントメタデータを返します。
  • POST /chat は、message キーを含む任意の JSON ボディを受け付け、PraisonAI(agent_file=“agents.yaml”).run() を実行します。送信された message の値は無視され、呼び出し元がどのようなコマンドを送信しても、設定済みのワークフローが実行されます。

影響を受けるバージョン

Range

Status

>= 2.5.6, <= 4.6.33

Vulnerable

4.6.34

Fixed

公開時点では、最新の PyPI リリースは 4.6.33 でした。つまり、当時のインストールはすべて脆弱でした。

Sysdig TRT が観測したこと

146.190.133.49(DigitalOcean の米国 IP アドレス)からのアクティビティは、対話的な探索ではなく、パッケージ化されたスキャナーのプロファイルに従っていました。2 回のパスが 8 分間隔で実行され、それぞれ約 50 秒間におよそ 70 件のリクエストを送信していました。最初のパスでは、一般的な情報漏えいパス(/.env、/admin、/users/sign_in、/eval、/calculate、/Gemfile.lock)が走査されました。2 回目のパスでは、AI エージェントの攻撃対象領域、具体的には以下に絞り込まれました。

Path class

Sample paths

FastAPI fingerprint

GET /docs, GET /openapi.json, GET /swagger.json

PraisonAI version fingerprint

GET /praisonai/version.txt, GET /pyproject.toml, GET /poetry.lock

API-server endpoint enumeration (CVE-2026-44338)

/api/agents/config, /api/agents, /api/v1/agents, /api/tasks, /api/tools, /agents

MCP-server endpoint enumeration 

GET + POST on /api/mcp/config, /api/mcp/servers, /api/mcp/list, /api/mcp/status, /mcp/config, /api/v1/mcp, /api/tools/config

CVE-2026-44338 に直接一致したプローブは、Authorization ヘッダーなしで送信された単一の GET /agents で、User-Agent は CVE-Detector/1.0 でした。このリクエストは、本文 {“agent_file”:“agents.yaml”,“agents”:[…]} とともに 200 OK を返し、バイパスが成功したことを確認しています。

このスキャナーは、いずれのパスでも POST /chat を送信しませんでした。上記で観測されたパターンは、検証ステップと一致しています。つまり、エージェント一覧を列挙し、認証バイパスが機能することを確認し、そのホストを悪用可能として記録してから、次へ移るという流れです。後続のツールは通常、別個のものです。

次のステップ

これは典型的なリモートコード実行(RCE)ではありません。フィンガープリントに成功したインスタンスに対する POST /chat は単一のリクエストであり、その影響はオペレーターの agents.yaml が何を実行するようスクリプト化されているかに完全に依存します。

このハンドラーは、送信された message を解析しません。代わりに、単に PraisonAI(agent_file=“agents.yaml”).run() を呼び出します。そのワークフローがどのように設定されているかにかかわらず、認証されていない呼び出し元が、多くの場合それを任意にトリガーできます。一般的な本番環境のデプロイでは、通常、以下のようなものが見られます。

フェーズ

結果

モデル API クォータの消費

設定済みのワークフローが、オペレーターのアカウントで OpenAI、Anthropic、Bedrock、またはその他の LLM プロバイダーに呼び出しを行います。攻撃者がボットネットから POST /chat を繰り返すと、オペレーターのクォータを使い果たし、その費用をオペレーターに請求させます。最も手間が少なく、最もコストの高い結果です。

エージェントツールの実行

PraisonAI のワークフローでは、エージェントに code_interpreter、ファイル I/O、Web フェッチ、シェル、または HTTP リクエストツールへのアクセス権を付与することがよくあります。各 /chat 呼び出しは、オペレーターが接続した、副作用を生じさせる可能性のあるツールを含む、エージェントグラフ全体を呼び出します。ファイルの書き込み、内部データセットからの外部流出、Slack メッセージの送信、または下流ワークフローのトリガーが可能です。

設定の開示

GET /agents は、エージェントファイル名とエージェント一覧を返します。ワークフローによって生成されるデバッグログやエラーレスポンスと組み合わせることで、攻撃者はオペレーターのエージェント設計、プロンプト、ツール接続を把握できます。

このバイパス自体は、任意コード実行ではありません。しかし、オペレーターが何らかの有用な処理を行うために意図的に公開したワークフロートリガーから認証を取り除くため、影響の上限は、そのワークフローに許可されている処理内容そのものになります。

セキュリティ侵害の指標

Field

Value

Source IP

146.190.133.49 (AS14061, DigitalOcean, LLC, US)

User-Agent

CVE-Detector/1.0 (no other UA observed from this source)

CVE-Detector/1.0 という文字列は、防御側にとって運用上有用な手がかりです。どのホストのどのログにこの同じ User-Agent が出現した場合でも、どのエンドポイントに到達したかにかかわらず、既知の CVE を標的とするスキャナーとして扱うべきです。

検知

アップグレードが可能になるまでは、ネットワークレイヤーの監視によって、この種のトラフィックを明確に検知できます。なぜなら、このバイパスはアプリケーションログ上に認証欠如のシグナルを残さないためです。認証されていない成功リクエストは、正当なリクエストと同一に見えます。検知は境界で行う必要があります。

  • Authorization ヘッダーがなく、User-Agent が CVE-Detector/1.0 である GET /agents および POST /chat に対して、WAF またはログ検知ルールを設定してください。
  • Python パッケージのフィンガープリント用パス(/pyproject.toml、/poetry.lock、/praisonai/version.txt、/requirements.txt)へのアクセスを確認してください。

PraisonAI を実行している Falco 導入済みホストでは、/chat によってトリガーされたワークフローの悪用後の痕跡は、設定されたツールが実行する内容そのものになります。つまり、Python によるサブプロセスの生成、エージェントプロセスからのネットワーク外向き通信、作業ディレクトリ外へのファイル書き込みです。インタープリタープロセスからの予期しない子プロセスや外向きネットワーク通信に関する既存のルールは、第 2 段階のアクティビティを検知できますが、バイパス自体は検知できません。

推奨事項

  • PraisonAI 4.6.34 以降にアップグレードしてください。
  • レガシーな api_server.py エントリポイントから移行してください。新しい PraisonAI はデフォルトで 127.0.0.1 にバインドし、–api-key をサポートしています。
  • 既存のデプロイを監査してください。サンプル API デプロイメント YAML から起動されたインスタンスはすべて、host: 0.0.0.0 と auth_enabled: false を継承します。生成される設定は、オペレーターに警告しません。
  • 開発目的でトークンなしの API が本当に必要な場合は、ループバックまたはプライベートネットワークにバインドしてください。また、マルチエージェントフレームワークで :8080 をインターネットに公開してはいけません。絶対に避けてください。
  • 2026年5月11日以降のモデルプロバイダーの請求を監査してください。
  • agents.yaml で参照されている認証情報をすべてローテーションしてください。

まとめ

CVE-2026-44338 自体も重大な懸念事項ですが、この悪用の背後には、より広範な傾向が迫っています。開発用 API サーバーでデフォルトで認証が無効になっていることは、既知のアンチパターンであり、影響の上限は設定済みワークフローの内容によって決まります。

しかし、より大きな懸念は、2026年におけるアドバイザリ公開から悪用までの遅延時間という運用上の現実です。CVE-Detector/1.0 と名乗るツールは、アドバイザリ公開から 3 時間 44 分以内に、GitHub スター数が 7,100 未満のプロジェクトに対して、この特定の CVE を狙ってインターネットに公開された AI エージェントインフラストラクチャーを探索していました。

敵対者のツールは、AI およびエージェントエコシステム全体へと拡大しています。規模の大小を問わず、有名なプロジェクトだけが対象ではありません。そして、認証なしのデフォルト設定を出荷するあらゆるプロジェクトにおいては、公開から実際の悪用までの猶予期間は 1 桁時間で測られる、という前提で考える必要があります。ランタイムセキュリティは、防御側が急速な脆弱性悪用をリアルタイムで検知し、対応するための最も効果的なアプローチであり続けます。

About the author

Cloud detection & response
Cloud Security
Open Source
Security for AI
featured resources

セキュリティの専門家と一緒に、クラウド防御の最適な方法を探索しよう