syedisam05/Automated-Threat-Intelligence-Reporting-Tool

GitHub: syedisam05/Automated-Threat-Intelligence-Reporting-Tool

该工具通过自动化采集、标准化、评分和报告生成,将分散的多源漏洞情报整合为结构化的优先级简报,解决安全团队手动监控和评估威胁效率低下的问题。

Stars: 0 | Forks: 0

# 自动化威胁情报监控与报告工具 这是一个 Python 数据管道,用于从 **CISA KEV** 和 **MSRC RSS** 获取安全公告,对其进行标准化和评分,并自动生成结构化的单页简报——全程无需人工干预。 ## 功能 | 功能 | 详情 | |---------|--------| | **多源数据获取** | CISA Known Exploited Vulnerabilities (KEV) 目录 + Microsoft MSRC RSS 源 | | **字段标准化** | 跨数据源统一 schema —— `id`、`severity`、`cve_ids`、`tags`、`in_kev` 等 | | **综合评分** | CVSS + 严重性级别 + KEV 状态 + CVE 存在情况 + 高危标签 → 0–10 分 | | **结构化导出** | JSON + CSV,且保持一致的列顺序 | | **单页简报** | 自动生成 Markdown 报告,包含执行摘要、十大威胁表格和详细条目 | | **可重复运行** | 带时间戳的运行;原始数据、处理后的数据和报告输出分开存储 | ## 项目结构 ``` threat-intel/ ├── main.py # CLI entry point ├── requirements.txt ├── pipeline.log # Runtime log (auto-created) ├── src/ │ ├── pipeline.py # Orchestrator: ingest → normalize → score → export → report │ ├── normalizer.py # Maps raw source fields to unified schema │ ├── scorer.py # Composite priority scoring (0.0–10.0) │ ├── exporter.py # JSON + CSV exports │ ├── reporter.py # 1-page Markdown brief generator │ └── ingestors/ │ ├── base.py # Abstract base ingestor │ ├── cisa_kev.py # CISA KEV JSON catalog │ └── msrc_rss.py # Microsoft MSRC RSS feed ├── data/ │ ├── raw/ # Raw ingested JSON (timestamped) │ └── processed/ # Normalized + scored JSON and CSV ├── reports/ # Generated Markdown briefs └── tests/ └── test_pipeline.py # pytest unit tests ``` ## 快速开始 ``` # Install dependencies (only pytest + optional rich) pip install -r requirements.txt # Run the full pipeline python main.py # Run only the CISA KEV source python main.py --sources cisa # Run without saving raw data python main.py --no-raw # Validate imports without fetching python main.py --dry-run # Run tests python -m pytest tests/ -v ``` ## 评分逻辑 每个公告都会获得一个综合分数 (0–10): | 维度 | 权重 | 说明 | |-----------|--------|-------| | CVSS 基础分 | 0–4.0 | `cvss / 10 * 4` | | 严重性级别 | 0–3.0 | Critical=3, High=2, Medium=1, Low=0.5 | | 在 CISA KEV 中 | +2.0 | 已确认的主动利用 | | 包含 CVE ID | +0.5 | 存在标准化标识符 | | 高危标签 | +0–1.0 | RCE、zero-day、勒索软件、绕过认证 (auth-bypass)、内存破坏 | **优先级标签:** CRITICAL (≥8.0) · HIGH (6–7.9) · MEDIUM (4–5.9) · LOW (2–3.9) · INFO (<2) ## 输出文件 每次运行后,都会生成三个带有时间戳的输出: ``` data/raw/raw_YYYYMMDD_HHMMSS.json # Raw API/feed responses data/processed/advisories_YYYYMMDD_HHMMSS.json # Normalized + scored data/processed/advisories_YYYYMMDD_HHMMSS.csv # Same data, flat CSV reports/brief_YYYYMMDD_HHMMSS.md # 1-page Markdown brief ``` ## 添加新数据源 1. 创建 `src/ingestors/your_source.py`,继承自 `BaseIngestor` 2. 实现 `fetch() → List[dict]`,并为每条记录标记 `_source = "YOUR_SOURCE"` 3. 在 `src/normalizer.py` 中添加标准化函数,并将其注册到 `_NORMALIZERS` 中 4. 在 `src/pipeline.py` 中将获取器添加到 `ingestors` 列表 ## 环境要求 - Python 3.10+ - 无外部运行时依赖(仅使用标准库:`urllib`、`xml`、`csv`、`json`、`re`) - 使用 `pytest` 进行测试
标签:Python, 威胁情报, 安全报告, 安全规则引擎, 开发者工具, 数据处理管道, 无后门, 漏洞分析, 网络调试, 自动化, 路径探测, 逆向工具