MyoungSoo7/vaccine

GitHub: MyoungSoo7/vaccine

轻量级 macOS/Linux 终端威胁检测工具,整合 VirusTotal、YARA、eBPF 与公开 IoC 情报源,为个人和小型环境提供可疑行为检测与告警。

Stars: 0 | Forks: 0

# vaccine 不同于 V3 或 AhnLab 这样的传统杀毒软件,该工具*不直接维护 signature DB*,而是*结合* VirusTotal · YARA · eBPF 和已知的 IoC (Indicators of Compromise) 情报源,为个人或小型环境提供“哪些行为是可疑的”的检测与提醒。 ## 设计理念 - **拒绝重复造轮子** — signature DB *完全委托给* VirusTotal / abuse.ch / OTX 等*专业的情报源* - **监控与报警优先** — *最小化*自动隔离/自动删除。将*决定权*交还给用户 - **透明度** — 公开*所有*匹配到的 IoC 及其规则 - **轻量级** — 后台常驻进程占用*低于数十 MB* ## 支持平台 | Platform | Status | |---|---| | macOS (Apple Silicon + Intel) | 首要目标 | | Linux (Ubuntu/Debian/RHEL) | 首要目标 | | Windows | 规划中 (因内核驱动认证负担而暂缓) | | Android | 作为独立应用评估中 | | iOS | 因 Sandbox 限制,*难以支持* | ## 命令概览 ``` vaccine scan 파일/디렉터리 스캔 (VT + 로컬 blocklist + 캐시) vaccine netscan 활성 네트워크 connection 나열 + URLhaus 매칭 vaccine procscan 프로세스 cmdline 의심 패턴 탐지 (curl|bash 등) vaccine intel-sync URLhaus IoC feed 다운로드 + 캐시 vaccine watch 위 셋을 주기적으로 (cron 대체) ``` 退出码:`0` 正常 / `2` 配置错误 / `3` 发现威胁 — 对自动化 hook 友好。 ## 快速开始 ``` # 빌드 make build # 또는: go build -o vaccine ./cmd/vaccine # 获取 VirusTotal API key(免费,4次请求/分钟,500次/天) # https://www.virustotal.com/gui/my-apikey export VACCINE_VT_API_KEY="your-api-key" # (可选)Telegram 报警 — 发现时推送 export VACCINE_TELEGRAM_BOT_TOKEN="..." export VACCINE_TELEGRAM_CHAT_ID="..." # 应用 ───────────────────────── # 1) 文件扫描 ./vaccine scan ~/Downloads --only-bad # 2) URLhaus feed 同步 ./vaccine intel-sync # 3) 网络 + 进程检查 ./vaccine netscan ./vaccine procscan # 4) 替代 cron — 每 30 分钟全面检查 + Telegram 报警 ./vaccine watch ~/Downloads --interval 30 ``` ## 配置文件 `~/.vaccine/config.json` (可选)。环境变量具有*优先权*。 ``` { "vt_api_key": "", "cache_dir": "/Users/me/.vaccine/cache", "cache_ttl_hours": 24, "blocklist_paths": ["/Users/me/.vaccine/my-bad-hashes.txt"], "whitelist_paths": ["/Users/me/Library"], "urlhaus_feed_url": "https://urlhaus.abuse.ch/downloads/csv_recent/", "watch_interval_min": 60, "max_file_mb": 100, "vt_rate_seconds": 16 } ``` ## 核心功能 (Roadmap) ### Phase 1 — *File Scanner* ✅ - [x] 文件 SHA256/SHA1/MD5 哈希计算 - [x] VirusTotal API v3 查询 - [x] 递归扫描目录 - [x] 24小时磁盘缓存 (节省配额) - [x] 本地 hash blocklist - [x] Whitelist (跳过路径) - [x] JSON / table 输出 - [ ] YARA 规则匹配 (Phase 1.5) ### Phase 2 — *Network Monitor* ✅ (被动模式) - [x] 列出活动 connection (gopsutil) - [x] 下载并匹配 URLhaus 情报源 - [x] 进程名 / PID 映射 - [ ] 基于 eBPF 的实时监控 (Phase 2.5, Linux 专属) ### Phase 3 — *Process Monitor* ✅ (被动模式) - [x] 检测进程 cmdline 中的可疑模式 (curl|bash, base64|sh, rev-shell, miner) - [ ] 基于 EndpointSecurity (macOS) / fanotify+audit (Linux) 的实时监控 ### Phase 4 — *Daemon + Reporting* ✅ (基础版) - [x] `vaccine watch` 定期执行 - [x] Telegram 报警 - [ ] Tauri 托盘应用 ### Phase 5 — *Threat Intel Integration* - [x] URLhaus (abuse.ch) 情报源 - [ ] MalwareBazaar hash 情报源 - [ ] AlienVault OTX - [ ] SBOM 分析 (npm/pip 包风险评估) ## 依赖项 ``` github.com/shirou/gopsutil/v4 프로세스 / 네트워크 (cross-platform) ``` 仅凭标准库即可实现 80% 的功能。*尽量最小化*外部依赖。 ## 非目标 (Non-goals) - *Windows kernel driver* — 认证成本与复杂度过高 - *自建 signature DB* — 委托给 VirusTotal 等平台 - *付费商业化* — 纯开源 + 学习目的 - *替代 V3 / AhnLab* — 那是 *50+ 人专业团队*的领域 ## 开源许可 MIT — 个人 / 学术 / 商业*免费使用*。 ## 免责声明 本工具是一款*“辅助报警器”*,而*不是*“完备的安全解决方案”。若要为 *Production 系统提供保护*,请配合使用 *AhnLab V3、CrowdStrike、Microsoft Defender* 等*专业产品*。
标签:AMSI绕过, Docker镜像, EVTX分析, Go, Ruby工具, YARA, 云资产可视化, 威胁情报, 威胁检测, 开发者工具, 日志审计, 终端安全