Z3X-1337/soc-caseforge

GitHub: Z3X-1337/soc-caseforge

SOC CaseForge 是一个本地优先的 Python SOC 案例管理工作流工具,帮助分析师完成证据提取、时间线构建、IOC 提取、可解释检测和报告生成的完整闭环。

Stars: 0 | Forks: 0

# SOC CaseForge [![tests](https://static.pigsec.cn/wp-content/uploads/repos/cas/6b/6b52945adbf8d9e421fe243515ae54cfbd3da263f16b1eabda37cdc0b797b8eb.svg)](https://github.com/Z3X-1337/soc-caseforge/actions/workflows/tests.yml) ![Python](https://img.shields.io/badge/Python-3.10--3.12-blue) ![Version](https://img.shields.io/badge/version-0.1.0-informational) ![License](https://img.shields.io/badge/license-MIT-green) ![Runtime](https://img.shields.io/badge/runtime-standard%20library-only-4c1) SOC CaseForge 是一个本地优先的 Python 工作区,用于将经过脱敏处理的分析师证据转化为结构化的事件案例。它将案例存储在 SQLite 中,解析受支持的 OpenSSH 身份验证事件,提取常见指标,应用确定性的检测启发式规则,并生成可审查的 Markdown 或 JSON 报告。 它被设计为一个作品集级别的 SOC 工作流和早期产品基础。它不是 SIEM、EDR、恶意软件沙箱或自主分析师。 ## 作品集证明 | 领域 | 当前证明 | | --- | --- | | 工作流 | 案例创建 → 证据提取 → 时间线 → 指标 → 发现 → 报告 | | 持久化 | 基于 SQLite 的案例、事件、指标和发现 | | 检测 | 重复失败、密码喷洒式行为以及失败后的成功 | | 可解释性 | 证据、置信度、ATT&CK 辅助、局限性和建议操作 | | 工程 | 可安装的 CLI、24 项测试、在 Python 3.10–3.12 上的 CI、威胁模型和安全策略 | | 隐私 | 本地处理,默认不进行外部富化或证据上传 | ## 为什么存在这个项目 小型脚本通常止步于单一的解析器、阈值或输出格式。SOC CaseForge 将分析师的工作流连接起来: 1. 创建案例; 2. 提取已授权的证据; 3. 保留规范化的时间线; 4. 提取指标; 5. 运行可解释的检测; 6. 生成可审查的报告。 所有处理均在本地进行。不会将任何证据上传到外部服务。 ## 数据流 ``` flowchart LR A[Sanitized evidence] --> B[Source parser] B --> C[Normalized events] A --> D[IOC extraction] C --> E[SQLite case store] D --> E E --> F[Deterministic analysis] F --> G[Evidence-backed findings] E --> H[Timeline] G --> I[Markdown / JSON report] H --> I ``` ## 当前功能 - 基于 SQLite 的案例存储。 - OpenSSH 失败和已接受的身份验证解析。 - 支持 IPv4 和 IPv6。 - 针对 URL、域名、电子邮件地址、IP 和常见哈希的 IOC 提取。 - 重复失败、密码喷洒式行为以及失败后成功的发现。 - 每项发现都附带证据和置信度。 - 针对 T1110 和 T1110.003 的 MITRE ATT&CK 辅助。 - Markdown 和 JSON 报告。 - 可安装的 `soc-caseforge` CLI。 - 标准库 runtime,无外部依赖。 ## 演示 运行内置的脱敏场景: ``` soc-caseforge --db demo.db demo ``` 该场景会生成六个时间线事件、两个指标和三个发现,其中包括在早期失败后的一次成功登录。请查看已提交的[演示报告](docs/demo-report.md)以获取完整的输出。 发现示例: ``` [HIGH] Successful login after failures for analyst Evidence: source_ip=203.0.113.10; user=analyst; prior_failures=2 ATT&CK assistance: T1110 Brute Force Next actions: validate the login, review the session, and contain the account if unauthorized. ``` ## 安装 ``` python -m pip install . ``` 对于隔离的命令行安装: ``` pipx install . ``` ## 快速开始 ``` soc-caseforge --db cases.db init soc-caseforge --db cases.db new --title "Suspicious SSH activity" --analyst "Zaid Hijazi" soc-caseforge --db cases.db ingest 1 samples/openssh_demo.log --source openssh soc-caseforge --db cases.db analyze 1 --failed-threshold 3 --spray-threshold 3 soc-caseforge --db cases.db report 1 --format markdown --output case-1.md ``` ## 命令 | 命令 | 用途 | | --- | --- | | `init` | 初始化 SQLite 数据库。 | | `new` | 创建案例。 | | `list` | 列出案例。 | | `ingest` | 解析证据并提取指标。 | | `analyze` | 运行确定性的检测启发式规则。 | | `report` | 生成 Markdown 或 JSON。 | | `demo` | 创建一个脱敏的演示案例。 | ## 检测边界 SOC CaseForge 报告的观察结果供分析师审查。它不推断归属或证明恶意意图。 | 发现 | 触发条件 | 重要局限 | | --- | --- | --- | | 重复的身份验证失败 | 单个来源超过可配置的失败阈值 | 共享基础设施和用户错误可能会产生类似的活动 | | 密码喷洒式行为 | 单个来源针对多个不同的用户名 | 当前版本不应用时间窗口 | | 失败后成功 | 某个来源和用户名随后身份验证成功 | 合法用户可能只是更正了密码或密钥问题 | ## 验证 代码仓库包含 **24 项解析器、指标、存储、分析、报告、包资源和 CLI 测试**。GitHub Actions 会安装该包,运行完整的测试套件,并在 Python 3.10、3.11 和 3.12 上验证已安装的控制台命令。 ``` python -m unittest discover -s tests -v python -m pip install . soc-caseforge --help ``` ## 项目文档 - [演示报告](docs/demo-report.md) - [架构](docs/architecture.md) - [威胁模型](docs/threat-model.md) - [路线图](ROADMAP.md) - [更新日志](CHANGELOG.md) - [安全策略](SECURITY.md) - [贡献指南](CONTRIBUTING.md) - [MIT 许可证](LICENSE) ## 路线图重点 `v0.2.0` 方向将证据的完整性和分析师的决策优先于表面的功能增长: - 时区感知的时间戳; - CSV 和通用 JSON 适配器; - 分析师笔记和处置; - 抑制和允许列表策略; - SHA-256 证据清单; - 具有代表性的误报数据集。 在 [路线图:SOC CaseForge v0.2.0](https://github.com/Z3X-1337/soc-caseforge/issues/2) 中跟踪工作进度。 ## 安全与局限 - 仅使用您拥有或被授权分析的证据。 - 请勿提交生产日志、凭证、token、私有 IP 清单或客户数据。 - 发现是确定性启发式规则的结果,并非恶意意图的证明。 - ATT&CK 映射需要分析师进行验证。 - 当前的解析器支持 OpenSSH 身份验证消息的一个特定子集。 - IOC 提取不执行信誉查找,也不确定恶意性。
标签:AMSI绕过, Python, SQLite, 威胁检测, 安全运营, 库, 应急响应, 扫描框架, 无后门, 逆向工具