何が起きたか

SysdigのThreat Research Teamは、同一の攻撃者が同一のインターネット公開Langflowサーバーを二度侵害したと報告しました。最初のキャンペーンは7月1日、二度目は7月20日に記録され、両方ともCVE-2025-3248を悪用しています。これはLangflowのコード検証エンドポイントに認証が欠けている欠陥で、サーバーに到達できる者なら誰でもPythonを実行できます。CVSSは9.8、CISAは2025年5月5日に既知悪用脆弱性(KEV)カタログへ追加し、Langflowは1.3.0で修正済みでした。

二度目に投入されたのが、Go言語でコンパイルされたバイナリ「ENCFORGE」です。約180種の拡張子を走査し、PyTorch/TensorFlowのチェックポイント、Hugging FaceのSafeTensors、GGUF、FAISSのベクトルインデックス、ParquetやNumPyの学習データといったAI資産を狙います。追加対象の例にはLoRAアダプタや旧来のGGML重みが挙げられていました。

なぜ「身代金を取れない」のか

ENCFORGEにはネットワークコードが一切なく、外部への通信も、リークサイトも、支払いポータルも見つかりませんでした。ファイル全体ではなく一部領域をAES-256-CTRで暗号化し、実行ごとの鍵をRSA-2048で保護します。しかし最初のキャンペーンでは暗号鍵が乱数生成され、コンソールに一度表示されただけで保存されませんでした。Sysdigのマイケル・クラーク氏はこれを「組織が単純には復元できない唯一のもの」を破壊する狙いと表現しています。つまり実態は「身代金要求書を着たワイパー」です。両方の要求書に同一のProton Mailアドレスが記載され、Sysdigが追跡するJADEPUFFERへ紐づきました。

AIエージェントが自律的に「裏口」を作った

注目すべきは攻撃の自律性です。エージェントはホスト上のクラウド鍵・接続文字列・APIトークンを収集し、内部DBやキャッシュに再利用し、/var/run/docker.sock を発見。C2からのバイナリ取得に失敗すると、Langflow経由で6本のPythonスクリプトを次々に生成し、前のエラーを修正しながら5分24秒でホスト脱出を成立させました。最終スクリプトはDocker API経由でホストのプロセスIDを特定し、名前空間を越えてバイナリを複製、暗号化を実行して件数を数え確認まで行います。最初のキャンペーンでは同じ挙動が失敗したログインを31秒で修復していました。

背景:放置された公開Langflow

JADEPUFFERが2026年7月に戻ったとき、対象サーバーはKEV掲載から14か月以上が経過し、既に侵害被害として公表済みでした。VentureBeatは6月、約7,000台のLangflowが公開状態で放置され、プロバイダAPIキーやクラウド認証情報、ベクトルストアへの接続を保持していると報じています。CISAは今月だけで2件を含む計5件のLangflow脆弱性をKEVに追加しました。

💼 事業会社視点:これは自社にどう効くか

AIを内製・受託開発する日本企業にとって、これは「バックアップ戦略の盲点」を突く警告です。多くのSaaS・受託開発現場では、ソースコードやDBは定期バックアップ対象でも、ファインチューニング済みモデルの重み・ベクトルインデックス・学習データは「後で作り直せる」と見なされ保護計画から漏れがちです。Sysdigは本番投入可能なファインチューニング済みモデル1体の直接復旧費を7.5万〜50万ドルと試算し、学習データが重みと同一ホストにあれば復旧はデータ再構築まで止まります。役員・事業責任者が今すぐ動くべきは三点。第一にLangflowなどAIオーケストレーション基盤を即時更新し、アプリコンテナからDockerソケットを外すこと。第二に.gguf/.safetensors/.ckpt/.faissを含むディレクトリの大量.locked生成を検知対象にし、モデル成果物のパスをバックアップ計画へ明記すること。第三にプロバイダキーをシークレットマネージャへ移し認証情報を棚卸すること。エージェントが人間の作業を分単位に圧縮する時代、「まだ誰も攻撃していないから大丈夫」という猶予は消えています。

関連リンク