praxezz/Prism

GitHub: praxezz/Prism

PRISM 是一个 Python CLI 安全工具,自动解析原始日志、检测攻击行为模式并生成映射 MITRE ATT&CK 的 Sigma/SPL 检测规则。

Stars: 0 | Forks: 0

# PRISM ### 🔺 输入原始日志,输出 Sigma 规则。 *自动化 SOC 分析师的“发现模式 → 编写规则”工作流。*
[![Python](https://img.shields.io/badge/python-3.10%2B-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![Sigma](https://img.shields.io/badge/output-Sigma%20%2F%20SPL-F7931E?style=for-the-badge)](https://github.com/SigmaHQ/sigma) [![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK%20mapped-CC2936?style=for-the-badge)](https://attack.mitre.org/) [![License](https://img.shields.io/badge/license-MIT-2EA043?style=for-the-badge)](#-license)
## 💡 为什么选择 PRISM 每位 SOC 分析师都会遇到同样的瓶颈:日志文件中充斥着噪音,少部分 真正的信号被深埋其中,却没有时间为他们发现的 每种模式手写 Sigma 规则。PRISM 弥补了这一空白 —— 只需将其指向原始日志, 它就会自动解析、关联、打分,并为您生成一条可直接部署的检测规则。 ## ✨ 功能
### 🔍 多格式解析 Linux `auth.log`、Apache 访问日志、Windows 安全事件日志以及 结构化导出文件 — CSV、JSON、XML。 ### 🧠 行为检测 暴力破解、用户枚举、SQLi / XSS / 路径遍历、Kerberoasting、 审计日志清除、特权组修改。 ### 📊 基于阈值的关联 正则字段提取结合有状态的聚合 — 例如:来自同一 IP 的 ≥5 次失败登录 将触发暴力破解发现。 ### 🎯 MITRE ATT&CK 映射 每项发现都附带其对应的技术 ID,随时可填入您的 检测覆盖率矩阵。
### 📤 规则生成 ``` findings.json ──┬──▶ 🟠 Sigma YAML └──▶ 🟢 Splunk SPL ``` ## 🚀 快速开始 ``` pip install prism-cli ``` ``` prism analyze auth.log --format sigma ```
更多使用示例
``` # 同时生成 Sigma 和 Splunk 规则,仅限高严重性 prism analyze access.log --format both --severity high # 针对 Windows Security 导出文件运行 prism analyze windows_security.evtx --format sigma --output ./rules/ # 使用内置示例数据立即尝试 — 无需日志文件 prism demo --type auth ```
## 📋 输出示例 ``` Target: /var/log/auth.log Format: SIGMA Filter: severity ≥ all ```
| 严重程度 | 模式 | MITRE ATT&CK | 命中数 | |:---:|---|---|:---:| | 🔴 **严重** | 暴力破解后成功登录 | `T1110` Brute Force | 1 | | 🟠 **高** | 单一 IP 发起的 SSH 暴力破解 | `T1110.001` Password Guessing | 47 | | 🟡 **中** | SSH 用户枚举 | `T1087.001` Account Discovery | 12 |
``` title: SSH Brute Force from Single IP status: experimental description: Multiple failed SSH authentication attempts from the same source IP logsource: category: authentication detection: selection: EventID: "Failed password" condition: selection | count() by src_ip >= 5 level: high tags: - attack.t1110.001 ``` ## 🏗️ 架构 | 层级 | 路径 | 职责 | |---|---|---| | **解析器** | `prism/parsers/` | 针对特定格式的正则解析、字段/标志提取 | | **检测引擎** | `prism/detectors/` | 有状态关联、阈值规则、MITRE 标记 | | **生成器** | `prism/generators/` | 将发现转化为 Sigma YAML / Splunk SPL | ## 🗺️ 路线图 - [ ] 可配置的检测阈值(`--threshold` 标志 / YAML 配置) - [ ] 更多日志源 — 防火墙、云审计日志(AWS CloudTrail、Azure) - [ ] 结合阈值规则的 ML 辅助异常评分 - [ ] 用于审查发现的 Web 仪表板 ## 📄 许可证 MIT © [praxezz](https://github.com/praxezz)
为那些宁愿去追踪威胁,也不愿手写 YAML 的分析师而打造。
标签:AMSI绕过, CISA项目, PB级数据处理, Python, Sigma规则, SOC分析, 威胁检测, 子域名变形, 安全运维, 无后门, 模拟器, 目标导入, 逆向工具