はじめに
三菱電機の山元です。
三菱電機 情報技術総合研究所で運用しているハニーポットではLLM(Large Language Model)アプリケーションの構築フレームワーク(Langflow)に存在する脆弱性を標的とすると見られる攻撃を観測しました。
昨今のAIブームにより、今後多くの組織や個人がLLMを活用する機会が増加すると考えられるため、注意喚起のために本トピックを取り上げます。
攻撃の観測状況
標的のソフトウェア
今回観測した攻撃はLangflow1という、GUI上での操作によりLLMを活用したアプリケーションを作成できるフレームワークを標的としています。
Langflowは、LangChainというLLMを活用したアプリケーションを効率的に構築するための著名なオープンソースフレームワークをベースとしており、LangChainの機能性に加えて、GUIによる操作という手軽さより注目を集めています。
このような状況のため、様々なサーバにLangflowがインストールされ、公開されている可能性があります。
標的の脆弱性
今回観測した攻撃は、2025/4/7に公開されたLangflowの脆弱性CVE-2025-32482を標的とするものです。
本脆弱性は/api/v1/validate/codeエンドポイントの認証不足に起因するものであり、悪用により攻撃者が任意のコードを実行できることから、CVSSv33のスコアは9.8となっています。これはCVSSv3の深刻度レベルにおいて最高の「緊急(Critical)」に分類されるスコアであり、極めて深刻な脆弱性であることを示しています。
観測した攻撃パケットの内容
今回観測したパケットを下表に示します。なお、実際のリクエストボディに記載されたPythonコードは省略します。
HTTPメソッド | URI | リクエストボディ |
---|---|---|
POST | /api/v1/validate/code | {"code": "(Pythonコード)"} |
攻撃者は/api/v1/validate/codeエンドポイントに対して、Pythonコードを含むリクエストボディを送信します。これを受信したLangflowサーバは、送信元の認証を行わずにPythonの組込関数であるexec()を呼び出して、攻撃者が送信した任意のPythonコードを実行してしまいます。
今回の攻撃におけるPythonコードは、Unix系OSにおいてユーザ情報を保存するファイルである"/etc/passwd"の内容を攻撃者に応答する内容となっていました。攻撃コードを実行することで、攻撃者はLangflowサーバの“/etc/passwd”に記載されているユーザ情報を窃取する意図があると見られます。
攻撃パケットの観測状況
本脆弱性を標的とする攻撃パケットについて、弊社のハニーポットにおける観測状況を下図に示します。
今回の攻撃パケットは、弊社のハニーポットでは2025/5/17と2025/5/23にそれぞれ2件ずつ観測されました。
送信元はアメリカのクラウドサービスのASN4とロシアのホスティングサービスのASNを送信元としていました。特に上記のロシアのホスティングサービスは、攻撃者による悪用が容易なホスティングサービスとして報告されています。
この情報より、攻撃者はクラウドサービスやホスティングサービスを利用し、公開後間もない脆弱性を用いて攻撃を仕掛けていることが分かります。
おわりに
昨今のAIブームにより、LLMを活用したアプリケーション開発ツールやフレームワークが急速に普及しています。LLMに関連するツールはOSSで提供されているケースもあり、その機能の豊富さと導入の手軽さから多くの組織で採用されています。
しかし今回の事例のようにAI開発に使用するツールを標的としたサイバー攻撃が発生しています。また、LLMへの世間的な注目度が高いことから、今後もセキュリティ上の脆弱性が発見及び悪用されやすい状況にあると推測しています。
LLM関連ツールを使用する際は、特に定期的なセキュリティアップデートの適用、適切なアクセス制御の実装、インターネットへの不要な公開の回避、異常なAPIアクセスの監視を行い、ツールの導入前には必ずセキュリティ設定の確認と脆弱性情報の調査を実施し、攻撃に備える必要があります。
弊社では今後もQiitaを通じて、継続的にハニーポットを用いた攻撃パケットの観測・分析結果をご報告します。