larrypeseckis/attck-pulse

GitHub: larrypeseckis/attck-pulse

一个从公开威胁情报报告中提取MITRE ATT&CK技术提及并进行趋势分析的流水线工具。

Stars: 0 | Forks: 0

# attck-pulse 一个摄入公共威胁情报报告、提取 MITRE ATT&CK 技术参考,并生成可查询趋势分析的流水线。 ## 这是什么 公共威胁情报报告(CISA 公告、厂商博客、事件分析文章)持续提及 ATT&CK 技术,但这些提及分散在数百篇文章中,且形式非结构化。本项目将它们整合到一个关系型数据集中,从而你可以提出如下问题: - 哪些技术在过去 90 天内激增? - 哪些信息源覆盖了哪些战术? - 在关于特定威胁行为者的报告中,哪些技术共同出现? ## 这不是什么 这不是商业威胁情报平台的替代品。这不是一个实时警报系统。这不是一个归属判定引擎。这是一个用于公共数据趋势分析的分析师工具。 ## 状态 v1 开发中。当前范围: - CISA 已知被利用漏洞目录 - CISA 网络安全公告 - 微软安全博客 - The DFIR 报告 ## 快速开始 需要 Python 3.12+ 和 PostgreSQL 16+。 ``` # 1. 克隆并进入 git clone attck-pulse cd attck-pulse # 2. 设置环境(使用 uv;conda 同样适用) uv venv source .venv/bin/activate uv pip install -e ".[dev]" # 3. 配置 cp .env.example .env # 编辑 .env 文件,填写您的 Postgres 连接详情 # 4. 初始化数据库 python scripts/init_db.py # 5. 加载 MITRE ATT&CK 技术数据 python scripts/load_attack.py # 6. 运行首个数据摄取器 python scripts/run_ingester.py cisa_kev # 7. 打开笔记本进行分析 jupyter lab notebooks/ ``` ## 架构 ``` ┌─────────────────┐ │ Public sources │ CISA KEV, CISA advisories, MS Security, DFIR Report └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Ingesters │ Source-specific scrapers, normalize to common Report shape └────────┬────────┘ │ ▼ ┌─────────────────┐ │ PostgreSQL │ reports, technique_mentions, techniques, actor_mentions └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Extractors │ Regex (T-numbers) + spaCy NER (technique names) └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Analysis │ Jupyter notebooks, SQL views, ad-hoc queries └─────────────────┘ ``` ## 运行说明 - 摄取器是幂等的。重复运行不会产生重复数据(URL 是去重键)。 - 所有流水线运行记录到 `pipeline_runs` 表。查询此表以验证调度器是否存活。 - 正则表达式提取在摄取期间同步运行。spaCy 提取作为单独的批处理作业运行。 - ATT&CK STIX 捆绑包固定到特定版本(见 `config/sources.yaml`)。请谨慎升级。 ## 方法论 有关提取方法、精度/召回率验证和已知限制,请参见 [方法论.md](METHODOLOGY.md)。 ## 许可证 MIT
标签:CISA, Cloudflare, DFIR报告, Microsoft安全博客, MITRE ATT&CK, PostgreSQL, Python, 公开情报, 威胁情报, 威胁趋势分析, 开发者工具, 情报分析, 技术提取, 技术跟踪, 数据提取, 数据整合, 数据管道, 无后门, 查询分析, 测试用例, 瑞士军刀, 网络安全, 网络诊断, 趋势分析, 软件工程, 逆向工具, 隐私保护