世界を動かす技術を、日本語で。

メールをダウンロードする「Postmark」バックドア

概要

  • MCPサーバー はAIアシスタントの自動化に不可欠な存在だが、信頼性に大きな問題
  • postmark-mcp というnpmパッケージが悪意あるバックドアを仕込まれていた事例を解説
  • 1.0.16以降のバージョン で全メールを外部サーバーに転送する不正コードが発見
  • 現状のMCPエコシステムには セキュリティモデルが欠如 しており、重大なリスクが存在
  • 被害防止策と今後の注意点 を具体的に解説

MCPサーバーのリスクとpostmark-mcp事件

  • MCPサーバー :AIアシスタントがメール送信やデータベース操作などを自動化するためのツール

  • 現状 :開発者が誰かも分からず、信頼性の確認もできない状態で広く利用

  • AIアシスタント :MCPサーバーを完全に信頼し、全権限で自動実行

  • postmark-mcp :npmで週1,500回以上ダウンロードされ、数百のワークフローに組み込まれていた

  • 1.0.16以降 :全送信メールを開発者のサーバー(giftshop.club)にBCCで転送するコードを追加

    • パスワードリセット、請求書、内部メモ、機密文書などが全て漏洩対象
    • 本物のPostmark公式リポジトリを模倣し、悪意あるコードを混入
    • 過去15バージョンは正常動作で信頼を集めていたため、被害が拡大
  • 攻撃の流れ

    • 正常なツールとして振る舞い信頼を獲得
    • 1行の悪意あるコードを追加
    • 数千通規模のメールが毎日外部に流出
  • 開発者の対応 :指摘後npmからパッケージを削除するも、既存インストール環境は依然として被害継続

エンタープライズにおけるMCPの本質的な危険性

  • MCPサーバー :AIアシスタントと同等の権限を持ち、メール・DB・API全てにアクセス
  • 資産管理やベンダーリスク評価の対象外 で、従来のセキュリティコントロールを完全に回避
  • 自動化の裏で、誰にも気付かれずに情報が外部流出するリスク
  • AIアシスタント :不正なBCCなどの挙動を検知できず、無条件で命令を実行
  • セキュリティモデル不在 :サンドボックスや権限分離なし、完全な信頼依存

被害規模と具体的影響

  • 推定被害

    • 週1,500ダウンロード、20%がアクティブ利用と仮定
    • 約300組織、1日あたり3,000~15,000通のメールが流出
    • パスワード、APIキー、財務データ、顧客情報などが含まれる
  • 攻撃の特徴

    • 複雑な攻撃手法やゼロデイ脆弱性は不要
    • ユーザー自身が全権限を与えてしまう構造的問題

なぜMCPエコシステムは危険なのか

  • MCPサーバー :AIが自動で何度も利用し続けるインフラ
  • 一度信頼されると、後から悪意あるコードを混入しても検知が困難
  • npmから削除しても、既存環境はそのまま被害継続
  • giftshop.club :開発者の他のプロジェクトサーバーがC2として悪用

Koiの検知・対策と推奨アクション

  • Koiのリスクエンジン :不審な挙動の自動検知

  • サプライチェーンゲートウェイ :悪意あるパッケージの導入阻止

    • 既知の脅威をブロック
    • 重要操作(メール・DB等)に関わるパッケージは承認制
  • 推奨アクション

    • postmark-mcp v1.0.16以降を即時アンインストール
    • 期間中に送信したメールの認証情報を全てローテーション
    • 全MCPサーバーの監査・開発者の信頼性確認
    • 不正流出が疑われる場合は関係当局へ報告

IOC・検知・緩和策

  • パッケージ名 :postmark-mcp(npm)

  • 悪性バージョン :1.0.16以降

  • バックドアメール :phan@giftshop[.]club

  • ドメイン :giftshop[.]club

  • 検知方法

    • メールログでgiftshop.club宛BCCヘッダーの有無確認
    • MCPサーバー設定で不審なメールパラメータを監査
    • npmパッケージのバージョンチェック
  • 緩和策

    • 即時アンインストール
    • 影響範囲の認証情報変更
    • メールログ監査と情報流出の有無調査
    • 確認された被害は適切な当局へ報告

まとめ:MCPサーバー利用時の心構え

  • MCPサーバーは本質的に高リスク であり、信頼できる開発者・仕組みの選定が必須
  • AIアシスタントの自動化利便性 の裏に、重大な情報流出リスクが潜む
  • 信頼ではなく検証 と継続的な監視を徹底
  • 「MCPは疑ってかかる」 ——この慎重さこそが、今後のAI自動化時代における最重要セキュリティ対策

Hackerたちの意見

MCPサーバーの問題は分かるけど、こういう攻撃は外部の依存関係(SMTPパッケージみたいな)にも起こり得ると思う。

違いは、SMTPパッケージを探しに行くと、実績のあるライブラリにたどり着くってこと。信頼が何年も積み重なったものがあるからね。でもMCPのやつは新しすぎて、そういうのが全然ない。みんな昨日出たばかりのものを使ってる感じ。まるで西部開拓時代みたいで、銃を構えておかないとね。

ほとんどの場合、npmパッケージが原因だよね。npmが最も広く使われているパッケージシステムだから、攻撃者にとっても魅力的なんだろうけど、なんか気分が悪い。

だから、私は標準のMCPサーバーを運用してないんだ。すべてのMCPは、信頼できないVLAN上の別のVMホストでDockerコンテナ上で動いてるし、SSE経由で接続してる。もちろん、プロンプトインジェクションには脆弱だけど、メインのブラウザプロファイルやメール、クラウドアカウントにはLMを接続してないから、敏感な情報は扱ってないよ。

OpenAIもRustで作られたCodex CLIツールを配布するのにnpmを使ってるんだよね。これには驚くけど、他の選択肢はもっと不便なんだろうな。

上のコメントが「この記事の重要なポイント」として高評価されないことを願ってる。それは本質を見失うことになるから。

それか、誰かのGmailにプロンプトインジェクションされたスパムを送ることもできるし、人間が開かなくてもいいんだよね。https://www.linkedin.com/posts/eito-miyamura-157305121_we-go...

「さて、あまり話題にされないことがあるんだけど、私たちはこれらのツールに神のような権限を与えているんだ。会ったこともない人たちが作ったツールにね。私たちが確認する手段もゼロ。で、私たちのAIアシスタント?完全に信頼してる。この記事でよく見るパターンなんだけど、『銃を自分の足に向けて引き金を引いたら、自分の足を撃つって知ってた?信じられない!なんて発見だ!』って。人々は本当にこんなに無頓着なのか、それともこういう記事は問題じゃないことについて書かれてるのか、ただコンテンツを作るためだけに?」

これは不公平だよ。私たちには明らかだから、普遍的な理解があると仮定してる。でも、ほとんどのコンピュータユーザーは、コンピュータ技術がどう動いてるかについて詳しく理解してないし、目に見えないし抽象的だから、自分がどんなリスクにさらされているかもほとんど理解してない。銃の例えに対する答えは間違ってる。なぜなら、銃の基本的な知識を前提にしているから。これが、子供たちが自分や家族を銃で撃ってしまう理由の一部なんだよね。引き金を引いたら暴力的なことが起こるって教えられるまで、彼らはそれを知らないから。

チンパンジーに弾が入った銃を渡すと、時々自分自身やあなたを撃っちゃうことがあるって知ってた?それも、何が起こるか全然分からずに!?何度も言っても無駄なのに!?で、そうなったら「賢い」人たちはそれをやるのが本当にバカだったって言うんだよね!!?

HNの観客にとって明らかなことが、他の人には必ずしも明らかじゃないんだよね。この記事は後者のグループのために書かれてる。実際、MCPサーバーを使ったAIエージェントは設計上ほぼ安全じゃないから、最初からセキュリティは考慮されてなかった。これが変わるまで、もし変わることがあれば、最善の策は情報を提供することだね。

数ヶ月前に、AIコードアシスタントが会社の本番データベースを削除したっていう記事があったよね:https://fortune.com/2025/07/23/ai-coding-tool-replit-wiped-d... もちろん、ここにはいくつかの層がある。1. 創業者はAIツールが信頼できないことを理解できずに自分の足を撃ったから、明らかに本当に無知だった。2. ...その創業者は通常のコーディング環境に直接本番アクセスを接続していた。いつかは自分の足を撃つ運命だったんだ。

昔は、ネットの見知らぬ人からのメールにスクリプトを実行するメールクライアントが「自動化のゲームチェンジャー」だって言われてた時代があったんだよね。今また同じことが起きてる。子供をインターネットに任せるのがテレビの前に座らせるより健康的だって思ってた時期もあったけど…結局、違う結果になったね。

AIに関しての問題は、みんなが自分で自分の足を撃つことにさらに積極的になってる気がする。いくつかの理由があると思うけど、例えばこんな感じ:1. みんなバッファオーバーフローやSQLインジェクションについて学んでて、これが「悪い」って疑問に思わない。でも、神のようなデータアクセスを持つAPIへのMCPインターフェースはどう?MCPはもちろん、安全だって保証してくれるよ!(実際はそうじゃないけどね)。これは技術的な問題というより、学習や社会的な問題だと思う。時々、みんながLLMみたいに感じることもある。2. 修正すべきことが300個、ベンダーが100社、しかも昨日までに終わらせなきゃいけない。ベンダーの実装を調べると10個の問題が見つかる。だって、彼らも300個の修正があって、昨日までに終わらせなきゃいけないから、トレードオフが危険になってくる。もしちゃんと調べなかったら、誰が責任を追及するの?今のところ、誰もいない。3. 完全に監視が欠けてる(時には理解も)。LLMをいじって遊んでるだけだと、何をしてるのか分からない。うまくいったら、そのまま出荷。もうみんな見たことあるよね。個人的には、タスクのビジュアルスケジューラーがあれば改善できると思う。

問題は、セキュリティの問題がAIについて語られている核心に内在していることだと思う。「それはあなたのメールを読んで自動で返信できる」っていうのは、テクノロジーのニュースに詳しくない人にとっては魅力的な話だけど、非常に危険でもある。

予測不可能なAIに自分のシステムへのアクセスを与えることには、全くデメリットがないってことはないよね。

人々は本当にこんなに無頓着なのか 最後に確認したとき、基本的なSQLインジェクション攻撃が毎年大きな経済的損害を引き起こしていて、OWASPリストの上位にあることは変わってなかった。SQLインジェクションは、クエリがどのように構築され、処理されるかを理解できずにデータベースに神モードの権限を与えてしまう結果なんだ。AIエージェントに与えられる「エージェンシー」も、あまり明らかじゃないかもしれない。

人類の文明全体を見てみると、人々が自分の弾に撃たれた足が「ただの運命」じゃないって納得させる必要があるケースがたくさんある。治すことができるし、その傷が治す価値があるほど深刻だってことを理解させるのが大事なんだよね。

これって、例えばThunderbirdの拡張機能のバックドアとどう違うの?自分もThunderbirdの拡張機能を維持してたけど、興味がなくなった時に、ある人が数回の正当な貢献の後にプロジェクトを引き継ごうとすごく頑張ったんだ。知らない人に何万ものメールボックスの鍵を渡すのはクレイジーだと思ったから、断ったよ。最初に自分を信じてくれた人たちもクレイジーだと思ったけど、まあ、自分はいい人だって分かってるしね :-)

うん、自分も同じこと思った。これはMCPとは関係ないんだよね、どのソフトウェアにも同じ欠陥がある。著者や配布者を信じなきゃいけない。MicrosoftがあなたのOutlookメールを全部コピーするのを止めるものはないし、GoogleがあなたのGmailをコピーするのを止めるものもない。Muttプロジェクトがあなたのメールをコピーするのを止めるものもない。オープンソースのユーザーは「多くの目」がコードをクリーンに保つと思いたがるけど、確かに人気のあるプロジェクトでは助けになることもあるけど、リスクは常にある。結局、私たちは開発者を信じるしかない。この問題はソフトウェアの歴史と同じくらい古いんだ。

あなたが説明している状況について、なぜ人々があなたにプライバシーやデータを信頼するのかについてのザッカーバーグのコメントを思い出すな…

こうやって酔っ払った人を助けてあげたことが何度もあるけど、初めて会った見知らぬ人からのリフトを受けるのは本当に良くないアイデアだって教えてあげてる。運が良かったのは、たまたま暇な正直者に出会ったからだね。私は変な時間に起きてるし、近所の小さなパブが好きだから。

影響を推測することしかできない: > 毎週1,500ダウンロード > 保守的に見て、20%は実際に使われているかも > 約300の組織 > 各組織は、毎日10〜50通のメールを送信してる? > 毎日3,000から15,000通のメールがgiftshop.clubに流れてるってことだよね。 その数字は自分にはクレイジーに見える。NPMからの1回のダウンロードの背後にはユニークな組織があるって主張してるけど、それはおかしい。NPMからのダウンロードは、ほとんどが何かが npm i を実行してるだけだし。ほとんどのCIが(ひどく)設定されてるから、少なくとも1回は実行ごとに npm i するだろうし、ステージごとにすることもある。だから、毎週1,500のダウンロードは、実際には2つの組織から来てるかもしれない。一つはツールを試している開発者で、もう一つは設定が悪いCIを持ってるところ。公式リポジトリは1つのウォッチ、0フォーク、2つのスターがついてる:https://github.com/ActiveCampaign/postmark-mcp 確かにMCPやサプライチェーンに関する問題は大きいけど、実際の影響はおそらくゼロに近いと思う。

NPMからのダウンロードって、誰か(大抵は何か)が npm i をやってるだけなんだよね。 > 大体のCIが(ひどく)設定されてるから、実行ごとに少なくとも一回は npm i するはずだよ。ステージごとにやることもあるし。確かに。そう考えると、地球上の全員(子供や高齢者、コンピュータを持ってない人たちも含めて)が、多くの人気Pythonパッケージの個人コピーを手に入れるのに、1年もかからないはずだね(https://pypistats.org/top)。

なんだか、みんなが見知らぬ人からのツールをインストールするのが普通だって受け入れちゃったみたい これはWindows XPの頃からのやり方で、無邪気にランダムなCDリッピングソフトやボンジーバディをインストールして、コンピュータの他の部分にフルアクセスを与えてたんだよね。便利さに対して反論するのは難しい。人は常に簡単なことを選ぶから、たとえそれが安全でなくてもね。大きな教訓は、なぜまだサンドボックスを学んでいないのかってこと。ここでは、AIが人類の知っているベストプラクティスをすべてリセットしちゃったみたい。

人々は常に簡単なことを選ぶから、たとえそれが安全でなくてもね。大きな教訓は、なぜまだサンドボックスを学んでいないのかってこと。どうやら、誰もサンドボックスを簡単に作る方法を見つけていないみたい。注意:このレベルでは、「簡単」とは「オペレーティングシステムにデフォルトで提供されること」を含まなきゃいけない。

この記事の内容は良いけど、なんでChatGPT AIの雑な加工を通す必要があるの?プロンプトが何だったのかそのまま読みたいよ。今の状態じゃ、ユーザーへの侮辱であり、時間の無駄だと思う。

あなたもそう思ってくれて嬉しい!私もそれが嫌いなんだけど、友達に聞いてみたら、みんな気づいてないか、分からないみたい。

このブログ記事、ほとんど読めないね。AIが補助してるかも。余計な文や飾りが多すぎる。残念、実際のテーマは面白いのに。

bccはデバッグ用に追加されたみたいで、コミット前に削除されなかったんだね。バックドアとしてはあまりにも明らかだよ。メール内のビットコインアドレスを置き換える方が役に立つと思う。