nlink-jp/mail-analyzer-local

GitHub: nlink-jp/mail-analyzer-local

基于本地大模型的可疑邮件离线分析工具,融合规则检测与 LLM 判断,无需云端 API 即可完成钓鱼邮件识别。

Stars: 0 | Forks: 0

# mail-analyzer-local [mail-analyzer](https://github.com/nlink-jp/mail-analyzer) 的本地 LLM 版本 — 使用兼容 OpenAI 的 API(LM Studio, Ollama 等)进行可疑电子邮件分析。 同样的基于规则的指标加上 LLM 判断,但完全通过本地模型离线运行。无需 GCP/Vertex AI。 ## 环境要求 - 运行兼容 OpenAI API 的本地 LLM 服务器(例如 [LM Studio](https://lmstudio.ai/)) - 已加载的模型(已使用 google/gemma-4-26b-a4b 和 qwen/qwen3.5-9b 进行过测试) ## 安装 从 [Releases](https://github.com/nlink-jp/mail-analyzer-local/releases) 下载,或从源码构建: ``` make build # → dist/mail-analyzer-local ``` ## 配置 ``` export MAIL_ANALYZER_LOCAL_ENDPOINT="http://localhost:1234/v1" export MAIL_ANALYZER_LOCAL_MODEL="google/gemma-4-26b-a4b" # export MAIL_ANALYZER_LOCAL_API_KEY="your-key" # 可选 # export MAIL_ANALYZER_LOCAL_LANG="Japanese" # 可选 ``` ## 用法 ``` mail-analyzer-local suspicious.eml mail-analyzer-local --offline suspicious.eml # rule-based only, no LLM mail-analyzer-local --version ``` 输出为标准输出的 JSON 格式(与 mail-analyzer 的 schema 相同)。 ## 推荐模型 **google/gemma-4-26b-a4b 且关闭 Think 模式** — 在包含 12 封电子邮件的评估数据集(5 封安全,7 封不安全)上达到了 100% 的准确率。 | 模型 | 大小 | Think | 准确率 | |-------|------|-------|----------| | **google/gemma-4-26b-a4b** | 26B | **OFF** | **100%** | | qwen/qwen3.5-35b-a3b | 35B | OFF | 90% | | qwen/qwen3.5-9b | 9B | OFF | 90% | **重要提示:在进行电子邮件分析时请禁用思考模式。** 思考模式会由于对正常指标的过度推理,持续降低网络钓鱼检测的准确率。 有关完整结果和分析,请参阅 [模型评估指南](docs/en/model-evaluation.md)。 ## 使用 nlk 构建 使用 [nlk](https://github.com/nlink-jp/nlk) 库处理 LLM 相关的周边工具: - `guard` — 提示注入防御(128位随机数标记的 XML) - `strip` — 思考/推理标签移除(支持 Gemma 4, Qwen, DeepSeek) - `jsonfix` — 从 LLM 输出中提取和修复 JSON - `backoff` — API 重试的指数退避 - `validate` — 基于规则的输出验证 ## 许可证 MIT
标签:AI风险缓解, API安全, EVTX分析, Gemma, Golang, JSON输出, LLM, LLM评估, LM Studio, meg, Ollama, OpenAI兼容API, Qwen, SEO, TCP/UDP协议, Unmanaged PE, 云计算, 信息安全, 可疑邮件, 安全编程, 恶意邮件检测, 提示注入防御, 日志审计, 本地大模型, 本地部署, 源代码安全, 离线分析, 网络安全, 规则引擎, 邮件分析, 钓鱼检测, 隐私保护