野生で確認された初の悪意あるMCP:あなたのメールを盗むPostmarkバックドア

MCPサーバーは知っていますよね? AIアシスタントにメール送信やデータベースクエリの実行など、要するにもう手作業でやりたくない面倒なことを全部やらせるための便利なツールです。で、あまり語られていない話があるんですが――私たちはこれらのツールに“神権限”を与えています。会ったこともない人が作ったツールに。審査する術がまったくない人たちに。そしてAIアシスタントは? 私たちはただ……全面的に信じてしまっている。完全に。

だからこそ、これを書いています。postmark-mcp――毎週1,500回ダウンロードされ、何百もの開発ワークフローに組み込まれている。ところがバージョン1.0.16以降、開発者の個人サーバーへすべてのメールをひそかにコピーしていました。パスワードリセット、請求書、社内メモ、機密文書――全部です。

これは現実世界で確認された、真に悪意あるMCPサーバーの初の目撃例です。エンドポイントのサプライチェーン攻撃に対する攻撃面は、ゆっくりと企業最大の攻撃面になりつつあります。

では…私たちのリスクエンジンは何を検知したのか?

事の始まりはこうです。Koiのリスクエンジンが、postmark-mcpのバージョン1.0.16で不審な挙動変更が導入されたことを検知しました。研究者が(リスクエンジンがフラグを立てたマルウェアに対していつも行うように)掘り下げたところ、見つかったものは非常に不穏でした。

表向き、このパッケージは完璧に見えました。開発者は? パリ在住のソフトウェアエンジニアで実名を使い、GitHubプロフィールには正当なプロジェクトがぎっしり。アニメのアバターの怪しい匿名アカウントではありません。実在の人物で、実在の評判があり、カンファレンスでコーヒーでも飲みながら話していそうな人です。

15バージョン――15です――ツールは完璧に動作していました。開発者たちはチームに勧めていました。「Postmark連携のための素晴らしいMCPサーバーがあるよ、見てみて。」それは開発者の日々のワークフローの一部となり、朝のコーヒーと同じくらい信頼される存在になっていました。

そしてバージョン1.0.16がリリース。231行目に埋め込まれていたのが、リスクエンジンが見つけたこの“逸品”です:

何千通ものメールを盗む、たった1行

たった1行。それでドン――すべてのメールに、望まれない同乗者が乗ることになりました。

重要なのはここです。同名の、完全に正当なGitHubリポジトリが存在します。Postmark(ActiveCampaign)が公式にメンテナンスしているものです。攻撃者はその正当なリポジトリのコードを取り、悪意あるBCCの1行を追加し、同じ名前でnpmに公開しました。典型的ななりすましです。

まあ、分かります。人生いろいろあります。開発者が金銭的に困っていたのかもしれない。断れない提案がDMで届いたのかもしれない。あるいは、ある日目覚めて「これ、バレずにやれるかな」と思ったのかもしれない。人の頭の中で何がスイッチを入れるのか――正当な開発者が突然、信頼していた1,500人のユーザーを裏切る決断をする理由――私たちには本当のところ分かりません。

でも、それこそが要点です。私たちには分からない。予測できない。そして起きたとき? ほとんどの人は手遅れになるまで気づきもしないでしょう。現代の企業では問題はさらに深刻です。セキュリティチームが従来型の脅威やコンプライアンスフレームワークに注力する一方で、開発者は確立されたセキュリティ境界の外側で動くAIツールを独自に採用しています。これらのMCPサーバーはAIアシスタント自身と同じ権限――メールへのフルアクセス、データベース接続、API権限――で動作するのに、資産棚卸しには載らず、ベンダーリスク評価をすり抜け、DLPからメールゲートウェイまであらゆるセキュリティ制御を回避します。誰かが「AIアシスタントが何か月も外部サーバーにメールをこっそりBCCしていた」と気づく頃には、被害はすでに壊滅的です。

影響について話そう

では、ここで実際に何が起きているのかを分解するので、少し付き合ってください。

あなたがMCPサーバーを入れるのは、AIにメール処理をさせたいからですよね? 合理的に見えます。時間を節約し、生産性を上げる。そういう良い話です。でも実際にやっていることは、会ったこともない誰かに、あなたのメールフロー全体の完全な制御権を渡しているのと同じです。 

影響は推測するしかありません:

  • 毎週1,500回のダウンロード
  • 控えめに見積もって、稼働中は20%程度
  • つまり約300組織
  • 各組織が1日10〜50通送っているとして?
  • 毎日3,000〜15,000通のメールがgiftshop.clubへ一直線に流れている計算です

そして本当に最悪なのは? 開発者は何もハックしていません。ゼロデイを悪用していない。高度な攻撃ベクターも使っていない。私たちが文字通り鍵を渡して、「はい、このコードをフル権限で実行して」と言い、AIアシスタントに1日何百回も使わせたんです。自業自得です。

Image

postmark-mcpに関するKoidexレポート

私は何年もセキュリティをやってきましたが、この問題は特に夜も眠れなくなります。どういうわけか私たちは皆、見ず知らずの他人が作ったツールをインストールして、それが次のことをできるのが“普通”だと受け入れてしまっている:

  • 私たちになりすましてメールを送る(完全な権限で)
  • データベースにアクセスする(そう、全部)
  • システム上でコマンドを実行する
  • 私たちの資格情報でAPIコールを行う

そして一度インストールしたら? AIアシスタントはやりたい放題です。レビュー工程なし。「giftshop.clubにBCCして本当に送っていいの?」なんて確認もない。ただ盲目的に自動実行。何度も何度も。1日に何百回も。

ここには文字通りセキュリティモデルがありません。サンドボックスもない。封じ込めもない。何もない。ツールが「このメールを送れ」と言えば、AIは送る。ツールが「ついでに全部この適当なアドレスにもコピーしろ」と言えば、AIはそれもやる。疑問すら持たない。

postmark-mcpのバックドアは洗練されていません――恥ずかしいほど単純です。でも、この仕組み全体がどれほど壊れているかを完璧に示しています。開発者1人。コード1行。盗まれたメールは何千、何万通。

postmark-mcpのNPMページ

攻撃のタイムライン

フェーズ1:正当なツールを作る
バージョン1.0.0〜1.0.15は完璧に動作。ユーザーはパッケージを信頼する。

フェーズ2:1行を追加する
バージョン1.0.16でBCCを追加。他は何も変えない。

フェーズ3:利益化
あとは座って、パスワード、APIキー、財務データ、顧客情報を含むメールがgiftshop.clubへ流れ込むのを眺めるだけ。

このパターンは本当に恐ろしい。ツールは何か月も完全に正当であり得ます。本番で鍛えられ、ワークフローに不可欠になり、チームが依存する。そしてある日――バン――マルウェアになる。バックドアが有効化される頃には、もはや単なる“よく分からないパッケージ”ではありません。信頼されたインフラです。

それと、giftshop.club? 開発者の別のサイドプロジェクトの可能性がありそうです。でも今は、まったく別種のギフトを集めています。あなたのメールがギフトです。

同じ開発者の別サイドプロジェクトがC2サーバーとして使われていた

私たちが開発者に説明を求めて連絡したところ、返ってきたのは沈黙でした。説明なし。否定なし。何もなし。ただし行動はしました――私たちが望んだ形ではありませんが。彼はすぐにnpmからパッケージを削除し、証拠を消そうとしました。

ただし問題はこうです:npmからパッケージを削除しても、すでにインストールされているマシンからは消えません。毎週1,500回のダウンロードの一つ一つ? いまも侵害されたままです。いまもgiftshop.clubへBCCを送っています。開発者はそれを分かっています。npmから消えたことで、被害者が「もう感染していない」と気づかないことに賭けているのです。

なぜMCPのモデル全体が根本的に壊れているのか

ここははっきりさせておきます:MCPサーバーは通常のnpmパッケージとは違います。AIアシスタントが自律的に使うために特別に設計されたツールです。それが目的のすべてです。

postmark-mcpをインストールするというのは、package.jsonに依存関係を追加するだけではありません。AIアシスタントに、何百回も自動で使うツールを与えるということです。「うーん、何かおかしくない?」と立ち止まることは一度もありません。

AIはそのBCCフィールドを検知できません。メールが盗まれていることも分からない。見えているのは“動くメールツール”だけです。メール送信。成功。次のメール送信。成功。その間、すべてのメッセージが静かに持ち出され続ける。毎日。毎週。

postmark-mcpのバックドアは、悪意ある開発者1人や、毎週1,500件の侵害インストールの話にとどまりません。MCPエコシステムそのものへの警告射撃です。

私たちは、知らない・検証できない・信頼する理由もない人が作ったツールに“神権限”を渡しています。これは単なるnpmパッケージではありません――最も機微な業務への直通パイプであり、AIアシスタントが何千回も無批判に自動実行します。

このバックドアは、あなたがこれを読んでいる今この瞬間もメールを収穫しています。npmには報告しましたが、恐ろしい問いがあります:他にどれだけのMCPサーバーがすでに侵害されているのでしょう? そもそも、どうやって知るのですか?

Koiでは、MCPエコシステムに組み込みのセキュリティモデルがないため、パッケージのこうした挙動変化を検知できます。匿名の開発者にAIの能力を委ねるなら、必要なのは信仰ではなく検証です。私たちのリスクエンジンは、バージョン1.0.16がBCC挙動を導入した瞬間にこのバックドアを自動で捕捉しました――従来のセキュリティツールではフラグが立たない類のものです。しかし検知は第一歩にすぎません。私たちのサプライチェーン・ゲートウェイは、この種の悪意あるパッケージがそもそも環境に入らないようにします。開発者と、npm・MCPサーバー・ブラウザ拡張の“無法地帯”との間にチェックポイントとして機能し、既知の脅威をブロックし、不審な更新にフラグを立て、メールやデータベースアクセスのような機微な操作に触れるパッケージには承認を必須にします。他の人たちが「開発者が良い選択をしてくれるはず」と願っている間、私たちは「検証され、継続監視される選択肢からしか選べない」ようにします。

postmark-mcpのバージョン1.0.16以降を使っているなら、侵害されています。直ちに削除し、メール経由で露出した可能性のある資格情報はローテーションしてください。しかしそれ以上に、使用中のMCPサーバーをすべて監査してください。自問してください:あなたは、本当に“すべてを託しているこれらのツール”を誰が作ったのか知っていますか?

疑ってかかれ。MCPにおいては、疑心暗鬼はただの良識です。

IOCs

パッケージ: postmark-mcp(npm)
悪意あるバージョン: 1.0.16以降
バックドア送信先メール: phan@giftshop[.]club
ドメイン: giftshop[.]club

検知:

  • メールログでgiftshop.clubへのBCCヘッダーを確認する
  • MCPサーバー設定を監査し、想定外のメールパラメータがないか確認する
  • postmark-mcpのバージョン1.0.16以上が含まれていないかnpmパッケージを確認する

緩和策:

  • postmark-mcpを直ちにアンインストールする
  • 侵害期間中にメールで送信した資格情報はすべてローテーションする
  • 持ち出された可能性のある機密データについてメールログを監査する
  • 侵害が確認された場合は適切な当局に報告する

翻訳元: https://www.koi.ai/blog/postmark-mcp-npm-malicious-backdoor-email-theft

ソース: koi.ai