jmsD3v/soclite

GitHub: jmsD3v/soclite

一款集成 Sigma 规则、阈值检测与机器学习异常检测的 AI 驱动轻量级 SIEM 命令行工具,帮助小团队以零基础设施成本实现日志威胁分析与事件分诊。

Stars: 0 | Forks: 0

# 🛡️ SOC-Lite — AI 驱动的轻量级 SIEM
![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=for-the-badge&logo=python&logoColor=white) ![SIEM](https://img.shields.io/badge/SIEM-Lightweight-0077b6?style=for-the-badge) ![ML](https://img.shields.io/badge/ML-IsolationForest-ff6b6b?style=for-the-badge&logo=scikitlearn&logoColor=white) ![Gemini](https://img.shields.io/badge/Gemini_AI-Free_Tier-4285F4?style=for-the-badge&logo=google&logoColor=white) ![Portfolio](https://img.shields.io/badge/Portfolio-D--01_Defensive-0077b6?style=for-the-badge) **集日志采集、Sigma 规则检测、ML 异常检测和 AI 事件分诊于单一 CLI 中** *9 项中的第 D-01 项 · [@jmsDev](https://www.linkedin.com/in/jmsilva83) 的网络安全作品集*
## 功能介绍 SOC-Lite 可采集日志文件(JSON、JSONL、Windows Event Log),并通过**三层检测流水线**对其进行处理:Sigma 风格规则匹配、基于阈值的行为检测以及 ML 异常检测(IsolationForest)。可疑活动将被上报至 **Google Gemini**,以进行事件分诊并提供分析师建议。 ``` soclite analyze /var/log/auth.log --format syslog soclite analyze security.jsonl --format json --ai soclite monitor /var/log/ --watch --interval 30 ``` ## 检测层 ### 第 1 层 — Sigma 规则 基于 YAML 的检测规则,涵盖常见的攻击模式。这些规则随工具一同提供,并会对每个采集的事件进行评估。 | 规则类别 | 示例 | |---|---| | 凭据访问 | Mimikatz 关键字、LSASS 访问、凭据转储 | | 横向移动 | PsExec、WMI 远程执行、管理共享访问 | | 持久化 | 新计划任务、Run 键值修改、新服务 | | 防御规避 | 日志清除(Event ID 1102/104)、AMSI 绕过字符串 | | 权限提升 | Token 模拟、UAC 绕过模式 | | C2 通信 | PowerShell 下载载体、Certutil 滥用 | ### 第 2 层 — 阈值检测 带有可配置阈值的滑动窗口行为规则: | 规则 | 默认阈值 | 时间窗口 | |---|---|---| | `brute_force_ip` | 同一 IP 失败次数 ≥ 10 | 5 分钟 | | `account_enum` | 独立用户数 ≥ 20 | 10 分钟 | | `credential_stuffing` | IP 数 ≥ 5,失败次数 ≥ 50 | 10 分钟 | | `lateral_movement` | 主机数 ≥ 3,管理端口 | 15 分钟 | | `after_hours_login` | 08:00–20:00 之外成功登录 | — | | `process_burst` | 新进程数 ≥ 50 | 1 分钟 | | `repeated_priv_esc` | 权限事件 ≥ 3 | 5 分钟 | ### 第 3 层 — ML 异常检测 基于基线日志模式训练的 `IsolationForest`。可标记以下方面的统计异常值: - 每个用户/IP 的登录频率 - 进程创建率 - 网络连接模式 - 每日访问时间分布 ## 功能特性 - **多格式采集** — JSONL、JSON 数组、ECS、CloudTrail、Azure AD 日志、syslog - **自动字段检测** — 点表示法字段查找可处理任意的日志 schema - **三层检测** — 规则 + 阈值 + ML,各自独立运行 - **实时监控** — 带有可配置轮询间隔的 `--watch` 模式 - **AI 事件分诊** — Gemini 将告警关联为事件,并附带优先级和建议操作 - **精美终端仪表板** — 实时告警表格、严重程度计数器、事件面板 - **HTML/PDF 报告** — 带有事件时间线的专业暗色主题报告 ## 安装说明 ``` git clone https://github.com/jmsdev83/soclite cd soclite pip install -e . cp .env.example .env # 将 GEMINI_API_KEY 添加到 .env(可选) ``` ## 用法 ``` # 分析 log 文件 soclite analyze auth.jsonl # 使用 AI triage 进行分析 soclite analyze auth.jsonl --ai # Watch 目录以获取新 events(real-time 模式) soclite monitor /var/log/ --watch --interval 30 # 生成 HTML 报告 soclite report alerts.json --output report.html # 对特定 log 类型运行 detection soclite analyze events.evtx --format evtx --ai # 列出已加载的 Sigma rules soclite rules # 针对所有 rules 测试单个 log line soclite test '{"event_type":"login","user":"admin","ip":"192.168.1.5","status":"failed"}' ``` ## 架构 ``` soclite analyze │ ▼ LogIngestor ← parse JSONL/JSON/syslog, normalize to LogEvent │ ▼ DetectionPipeline ← three parallel layers ┌────┴────────────────────────────────────────────┐ │ SigmaEngine ← YAML rule matching │ │ ThresholdDetector ← sliding-window behavioral │ │ MLDetector ← IsolationForest outliers │ └────┬────────────────────────────────────────────┘ │ ▼ AlertAggregator ← deduplicate, correlate, assign severity │ ▼ GeminiAnalyzer ← incident triage + analyst recommendations │ ▼ Rich dashboard / HTML report ``` ## 支持的日志格式 | 格式 | 标志 | 示例来源 | |---|---|---| | JSON Lines | `--format json` | Suricata、Zeek、自定义应用 | | JSON Array | `--format json` | CloudTrail、Azure AD | | ECS | `--format json` | Elastic Stack | | Syslog | `--format syslog` | `/var/log/auth.log`、`/var/log/syslog` | | Windows EVTX | `--format evtx` | Windows 安全/系统日志 | ## 严重程度级别 | 级别 | 含义 | 告警示例 | |---|---|---| | 🔴 **CRITICAL** | 活跃入侵指标 | 检测到 Mimikatz、LSASS 转储 | | 🟠 **HIGH** | 强攻击信号 | 暴力破解成功、横向移动 | | 🟡 **MEDIUM** | 可疑活动 | 多次登录失败、非工作时间访问 | | 🔵 **LOW** | 弱异常信号 | ML 异常值、异常进程数 | | ⚪ **INFO** | 基线偏差 | 非工作时间登录、新 User-Agent | ## 项目结构 ``` soclite/ ├── soclite/ │ ├── ingestors/ │ │ ├── base.py # BaseIngestor ABC │ │ ├── jsonlog.py # JSON/JSONL/ECS/CloudTrail │ │ └── syslog.py # Syslog format parser │ ├── detection/ │ │ ├── sigma_engine.py # YAML Sigma rule evaluator │ │ ├── threshold_detector.py # Sliding-window rules │ │ └── ml_detector.py # IsolationForest anomaly detection │ ├── rules/ # Built-in Sigma YAML rules │ │ ├── credential_access.yml │ │ ├── lateral_movement.yml │ │ ├── persistence.yml │ │ └── defense_evasion.yml │ ├── core/ │ │ ├── pipeline.py # Three-layer detection orchestration │ │ └── ai_analyzer.py # Gemini incident triage │ ├── types/ │ │ └── events.py # LogEvent, Alert, Incident │ ├── report/ │ │ ├── generator.py │ │ └── template.html │ └── cli/ │ └── main.py └── pyproject.toml ``` ## 环境变量 ``` GEMINI_API_KEY=your-key-here # AI incident triage (optional) SOC_RULES_DIR=/path/to/rules # Custom Sigma rules directory SOC_BASELINE_HOURS=168 # Hours of baseline for ML (default 7 days) ``` ## 作品集 | # | 类别 | 项目 | 状态 | |---|---|---|---| | P-01 | 进攻方 | ReconAI — 侦察编排器 | ✅ | | P-02 | 进攻方 | WebHunter — OWASP Top 10 扫描器 | ✅ | | P-03 | 进攻方 | PhishSim — 红队钓鱼 | ✅ | | D-01 | 防御方 | **SOC-Lite** ← 您在这里 | ✅ | | D-02 | 防御方 | ThreatFeed — CTI 聚合器 | ✅ | | D-03 | 防御方 | HoneyGrid — SSH/HTTP 蜜罐 | ✅ | | F-01 | 电子取证 | DFIR-Auto — 取证分诊 | ✅ | | F-02 | 电子取证 | MalwareScope — 恶意软件分析器 | ✅ | | F-03 | 电子取证 | PCAPForge — 网络取证 | ✅ |
版权所有 © 2025 由 [@jmsDev](https://www.linkedin.com/in/jmsilva83) 从 Las Breñas 用 💜 开发 · 保留所有权利
标签:Apex, C2通信, CLI, DLL 劫持, IsolationForest, JSON解析, LLM, Mimikatz检测, PFX证书, Python, Scikit-learn, Sigma规则, Unmanaged PE, WiFi技术, Windows事件日志, 人工智能, 信息收集自动化, 凭证获取, 协议分析, 大语言模型, 子域名变形, 孤立森林, 安全信息和事件管理, 安全运营, 异常检测, 扫描框架, 攻击检测, 无后门, 机器学习, 权限提升, 横向移动, 用户模式Hook绕过, 目标导入, 知识库安全, 私有化部署, 编程规范, 网络信息收集, 网络安全, 网络安全开源项目, 轻量级SIEM, 逆向工具, 阈值检测, 防御规避, 隐私保护