renaudallard/deobfuscator
GitHub: renaudallard/deobfuscator
Thunderbird 邮件客户端扩展,用于自动检测并还原企业邮件安全服务包装和 URL 缩短服务混淆的真实链接地址。
Stars: 1 | Forks: 0
# 🔗 Thunderbird 反混淆器
[](https://github.com/renaudallard/deobfuscator/releases/latest)
[](LICENSE)
[](https://www.thunderbird.net)
## ✨ 功能特性
### 🎯 **全面的防护覆盖**
支持 17 种以上的电子邮件安全服务,包括 Microsoft、Proofpoint、Mimecast、Barracuda、Cisco 等。
### 🔄 **多层 URL 重写支持**
当攻击者将多个防护服务链接在一起时(例如,Safe Links 包装 Proofpoint,再包装真实 URL),自动剥离多层 URL 重写。弹出窗口会显示被移除服务的完整链路。
### 🔗 **带隐私控制的 URL 缩短服务支持**
检测并解析缩短的 URL(bit.ly、tinyurl.com、t.co 等),并带有清晰的隐私警告。
- **🚀 直接解析**(快速,<1 秒)- 现已可用
- **🧅 Tor 解析**(隐私,开发中)- 通过嵌入式 Tor 进行匿名解析
### ⚠️ **自动检测与警告**
打开包含混淆链接的电子邮件时,消息工具栏中会自动出现警告按钮,显示检测到的受保护 URL 的确切数量。
### 🖱️ **简单的右键点击界面**
右键点击任何受保护或缩短的链接 → 选择 "Deobfuscate Link" → 查看真实目标或选择解析方式。
### 🎨 **美观的主题自适应弹出窗口**
- 简洁、现代的界面,遵循您的系统主题(浅色/深色模式)
- 并排显示原始和解码后的 URL
- 一键复制按钮,方便分享 URL
- 在发送任何网络请求前显示清晰的隐私警告
### 🔒 **隐私优先设计**
- 所有防护服务的处理均在 Thunderbird 本地完成
- 不进行自动 URL 解析 - 始终需要用户同意
- 清晰的隐私警告解释了哪些信息会被暴露
- 针对防护服务不使用外部服务器或跟踪
- 原始电子邮件保持完全不变
### 🌐 **在您的浏览器中打开**
解码后的 URL 将在 Firefox(或您的默认浏览器)中打开,而不是在 Thunderbird 内部。
## 🛡️ 支持的服务
### 电子邮件安全服务 (17 种以上)
### URL 缩短服务 (26 种以上)
**常用服务**
- ✅ bit.ly / bitly.com
- ✅ TinyURL (tinyurl.com)
- ✅ Twitter (t.co)
- ✅ Google (goo.gl)
- ✅ Ow.ly
- ✅ is.gd
- ✅ Buff.ly
**社交媒体与企业**
- ✅ LinkedIn (lnkd.in)
- ✅ YouTube (youtu.be)
- ✅ Facebook (fb.me)
- ✅ Amazon (amzn.to)
- ✅ eBay (ebay.us)
- ✅ Rebrandly (rebrand.ly)
**注重隐私的服务**
- ✅ URLVanish (urlvanish.com)
**其他缩短服务**
- ✅ adf.ly、bc.vc、clck.ru、db.tt、ity.im、q.gs、qr.ae、qr.net、smarturl.it、su.pr、trib.al、u.to、v.gd、x.co、zip.net、zpr.io 等!
## 📦 安装说明
### 面向用户
1. 从 [Releases](https://github.com/yourusername/deobfuscator/releases) 下载 `deobfuscator.xpi`
2. 打开 Thunderbird
3. 转到 **Add-ons and Themes**(≡ 菜单 → Add-ons and Themes)
4. 点击齿轮图标 ⚙️ → **Install Add-on From File…**
5. 选择下载的 `deobfuscator.xpi` 文件
### 面向开发者
1. 克隆此代码库
2. 打开 Thunderbird → **Add-ons and Themes**
3. 点击齿轮图标 ⚙️ → **Debug Add-ons**
4. 点击 **Load Temporary Add-on…**
5. 导航至 `src/` 文件夹并选择 `manifest.json`
## 🚀 使用方法
### 针对电子邮件安全链接(即时反混淆)
1. **打开一封**包含受保护链接的电子邮件
2. **查找警告** — 消息工具栏中会自动出现一个警告按钮,显示:
⚠️ Warning: 3 Obfuscated Links ⚠️
3. **右键点击**任何混淆的 URL
4. 从上下文菜单中**选择** "Deobfuscate Link"
5. **查看**显示以下内容的弹出窗口:
- 📄 **Original link**:包装过/受保护的 URL
- ✅ **Clean URL**:真实目标地址
6. **选择一项操作**:
- 🟢 **Open Clean Link** — 打开解码后的 URL(推荐)
- 🔴 **Open Original Link** — 打开包装过的 URL(如有需要)
- ⚪ **Cancel** — 关闭而不执行任何操作
- 📋 **Copy** — 一键复制任一 URL 到剪贴板
**示例:**
**处理前:** `https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com`
**处理后:** `https://example.com`
**多层重写示例:**
**处理前:** `https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__example.com`
**处理后:** `https://example.com`(移除了 2 层:Microsoft Safe Links、Proofpoint URL Defense)
### 针对 URL 缩短服务(具备隐私感知的解析)
1. **打开一封**包含缩短链接(bit.ly、tinyurl.com 等)的电子邮件
2. **右键点击**缩短的 URL
3. 从上下文菜单中**选择** "Deobfuscate Link"
4. **查看警告** — 扩展程序检测到缩短服务并显示:
⚠️ URL Shortener Detected
Service: bit.ly (URL shortener)
⚠️ Destination Unknown
5. **选择解析方式**:
**🚀 Direct Resolution (Fast)**
- 会向缩短服务暴露:您的 IP 地址、时间戳以及您曾查看过此链接的事实
- 速度:通常小于 1 秒
- 点击:**"Resolve Directly"**
**🧅 Tor Resolution (Private)** — *开发中*
- 将隐藏您的真实 IP(使用 Tor 出口节点)
- 通过嵌入式 Tor 进行匿名解析
- 预期速度:3-10 秒
- 状态:尚不可用
6. **解析后**,查看最终目标:
- 📄 **Shortened link**:bit.ly/abc123
- ✅ **Final destination**:https://example.com/real/page
7. **选择一项操作**:
- 🟢 **Open Destination** — 打开解析后的 URL(推荐)
- 🔴 **Open Shortened Link** — 打开缩短服务的 URL
- ⚪ **Cancel** — 关闭而不执行任何操作
**示例:**
**处理前:** `https://bit.ly/3xY2zQ`
**隐私警告 → 用户确认 → 解析**
**处理后:** `https://example.com/real/destination/page`
### 隐私保证
**电子邮件安全链接:**
- ✅ 100% 本地处理
- ✅ 无网络请求
- ✅ 即时出结果
**URL 缩短服务:**
- ✅ 检测在本地进行(无网络)
- ⚠️ 解析需要网络请求
- ✅ 始终事先征求许可
- ✅ 关于隐私权衡的清晰警告
- ✅ 用户可在速度与隐私之间做出选择
- 🚫 从不自动解析
## 🛠️ 从源代码构建
为方便起见,项目包含了一个构建脚本:
```
./build.sh
```
这将从 `src/` 目录创建包含所有必需文件的 `deobfuscator.xpi`。
**手动构建:**
```
cd src
zip -r ../deobfuscator.xpi *
```
## 📁 项目结构
```
deobfuscator/
├── src/
│ ├── background.js # Core deobfuscation logic, shortener detection & resolution
│ ├── popup.html # Popup UI with multiple views (protection/shortener/resolved)
│ ├── popup.js # Popup behavior, resolution flow & clipboard functionality
│ └── manifest.json # Extension manifest (v2)
├── build.sh # Build script
├── deobfuscator.xpi # Packaged extension
└── README.md # This file
```
## 🔧 技术细节
### 架构
该扩展使用**多层检测与解析系统**:
#### 第一层:自动检测(零隐私损耗)
1. **消息监控**:监听 `messageDisplay.onMessageDisplayed` 事件
2. **内容扫描**:获取并扫描邮件正文,查找混淆链接模式
3. **可视化警告**:在消息工具栏中显示带有链接数量的警告按钮
4. **实时更新**:在您切换消息时,警告会自动出现/消失
5. **缩短服务检测**:通过域名模式识别 25 种以上的 URL 缩短服务
#### 第二层 A:电子邮件安全服务反混淆(本地)
1. **右键点击**:用户右键点击邮件中的任何链接
2. **分析**:后台脚本识别防护服务或缩短服务
3. **多层解包**:迭代剥离嵌套的防护层(最深达 10 层),直到获取真实 URL 或缩短服务链接
4. **显示**:在主题化弹出窗口中显示两个 URL,并展示被移除服务的完整链路
5. **操作**:在默认浏览器中打开选定的 URL
#### 第二层 B:URL 缩短服务解析(具备隐私感知)
1. **检测**:识别缩短的 URL(bit.ly、tinyurl 等)
2. **隐私警告**:清晰展示哪些数据将会被暴露的警告信息
3. **用户同意**:用户明确选择解析方式
4. **直接解析**:
- 首先尝试 HTTP HEAD 请求(最小数据传输)
- 仅在必要时回退到 GET 请求
- 自动跟随重定向
- 作为最后手段,解析 HTML 中的 meta refresh / JavaScript 重定向
5. **Tor 解析** *(开发中)*:将使用嵌入式 Tor(匿名,较慢)
6. **显示**:展示原始及解析后的 URL
7. **操作**:由用户决定打开哪个 URL
这种方法成功绕过了 Thunderbird 对 `owl://` 和 `imap://` 协议的安全限制。
### 反混淆方法
**电子邮件安全服务:**
- **Microsoft Safe Links**:提取 `url` 参数
- **Proofpoint v2**:自定义字符替换解码
- **Proofpoint v3**:基于路径的提取
- **通用服务**:尝试常见的参数名(`url`、`u`、`dest`、`target` 等)
- **多层处理**:迭代解包嵌套的防护服务(最深达 10 层),并在弹出窗口中显示完整的服务链
**URL 缩短服务:**
- **检测**:域名模式匹配(本地进行,无需网络)
- **直接解析**:
- 首先尝试 HTTP HEAD 请求(最小数据传输,有利于隐私保护)
- 仅在 HEAD 请求无效时回退到 GET 请求
- 自动跟随 HTTP 重定向
- 作为最后手段,解析 HTML 以查找 meta refresh 和 JavaScript 重定向
- **Tor 解析** *(开发中)*:使用 Arti(基于 WebAssembly 的 Tor)进行匿名解析
### 安全与隐私
**电子邮件安全链接:**
- ✅ 所有处理均在本地进行
- ✅ 无网络请求
- ✅ 无数据收集
- ✅ 即时出结果
**URL 缩短服务:**
- ✅ 检测在本地进行(无需网络)
- ⚠️ **第三方查询:** 解析过程涉及附加组件直接查询缩短服务。这在功能上等同于点击原始链接,但该操作是由附加组件触发的,*无需*用户点击邮件正文中的链接。
- ⚠️ 解析需要网络请求(会暴露您的 IP)
- ✅ 始终事先征求许可
- ✅ 关于隐私权衡的清晰警告
- ✅ 用户可在速度与隐私之间做出选择
- 🚫 从不自动解析
**通用:**
- ✅ 仅需最少权限
- ✅ 无外部服务器或跟踪
- ✅ 开源且可审计
## 🎨 屏幕截图
### 弹出窗口(浅色模式)
简洁、现代的界面,展示原始 URL、解码后的 URL 以及操作按钮。

### 弹出窗口(深色模式)
自动适应您的系统主题,提供舒适的视觉体验。

## ⚙️ 配置
无需任何配置!该扩展具有合理的默认设置,开箱即用。
🤝 参与贡献
欢迎各种贡献!
### 添加电子邮件安全服务支持
1. 编辑 `src/background.js`
2. 在 `deobfuscateUrl()` 中添加主机名检测
3. 在 `identifyService()` 中添加服务名称
4. 使用示例 URL 进行测试
5. 提交 Pull Request
### 添加 URL 缩短服务支持
1. 编辑 `src/background.js`
2. 将域名添加到 `SHORTENER_DOMAINS` 数组中
3. 测试检测与解析功能
4. 提交 Pull Request
## 📝 版本历史
### v0.1.0(当前版本)
- ✨ 初始发布版本
- 🛡️ 支持 17 种以上的电子邮件安全服务
- 🔗 URL 缩短服务检测(包括 URLVanish 在内的 26 种以上服务)
- 🚀 带有隐私警告的直接缩短服务解析
- 🔒 注重隐私的 HTTP HEAD 请求(最小数据传输)
- ⚠️ 自动检测并在消息工具栏中显示警告指示器
- 🎨 具有多视图功能的主题自适应弹出界面
- 📋 复制到剪贴板功能
- 🌐 在默认浏览器中打开 URL
- 🔐 隐私优先设计,需用户明确同意
### v0.2.0(开发中)
- 🔄 多层 URL 重写支持:迭代解包嵌套的防护服务
- 🧅 用于匿名缩短服务解析的嵌入式 Tor 支持(通过 Arti WebAssembly 实现)
- ⚙️ 用户偏好和设置页面
- 📊 针对一封电子邮件中多个链接的批量缩短服务解析
- 🎯 提升解析成功率
## 📄 许可证
本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 🙏 致谢
- 为 Thunderbird 102+ 而构建
- 注重隐私与安全的设计
- 社区驱动的开发
## 💬 支持
- 🐛 **发现了 Bug?**[提交一个 Issue](https://github.com/yourusername/deobfuscator/issues)
- 💡 **有建议?**[发起一个 Discussion](https://github.com/yourusername/deobfuscator/discussions)
- 📧 **需要帮助?**查看 [Wiki](https://github.com/yourusername/deobfuscator/wiki)
| **企业级解决方案** - ✅ Microsoft Safe Links - ✅ Proofpoint URL Defense (v2 & v3) - ✅ Mimecast URL Protect - ✅ Barracuda Link Protection - ✅ Cisco Secure Email - ✅ Check Point Harmony Email - ✅ Symantec/Broadcom Messaging Gateway - ✅ Trend Micro Email Security - ✅ FireEye/Trellix | **其他服务** - ✅ Sophos Email Security - ✅ Trustwave MailMarshal - ✅ Egress Defend - ✅ Hornetsecurity ATP - ✅ OpenText/EdgePilot - ✅ Intermedia - ✅ PostOffice - ✅ 通用 URL 保护服务 |
**用 ❤️ 为 Thunderbird 社区打造**
[⬆ 返回顶部](#-thunderbird-deobfuscator)
标签:Barracuda, Cisco, DNS 解析, Microsoft安全, Mimecast, Proofpoint, Thunderbird扩展, Tor集成, TypeScript, URL缩短服务解析, URL解析, URL重写, 反恶意软件, 多模态安全, 安全插件, 开源, 搜索语句(dork), 数据可视化, 本地处理, 浏览器扩展, 深色模式, 电子邮件安全, 网络安全, 网络安全, 自定义脚本, 钓鱼防护, 链接反混淆, 链接安全检测, 隐私保护, 隐私保护