Aakash01-hash/automated-cti-triage-system

GitHub: Aakash01-hash/automated-cti-triage-system

一个结合机器学习分类与确定性取证规则的CTI分诊系统,可自动提取IoC、映射MITRE战术并生成取证PDF报告。

Stars: 0 | Forks: 0

# 自动化网络威胁情报分诊系统 这是一个端到端的 CTI 和 SOC 分诊助手,能够将原始网络威胁情报、SIEM 风格的日志、指标、CVE 引用以及分析人员文本转化为严重性预测、提取的 IoC、MITRE 风格的上下文以及取证 PDF 报告。 该系统是 Aakash Sorout 的毕业论文 **《自动化网络威胁情报分诊系统》** 的一部分。它将 TF-IDF + 逻辑回归严重性分类器与确定性的取证丰富逻辑相结合,使其输出结果可用于 SOC 一级分诊、数字取证审查和分析人员交接文档。 ## 核心亮点 - 将原始 CTI 或日志文本分类为 `HIGH`、`MEDIUM` 和 `LOW` 严重性级别。 - 提取 IoC,例如 IP 地址、哈希值、CVE、域名、文件、主机、用户、进程和事件 ID。 - 将可疑行为映射到 MITRE 风格的战术和技术。 - 结合取证规则校准模型输出,适用于常见的 SOC 场景,例如勒索软件、RCE、凭证转储、暴力破解、扫描、良性的更新流量以及授权的扫描器活动。 - 提供 Flask Web 仪表板和 Tkinter 桌面界面。 - 生成结构化的取证 PDF 报告,包含执行摘要、事件索引、时间线、详细发现、IoC、MITRE 映射、证据价值和响应措施。 - 支持通过 AbuseIPDB、VirusTotal 和 NVD CVE 数据源进行可选的实时情报丰富。 ## 架构 ``` flowchart LR A["Raw CTI, SIEM logs, CVEs, hashes, IPs"] --> B["Input splitting and normalization"] B --> C["TF-IDF + Logistic Regression pipeline"] B --> D["IoC, entity, and TTP extraction"] C --> E["Severity prediction and confidence"] D --> F["Forensic calibration and MITRE-style mapping"] E --> F F --> G["Web dashboard / Tkinter GUI"] F --> H["Forensic PDF report"] F --> I["Optional live enrichment: AbuseIPDB, VirusTotal, NVD"] ``` ## 截图与图表 ### Web 仪表板 ![CTI.ENGINE 仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/20/20070985fe8e1c49270500eee1b1bb6ea3e7d54bec22c2b7cbfb0648aecd3382.png) ### 分析结果 ![分析结果仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/9f/9fd7861346a9067cb6a3b7787c09e89234617e0b55993d0c66397603e347cffd.png) ### 模型评估 ![混淆矩阵与分类报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/4e/4e106b2d9da83510fa1aecb53e8e8c76192e2706b890421001932f58cb2fd1e8.png) ### 取证报告输出 ![取证报告摘要](https://static.pigsec.cn/wp-content/uploads/repos/cas/a2/a2fc5b9a5c3d7c603b9a283f435e599aa811137259abdeb714b4a15941abf538.png) 更多项目图表可在 [`docs/figures`](docs/figures) 中查看。 ## 仓库结构 ``` . |-- data/ | |-- raw/ # Recreated locally from source feeds; not committed | `-- processed/ # Rebuilt dataset artifacts; large CSVs are not committed |-- docs/ | |-- figures/ # Thesis/project screenshots and diagrams | |-- API.md | |-- DATASETS.md | `-- MODEL_CARD.md |-- models/ | |-- cti_pipeline.pkl | `-- cti_pipeline_metrics.json |-- scripts/ | |-- build_dataset.py | |-- feature_engineering/ | |-- gui/ | |-- inference/ | |-- models/ | `-- realtime/ |-- utils/ | `-- report_generator.py `-- webapp/ |-- app.py `-- templates/index.html ``` ## 快速开始 1. 创建并激活一个 Python 环境。 ``` python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt ``` 2. 可选:配置实时情报丰富的密钥。 ``` Copy-Item .env.example .env # 编辑 .env 并设置 ABUSEIPDB_API_KEY 和 VT_API_KEY 以进行 live lookups。 ``` 3. 启动 Flask 仪表板。 ``` python webapp/app.py ``` 4. 打开仪表板。 ``` http://127.0.0.1:5000 ``` ## 从 Python 运行推理 ``` from scripts.inference.predict_cti import predict_cti sample = "CVE-2024-3400 active exploitation with webshell and command and control traffic." result = predict_cti(sample) print(result["prediction"]) print(result["confidence"]) print(result["indicators"]) print(result["forensic"]) ``` ## 模型性能 生产模型使用了一个 scikit-learn Pipeline: - 向量化器:`TfidfVectorizer` - 分类器:`LogisticRegression` - N-grams:`(1, 2)` - 最大特征数:`50,000` - 评估:在去除重复数据后进行分层 80/20 拆分 - 清洗后的数据行数:`43,701` - 预留测试集大小:`8,741` - 准确率:`82.45%` 来自 `models/cti_pipeline_metrics.json` 的各类别 F1 分数: | 类别 | Precision | Recall | F1-score | Support | | --- | ---: | ---: | ---: | ---: | | HIGH | 0.7385 | 0.7957 | 0.7661 | 2,389 | | MEDIUM | 0.7990 | 0.8112 | 0.8050 | 3,660 | | LOW | 0.9535 | 0.8681 | 0.9088 | 2,692 | ## 数据来源 训练流程使用了: - MITRE ATT&CK Enterprise 攻击模式描述。 - 2022 年、2023 年和 2024 年的 NIST NVD CVE 数据源。 - APT 活动报告文本。 - 合成的 LOW 严重性行政/安全模板。 - 合成的 MEDIUM 可疑遥测模板。 - 原始的 SIEM 风格样本,涵盖 JSON、CEF、syslog、Suricata、代理和 Windows 风格格式。 出于特意考虑,大型的原始数据源和生成的 CSV 数据集未包含在 GitHub 中。有关重建说明,请参阅 [`docs/DATASETS.md`](docs/DATASETS.md)。 ## API 文档 有关 endpoint 的详细信息,请参阅 [`docs/API.md`](docs/API.md)。 ## 安全说明 请勿提交 API 密钥。实时丰富模块会读取: - `ABUSEIPDB_API_KEY` - `VT_API_KEY` 如果未设置这些变量,应用程序仍会运行,并针对实时丰富功能返回明确的“未配置”消息。 ## 预期用途 本项目是一个研究和分析人员辅助工具。它应该辅助 SOC 分诊和数字取证审查,而不是取代分析人员的判断。所有生成的报告在用于调查记录之前都应经过审查。
标签:Apex, Cloudflare, Flask, IoC提取, MITRE ATT&CK, PDF报告生成, 威胁情报, 安全运营中心(SOC), 开发者工具, 数字取证, 机器学习, 自动化脚本, 逆向工具