メールHTMLをAI前に無害化するInBoxWall

📌 エグゼクティブサマリー
InBoxWallは、aiエージェントにメールを渡す前にHTMLを無害化するローカルMCPサーバーです。隠しCSSやUnicodeなどのプロンプト注入を削ぎ、安全境界をLLMの外に置く設計です。関連するローカルメールAIも注目されています。

メールは、AIにとって危険な入力です。InBoxWallは、aiエージェントにメールを渡す前にHTMLを無害化するローカルMCPサーバーです。MCPサーバーは、AIエージェントが外部ツールを呼ぶための仕組みです。hacker newsにはShow HNとして投稿されました。反応は1ポイント、コメント0件でした。[1][4] 派手な注目ではありません。それでも、話題は重要です。AIにメールを読ませる前に、どこで安全な形へ整えるかという問題です。メールは日常の連絡手段です。しかしエージェントにとっては、攻撃者が仕掛けた文書の束にもなります。

きっかけは、メールHTMLに潜むプロンプト注入です。メールは人間が見る前提で、HTML、CSS、Unicodeを自由に描画します。メールクライアントは、見た目を整えるためにHTMLを解釈します。攻撃者はその性質を使います。白背景に白文字を置きます。透明なspanを使います。画面外の絶対配置で文字を隠します。人間には見えません。LLMは読みます。[2] 文章の途中に指示を埋められます。エージェントの判断が歪む恐れがあります。プロンプト注入は、エージェントの役割を奪う手口です。

Unicodeも曲者です。右から左へ書く文字を使います。ゼロ幅接合子を入れます。見た目は同じだが意味が違う文字も使います。HTMLコメントに「前の指示を無視せよ」と入れます。styleブロックに同じような指示を仕込みます。エージェントがIMAPやメールAPIで全文を受けると、そのHTMLがそのままLLMの文脈に入ります。[2] エージェントは見た目を無視できません。攻撃者はプロンプトの一部を支配します。

InBoxWallはModel Context Protocolサーバーとして動きます。単一のツールを公開します。呼び出し側が生のメールHTMLを渡すと、無害化した平文を返します。削るのはCSSです。inline style、styleタグ、外部スタイルシートも対象です。JavaScriptとイベントハンドラも削ります。不可視Unicodeも削ります。ゼロ幅スペース、方向指定の上書き、バリエーションセレクタも対象です。[2] HTMLコメントも消します。data URI、srcdoc、formactionなどの怪しい属性も落とします。平文にすることで、LLMが読む文字列を減らします。属性を落とすことで、読み取り経路も絞ります。

設計で目立つのは、安全境界をLLMの外に置く点です。InBoxWallはメールプロバイダーに接続しません。IMAP、Exchange Web Services、メールAPIで本文を取り、エージェントがHTMLを渡す想定です。[2] つまり、取得と整形を分けます。エージェントの推論に入る前に壁を作ります。ローカルで動くことも大事です。メール本文を外部の整形サービスに送らずに済みます。プライバシーと安全性を、同じ置き場で扱おうとしています。境界を明確にすると、監査もしやすくなります。エージェント側が汚れた本文を渡さないと、壁は意味を成しません。

似た発想のローカルAIメールも公開されています。Inbox_Guardianはn8nで組みました。スケジュールでGmailの未読を取得します。Gemini 2.5 flash liteでKEEPかDELETEに分類します。KEEPはDiscordへ通知します。DELETEはGmailから削除します。[3] ワークフローはJSONで公開されています。スクリーンショットとデモ動画もあります。Dockerで5678番ポートを開き、ローカルフォルダをマウントして動かします。KEEPとDELETEの二択は、人間が見る前の選別です。n8nのワークフローは、自動化の入口になります。ローカル完結は、外部送信を減らす利点があります。

設定も具体的です。セットアップの工程は長めです。Docker Desktopを入れます。docker –versionで確認します。ローカルにフォルダを作ります。n8nを起動し、ブラウザで5678番ポートを開きます。Gmail認証では読み取りと削除を許可します。Discord Webhookを貼り、Gemini APIキーを入れます。[3] ai-poweredな整理です。ただし削除を自動化する分、誤分類の怖さも残ります。GitHubにはlocal-ai-email-agentという、ローカルとプライバシーを掲げるaiメールエージェントもあります。[6] 詳細は検索結果からだけでは分かりません。

ただ、InBoxWall自体が万能とは限りません。作者はCursorのフォーラムで、見落としやすいエッジケースを尋ねています。[5] hacker newsの反応が小さいことも、まだ検証段階であることを示しています。[1][4] 素材には、sanitizationの誤検知率や速度の具体的な数値はありません。削りすぎて必要な情報が落ちる可能性もあります。逆に、削りきれない手口が残る可能性もあります。ローカルであることと安全であることは、同じではありません。InBoxWallは取得しないため、呼び出し側の設計も安全に効きます。MCPサーバーとして公開する形は、再利用しやすいです。

それでも示唆はあります。メールをAIに渡すなら、HTMLをそのまま文脈に入れるのは危ういです。InBoxWallのような前処理を、aiエージェントのオプションの1つとして置く発想は、ローカル運用と相性が良いです。推論の安全をLLM任せにせず、入力の段階で整える。その小さな壁が、今後のエージェント実装で重要になると思われます。hacker newsの小さな反応も、実装の種として残ると思われます。メール限定ではなく、危険な入力への前処理として考えられます。

引用ソース

  1. [1] Hacker News Hacker News: Show HN: InBox Wall – A local-first, open-source email sanitizer for AI agents — https://github.com/Annora998/inboxwall

    Show HN: InBox Wall – A local-first, open-source email sanitizer for AI agents

  2. [2] Web記事 記事全文: InboxWall: How a Local-First MCP Server Sanitizes Email HTML to Stop … — https://dev.to/mech_app_ai/inboxwall-how-a-local-first-mcp-server-sanitizes-email-html-to-stop-prompt-injection-before-the-1ipb

    Email is a hostile data source. When you give an AI agent access to your inbox, you hand it HTML that may contain hidden CSS directives, Unicode obfuscation, and invisible text designed to manipulate the LLM’s context wi

  3. [3] Web記事 記事全文: GitHub – 21Afnan/Inbox_Guardian: A local AI-powered agent built with … — https://github.com/21Afnan/Inbox_Guardian

    InboxGuardian is a local AI-powered email cleaner built with n8n.
    It automatically scans your inbox on a schedule, classifies emails with AI, and then:
    – ✅ Sends important emails as notifications via Discord
    – 🗑️ Automat

  4. [4] Web記事 Web検索: Show HN: InBox Wall – A local-first, open-source email sanitizer for AI … — https://news.ycombinator.com/item?id=50134132

    Show HN: InBox Wall – A local-first, open-source email sanitizer for AI …

  5. [5] Web記事 Web検索: Seeking feedback: Local-first MCP server for email sanitization (what … — https://forum.cursor.com/t/seeking-feedback-local-first-mcp-server-for-email-sanitization-what-all-edge-cases-am-i-missing/175096

    Seeking feedback: Local-first MCP server for email sanitization (what …

  6. [6] Web記事 Web検索: GitHub – kavindya-jc/local-ai-email-agent: A local, privacy-first AI … — https://github.com/kavindya-jc/local-ai-email-agent

    GitHub – kavindya-jc/local-ai-email-agent: A local, privacy-first AI …

※ 本記事はAIにより、Reddit・Hacker News・5ch・Xトレンドの公開投稿・トレンドを軸に、その話題をWeb検索で深掘りして集めた一次情報(記事全文・HNコメント)を併せて自動生成されました。本文中の[n]は末尾の引用ソース番号です。内容の正確性は保証されません。引用先を必ずご確認ください。

関連記事

  1. NO IMAGE
  2. NO IMAGE

CALENDAR

2026年10月
日 月 火 水 木 金 土
 123
45678910
11121314151617
18192021222324
25262728293031

ARCHIVES

CATEGORIES