Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】First Malicious MCP Server Found Stealing Emails in Rogue Postmark-MCP Package

2025年09月29日に「The Hacker News」が公開したITニュース「First Malicious MCP Server Found Stealing Emails in Rogue Postmark-MCP Package」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

初めて悪意あるMCPサーバーが発見された。公式ライブラリを装った「postmark-mcp」という偽のnpmパッケージにメール窃取の不正コードが仕込まれ、ソフトウェア開発の安全が脅かされている。

ITニュース解説

今回のニュースは、インターネットの世界でソフトウェアを開発する人々にとって、非常に重要な意味を持つ発見について伝えている。それは「悪意のあるModel Context Protocol(MCP)サーバー」が初めて見つかり、これがソフトウェアの供給経路(サプライチェーン)に大きなセキュリティリスクをもたらすというものだ。システムエンジニアを目指す皆さんにとって、この事件はソフトウェア開発の現実世界における危険性と、セキュリティ意識の重要性を強く認識させるきっかけとなるだろう。

まず、今回の事件の中心となる「Model Context Protocol(MCP)」について簡単に説明しよう。MCPは、ソフトウェアが異なるシステムやサービス間で情報をやり取りする際に使われる、いわば情報の受け渡しルールのようなものだ。特に、AIや機械学習のモデルが、外部からのデータを受け取ったり、処理結果を返したりするような場面で利用されることが想定されている。例えば、あなたが開発したプログラムが、クラウド上のAIサービスにデータを送り、分析結果を受け取る、といった場合に、MCPのようなプロトコルが裏でその通信を支えているイメージだ。このようなプロトコルを扱う「MCPサーバー」は、その名の通り、MCPに従って情報の送受信を管理する役割を担っている。これまでは、MCPサーバーが悪意を持って利用された事例は確認されていなかったため、今回の発見はセキュリティ業界に衝撃を与えているのだ。

では、具体的にどのような手口で攻撃が行われたのか。サイバーセキュリティ企業であるKoi Securityの調査によると、今回発見された悪意のあるMCPサーバーは、npmという開発者にとって非常に身近なツールを悪用していた。npmとは、JavaScriptというプログラミング言語を使ってソフトウェアを開発する際に、他の開発者が作った便利な部品(これを「パッケージ」と呼ぶ)を簡単に入手・利用するための仕組みのことだ。世界中の開発者が日々、npmを通して膨大な数のパッケージを共有し、利用している。これにより、ソフトウェア開発の効率は飛躍的に向上する。

しかし、この便利なnpmが、今回の攻撃の入り口となってしまった。攻撃者は「postmark-mcp」という名前のnpmパッケージを作成し、これを公開した。この「postmark-mcp」という名前は、実は「Postmark Labs」という企業が提供する、正規のメール送信サービス用のライブラリと非常によく似ている。正規のライブラリもnpmで提供されており、多くの開発者が利用している。攻撃者はこの名前の類似性を悪用し、正規のライブラリと勘違いした開発者が、誤って悪意のある「postmark-mcp」パッケージを自分のプロジェクトに組み込んでしまうことを狙ったのだ。このような手口は「タイポスクワッティング」や「なりすまし」と呼ばれ、ユーザーの誤解を利用して不正なソフトウェアを配布する古典的だが効果的な手法の一つだ。

開発者が誤って悪意のある「postmark-mcp」パッケージを導入すると、その中に仕込まれた不正なコードが実行されることになる。今回のケースでは、この不正なコードが、システムからメールを盗み出すことを目的としていた。つまり、悪意のあるMCPサーバーが、正規の通信に見せかけながら、本来送られるべきではない情報を外部に送信していたと考えられる。

このような攻撃は「ソフトウェアサプライチェーン攻撃」と呼ばれる。これは、最終的なソフトウェア製品が作られるまでの「供給経路」のどこかに、悪意のある要素を仕込むことで、その製品を利用する多数のユーザーに被害を及ぼそうとするものだ。今回のケースでは、多くの開発者が利用するnpmパッケージという中間経路が悪用された。もし、この悪意あるパッケージが多くの人気プロジェクトで使われてしまえば、そのプロジェクトを使ったすべてのシステムが危険に晒されることになる。開発者が知らず知らずのうちに、悪意のあるコードを自分の製品に組み込んでしまうという点で、非常に厄介で発見が難しい種類の攻撃だと言える。

この事件は、システムエンジニアを目指す皆さんにとって、ソフトウェア開発におけるセキュリティの重要性を再認識させるものだ。単に動くシステムを構築するだけでなく、それが安全であるか、外部からの脅威に対して脆弱ではないかという視点が常に求められる。npmのような便利なツールを使う際にも、提供元の信頼性を確認したり、利用するパッケージの依存関係を注意深く監視したりする習慣が不可欠となる。また、最新のセキュリティ脅威に関する情報を常に追いかけ、学び続ける姿勢も重要だ。今回の事例のように、これまで悪用されたことのないプロトコルやサービスが、突然攻撃の標的となる可能性は常に存在する。未来のシステムエンジニアとして、このような脅威にどう立ち向かうかを考え、実践していく能力が、今後ますます求められるだろう。今回の悪意あるMCPサーバーの発見は、ソフトウェア開発の世界が常に進化し、同時に新たな脅威が生まれる場所であることを強く示している。

関連コンテンツ