ViperDroid/flipper-badge-audit
GitHub: ViperDroid/flipper-badge-audit
Flipper Zero 上的只读 NFC 门禁卡安全审计工具,通过检测芯片类型、读取 UID 并测试默认密钥来评估门禁卡的防克隆能力。
Stars: 1 | Forks: 0
几乎所有的 Flipper NFC 工具都是为了**读取、克隆或模拟**卡片而设计的。Badge Audit 则恰恰相反:它用来**评估**卡片。将其对准你的办公室/公寓/健身房门禁卡,只需几秒钟,你就能查明该凭证是处于完全暴露状态还是受到了真正的保护。
## ✨ 功能
- 🔍 **协议识别** — 检测真实的卡片类型(MIFARE Classic / Ultralight / DESFire / Plus, ISO14443‑3A/4A/B, ISO15693, FeliCa, ST25TB, …)。
- 🆔 **UID / SAK / ATQA 读取** — 显示从卡片读取的实时标识符。
- 🔑 **MIFARE Classic 默认密钥测试** — 尝试针对**每个扇区**使用常见的出厂密钥,并报告仍有几个扇区未受保护。这是现实世界中访问控制的头号弱点。
- 📊 **防克隆评分 (0–100)** + 包含可视化进度条的 WEAK / MEDIUM / STRONG / **CRITICAL** 评估结果。
- 💾 **报告导出** — 将一份人类可读的安全态势报告附加到 SD 卡中,方便您记录或作为评估证据。
- ♻️ **重新扫描** — 无需离开应用即可重新扫描。
## 🎮 操作说明
| 按钮 | 操作 |
| :----- | :----- |
| *(将卡片贴向背面)* | 检测并分析门禁卡 |
| **OK** | 将报告保存至 SD 卡 |
| **◀ ▶ ▲ ▼** | 重新扫描新卡片 |
| **Back** | 退出 |
## 🧮 安全态势评分标准
| 卡片 / 协议 | 评估结果 | 原因 |
| :-- | :-- | :-- |
| **带有默认密钥的** MIFARE Classic | 🔴 CRITICAL | 扇区可被出厂密钥打开 —— 实际上未受保护 |
| MIFARE Classic (无默认密钥) | 🟠 WEAK | Crypto1 已被破解;密钥可被恢复且卡片可被克隆 |
| ISO14443‑3A/B (仅 UID), Ultralight, ISO15693, ST25TB | 🟠 WEAK | 如果读卡器信任 UID,则门禁卡可被轻易克隆 |
| ISO14443‑4A/4B, FeliCa | 🟡 MEDIUM | 安全性取决于应用层 |
| MIFARE Plus (SL3), DESFire EV1/2/3 | 🟢 STRONG | AES/3DES 双向认证 |
## 🛠️ 构建与安装
使用官方 **[ufbt](https://github.com/flipperdevices/flipperzero-ufbt)** 工具链构建。
```
# 1. 安装 ufbt(一次性)
python3 -m pipx install ufbt
# 2. Clone & build
git clone https://github.com/ViperDroid/flipper-badge-audit.git
cd flipper-badge-audit
ufbt # produces dist/badge_audit.fap
# 3. 当 Flipper 通过 USB 连接时(请先关闭 qFlipper):
ufbt launch # builds, uploads, and runs it on the device
```
**没有工具链?** 从 [Releases](https://github.com/ViperDroid/flipper-badge-audit/releases) 页面获取 `badge_audit.fap`,并使用 qFlipper 将其复制到 SD 卡的 `apps/NFC/` 目录下。之后在设备上打开 **Apps → NFC → Badge Audit** 即可找到它。
## 📄 报告示例
按 `OK` 键会将类似以下的报告附加到 SD 卡中:
```
=== Badge Audit ===
Card: MIFARE Classic 1K
UID: A4 1C 8B 22
SAK: 08 ATQA: 00 04
Risk: CRITICAL (12/100)
Default-key sectors: 14/16
Note: Sectors authenticating with factory keys are unprotected; rekey or migrate to DESFire.
-------------------
```
## 🗺️ 路线图
- [ ] 显示是**哪个**默认密钥打开了各个扇区
- [ ] 支持 125 kHz LF 门禁卡 (EM4100 / HID Prox)
- [ ] 用于多门站点审计的 CSV 导出功能
- [ ] 读卡器端的“门禁评级”模式 (Wiegand)
## ⚠️ 免责声明
Badge Audit 是一款**只读的防御性**评估工具。它**不会**克隆、模拟、写入或绕过任何内容。**仅**在您拥有或获得**明确书面授权**进行评估的凭证和系统上使用它。您需自行遵守所有适用的法律法规。本工具按“原样”提供,不提供任何形式的保证。
## 📜 许可证
[MIT](LICENSE) © **ViperDroid** (Zakariya Jabbar)
由 ViperDroid 使用 🐬 + ☕ 制作
标签:DInvoke, Flipper Zero, MIFARE, NFC, 客户端加密, 物理安全, 门禁系统, 防御绕过