read-no-evil-mcp

🛡️ AI 邮件安全卫士,本地扫描防注入

基于DeBERTa模型的本地邮件安全网关,自动扫描邮件中的提示注入攻击,支持读写分离权限控制。

收藏
9.9k
安装
2.2k
版本
1.0.2
CLS 安全性认证2026-08-11
点击查看完整报告 >

使用说明

核心功能

read-no-evil-mcp 是一款面向 AI 工作流设计的邮件安全工具,核心使命是在邮件内容抵达 LLM 之前拦截潜在的提示注入攻击。它通过本地运行的 ProtectAI DeBERTa 模型对所有邮件进行实时扫描,无需调用外部 API,确保数据隐私。

主要能力

| 功能 | 说明 |
|------|------|
| 邮件读取 | 自动扫描后安全展示,检测到注入时返回退出码 2 |
| 邮件发送 | 需显式开启 `send` 权限,支持 SMTP 配置 |
| 邮件管理 | 文件夹列表、邮件移动、删除(均需独立授权) |
| 多账户支持 | 通过 YAML 配置管理多个 IMAP 账户 |

显著优点

1. 本地化 AI 检测:DeBERTa 模型完全本地推理,杜绝数据外泄风险
2. 权限最小化原则:默认仅开放读取,写入操作需逐项授权

3. CLI 原生设计:适合集成到自动化脚本和 MCP 工作流

4. 透明评分机制:检测到威胁时展示置信度分数与匹配模式

潜在局限

  • 依赖 ProtectAI 模型的检测覆盖率,新型攻击可能存在滞后
  • 仅支持 IMAP/SMTP 协议,Exchange/Graph API 用户需额外桥接
  • 配置门槛较高,需手动编辑 YAML 和环境变量
  • 误报可能导致正常邮件被拦截,需人工复核机制

适合人群

  • 使用 LLM 处理邮件的自动化工作流开发者
  • 对数据隐私有严格要求的企业安全团队
  • 需要为 AI Agent 构建安全边界的 MCP 集成者

常规风险提示

  • 本地模型需定期更新以应对新攻击变体
  • 建议配合应用专用密码而非主账户密码
  • 高安全场景下应启用只读模式,必要时临时开放写入权限
  • 检测到注入后需人工确认,避免自动化流程盲目信任检测结果

安全解读

核心用法

read-no-evil-mcp是一款专为AI Agent设计的邮件安全网关工具。用户通过YAML配置文件设置IMAP/SMTP账户参数,利用命令行工具rnoe-mail.py完成邮件的读取、发送、移动和删除操作。所有邮件内容在返回给Agent之前,都会经过本地运行的ProtectAI DeBERTa模型进行提示注入攻击检测——若检测到注入风险,工具会以退出码2返回并显示风险评分,阻止恶意内容进入AI工作流。

配置流程简洁:安装Python包后,在~/.config/read-no-evil-mcp/目录下创建config.yaml定义账户权限(read/send/delete/move),并通过环境变量或.env文件安全存储密码。CLI支持列出近期邮件、读取指定UID邮件、发送邮件、管理文件夹等常用操作,权限系统默认仅开放读取功能,写操作需显式启用。

显著优点

主动防御架构是该工具的核心亮点。不同于传统邮件客户端被动接收内容,read-no-evil-mcp在邮件与AI Agent之间建立安全隔离层,将提示注入攻击拦截在推理环节之前。ProtectAI的DeBERTa模型在本地运行,邮件数据不上传至任何外部API,兼顾检测效果与隐私合规。

权限颗粒度设计合理,采用白名单模式管理邮件操作能力,降低误操作和恶意操控风险。凭证管理使用Pydantic SecretStr封装,无硬编码密码,符合企业安全基线。代码结构清晰(272行Python),依赖精简,无危险函数调用,静态分析得分85分。

潜在缺点与局限性

首先,功能完整性依赖外部库。核心安全检测逻辑封装在read_no_evil_mcp依赖包中,当前审查未覆盖该库源码,存在供应链安全风险。其次,网络配置灵活性带来隐患:代码允许用户禁用SSL建立明文连接,可能被误配置导致传输层数据泄露。

凭证存储虽使用环境变量和.env文件,但缺乏运行时权限强制校验——若用户未将.env设为600权限,存在本地凭证泄露可能。此外,当前版本缺少详细的审计日志和操作确认机制,敏感邮件操作(发送/删除/移动)一旦权限开启即直接执行。

适用范围方面,该工具专注于提示注入检测,不涉及传统邮件安全维度(如钓鱼链接、恶意附件分析),需与其他安全工具配合使用。

适合的目标群体

  • 部署LLM Agent的企业用户:需为客服、个人助理等邮件交互型Agent增加安全边界
  • AI安全研究者:研究提示注入防御在邮件场景的应用效果
  • MCP生态开发者:需要安全邮件能力的Claude/兼容Agent开发者
  • 隐私敏感型用户:希望邮件处理完全本地运行、拒绝云端API的分析场景

不推荐纯个人日常使用——命令行交互门槛较高,且缺少现代邮件客户端的富文本、附件管理等便利功能。

使用风险与注意事项

性能层面,本地DeBERTa模型推理对邮件内容进行逐条扫描,高频邮件处理场景可能引入延迟,建议评估批量处理的响应时间。

依赖风险需持续关注:read_no_evil_mcp库的更新可能引入 breaking changes 或安全漏洞,建议锁定版本并监控上游发布。

配置风险尤为关键:用户务必确保.env文件权限为600,强制启用SSL连接,并为邮件账户配置专用密码(非主账户密码)。在生产环境部署前,建议通过--limit参数小批量测试,验证注入检测的误报/漏报率是否符合预期。

运维建议:定期轮换邮件账户凭证,监控异常登录行为,将read-no-evil-mcp部署于隔离网络环境,避免与核心业务系统共享凭证。

read-no-evil-mcp 内容

scripts文件夹
手动下载zip · 5.6 kB
rnoe-mail.pytext/plain
请选择文件