fir3storm/MeetGuard-AI

GitHub: fir3storm/MeetGuard-AI

MeetGuard AI 是一款视频会议安全助手,通过多模态检测实时识别 Zoom、Teams、Meet 通话中的 deepfake 冒充、声纹伪造及社会工程学欺诈行为。

Stars: 0 | Forks: 0

MeetGuard AI Logo

MeetGuard AI

专为视频会议设计的实时 deepfake 与社会工程学检测工具。
Abhirup Guha — Info Security Solution 创建

Version Python License Tests Status

**MeetGuard AI** 是一款实时安全助手,可监控 Zoom、Microsoft Teams 和 Google Meet 通话。它通过屏幕捕获和系统音频环回(loopback)获取会议的音视频,然后每 3 秒运行五个并行检测器,以标记高管冒充尝试——包括 deepfake 面部、声音伪造、唇音不同步、欺诈性付款指令以及社会工程学施压策略。 该工具由 **Info Security Solution** 的 **Abhirup Guha** 构建和维护,旨在为企业提供针对视频会议中日益泛滥的 AI 驱动冒充欺诈的企业级保护。 ## 检测内容 | 威胁 | 检测器 | 识别目标 | 评分 | |---|---|---|---| | **合成面部** | Deepfake 面部 (3DCNN) | 逐帧 deepfake 生成——CEO 的实时换脸 | 0–1 | | **声音伪造** | 声音不匹配 (ECAPA-TDNN) | 说话者与已录入声纹不符——使用不同声音的冒充者 | 0–1 | | **音视频不同步** | 唇音同步 (SyncNet) | 音频与嘴唇动作不匹配——常见于低质量 deepfake | 0–1 | | **欺诈指令** | 可疑 NLP (regex + Sentence-BERT) | "将供应商账户更改为这个新的路由号码" | 0–1 | | **施压策略** | 紧急用语 (加权关键词) | "立即转账——不要告诉任何人——这是机密" | 0–1 | ### 使用场景 - **CFO 欺诈** —— 冒充者假扮 CEO 要求紧急电汇 - **供应商付款重定向** —— 虚假供应商要求将付款信息更新为新账户 - **高管猎杀(Whaling)** —— 通过社会工程学施压绕过审批流程 - **董事会会议安全** —— 监控敏感通话,查找任何冒充迹象 ## 快速开始 ### 1. 音频环回(需执行一次) MeetGuard 捕获的是**扬声器输出**(即您听到的声音),而不是您的麦克风。您需要一个虚拟音频设备: | 操作系统 | 工具 | 设置 | |---|---|---| | **Windows** | [VB-Cable](https://vb-audio.com/Cable/) | 安装 → 将“CABLE Input”设置为您的会议应用程序的扬声器输出 | | **macOS** | [BlackHole](https://github.com/ExistentialAudio/BlackHole) | `brew install blackhole-2ch` → 在“音频 MIDI 设置”中创建多输出设备 | | **Linux** | PulseAudio monitor | `pactl load-module module-loopback` | 运行设置向导进行验证: ``` meetguard --setup-audio ``` ### 2. 安装 ``` pip install -r requirements/base.txt ``` 可选:安装 GPU 支持以实现更快的推理: ``` pip install -r requirements/gpu.txt ``` ### 3. 下载模型 ``` python scripts/download_models.py ``` ### 4. 录入高管声纹 录制一段约 30 秒的高管正常说话的样本: ``` meetguard --enroll CEO ceo_voice.wav meetguard --enroll CFO cfo_voice.wav ``` ### 5. 运行 ``` meetguard # Opens dashboard at http://127.0.0.1:7860 ``` 检测到严重威胁时,您将收到桌面通知、声音警报,并有一段 30 秒的音视频片段保存至 `~/.meetguard/sessions/`。 ## CLI 参考 ``` meetguard [command] [options] Commands: status Show engine status and last session summary alerts List recent detection alerts report Generate session report --setup-audio Interactive audio loopback setup wizard Options: -c, --config FILE Path to YAML config file -v, --verbose Debug logging level --profile PROFILE Config profile: high-security, balanced, low-resource --dry-run Validate config + check dependencies, then exit --headless Run without Gradio dashboard --list-audio-devices List available audio input devices --enroll NAME FILE Enrol a voiceprint from a WAV file --version Print version and exit ``` ### 示例 ``` meetguard status # Check if engine is running meetguard alerts --limit 20 --json # Last 20 alerts as JSON meetguard report --output report.json # Generate session report meetguard --profile high-security # Run with stricter thresholds meetguard --dry-run # Validate config and exit ``` ## 配置文件 无需编辑 YAML 即可在不同操作模式间快速切换: | 配置文件 | FPS | 阈值 | 唇音同步 | LLM | 说话人分离 | 使用场景 | |---|---|---|---|---|---|---| | **high-security** | 15 | 0.10 / 0.30 / 0.60 | ✅ | ✅ | ✅ | 关键会议、董事会通话 | | **balanced** | 5 | 0.20 / 0.45 / 0.75 | ✅ | ❌ | ❌ | 默认——日常使用 | | **low-resource** | 3 | 0.30 / 0.55 / 0.85 | ❌ | ❌ | ❌ | 笔记本电脑、有限的 CPU | ``` meetguard --profile high-security ``` ## 架构 ``` Every 200ms: screen grab (5 FPS) + audio loopback (16kHz) │ ▼ Every 3 seconds ┌─────────────────────┐ │ Diarization (opt) │── isolate speakers → per-speaker voice scoring │ │ │ 5 Detectors │ │ • Face (3DCNN) │──→ deepfake score │ • Voice (ECAPA) │──→ mismatch score │ • Lip (SyncNet) │──→ drift score │ • NLP (BERT) │──→ suspicious score │ • Urgency (RE) │──→ pressure score └────────┬────────────┘ ▼ ┌─────────────────────┐ │ Fusion Engine │──→ total_risk (weighted sum) │ Classifier │──→ SAFE / MONITOR / SUSPICIOUS / CRITICAL └────────┬────────────┘ ▼ ┌─────────────────────┐ │ Alerting │ │ • Desktop popup │ │ • Sound alert │ │ • Save 30s clip │ │ • Webhooks │ │ • SQLite log │ └─────────────────────┘ ``` ## API 运行时,MeetGuard 会在端口 **8573** 上提供 REST API: ``` curl http://127.0.0.1:8573/api/v1/status curl http://127.0.0.1:8573/api/v1/status/risk curl http://127.0.0.1:8573/api/v1/alerts?limit=10 curl http://127.0.0.1:8573/api/v1/voiceprints ``` 位于 `ws://127.0.0.1:8573/ws` 的 WebSocket 会流式传输实时更新。 ## 配置 所有阈值和权重均位于 `config/default.yaml` 中: ``` fusion: weights: face: 0.30 # 30% weight in total risk score voice: 0.25 lip: 0.15 nlp: 0.20 urgency: 0.10 thresholds: monitor: 0.20 suspicious: 0.45 critical: 0.75 # ≥ 0.75 triggers desktop alert + clip + webhooks ``` 用于实时警报的 Webhook 集成: ``` alerting: webhooks: slack_url: "https://hooks.slack.com/services/T00/B00/xxx" discord_url: "https://discord.com/api/webhooks/xxx" email: smtp_host: "smtp.gmail.com" from_addr: "meetguard@yourcompany.com" to_addrs: ["security@yourcompany.com"] ``` ## 项目结构 ``` meetguard/ ├── cli/ # CLI subcommands (status, alerts, report) ├── capture/ # Screen + audio capture, ring buffers, audio wizard ├── processing/ # Face extraction, voiceprint, transcription, diarization ├── detectors/ # 5 detection modules + LLM fallback ├── fusion/ # Risk aggregation, classification, alert rules ├── alerting/ # Notifications, webhooks, recording, dashboard server ├── api/ # REST API (FastAPI router) ├── storage/ # SQLite voiceprints + session logs ├── ui/ # Gradio dashboard (with performance metrics) ├── utils/ # Data models, logging ├── config.py # YAML config loader + validator ├── profiles.py # Configuration profiles └── main.py # Entry point, engine, CLI ``` ## 关于作者 由 **Info Security Solution** 的 **Abhirup Guha** 构建。 Info Security Solution 专注于检测 AI 驱动威胁的网络安全工具,包括企业沟通渠道中的 deepfake 冒充、社会工程学和财务欺诈。 - GitHub: [@fir3storm](https://github.com/fir3storm) - 项目: [MeetGuard AI](https://github.com/fir3storm/MeetGuard-AI) ## 许可证 MIT — 详见 [LICENSE](LICENSE)。 版权所有 (c) 2026 Abhirup Guha — Info Security Solution
标签:AI安全, Chat Copilot, ESC8, 凭据扫描, 欺诈检测, 深度伪造检测, 社会工程学, 视频会议, 逆向工具, 音频/视频分析