dcartermarshall/threatscribe
GitHub: dcartermarshall/threatscribe
一款由AI驱动的事件响应报告生成工具,可将原始日志自动转换为包含MITRE ATT&CK映射、IOC和HIPAA合规评估的结构化IR报告。
Stars: 0 | Forks: 0
# 🛡️ ThreatScribe
[](https://www.anthropic.com)
[](https://www.python.org/)
[](LICENSE)
[](https://csrc.nist.gov/pubs/sp/800/61/r2/final)
[](https://attack.mitre.org/)
ThreatScribe 可以自动完成事件分类的重体力工作。只需将原始日志输入 — Syslog、Windows安全事件、SIEM的JSON行、CEF — 它就会生成一份完整的事件响应报告,包含时间线、IOC、MITRE ATT&CK映射、遏制措施和HIPAA暴露评估,全部由Claude API驱动。
这是一款由医疗保健网络安全从业者打造的工具,他每天都在实践中处理HIPAA相关问题,而不仅仅是空谈。
## 为什么存在这个工具
在真实的SOC中,分析师被埋没了。一个真实的事件可能涉及数千条日志,跨越邮件网关、身份提供商、EDR和文件服务器。编写事件响应报告 — 这个推动响应和复盘的实际交付成果 — 消耗了本应花在遏制上的数小时。
ThreatScribe缩小了这个差距。结构化、可防御的事件响应报告的初稿在一分钟内就能自动完成。然后由分析师进行验证和发布。
这不是"AI取代分析师"。这是**AI负责写报告,让分析师去做分析。**
## 功能
- **多格式日志摄入** — Syslog、Windows事件日志文本导出、JSON行(CloudTrail、Suricata EVE、Sysmon)、CEF、纯文本。格式自动检测。
- **混合IOC提取** — 快速正则预扫描提取IP、域名、哈希、编码的PowerShell和账户;结果作为锚点反馈到提示中,这样Claude不会遗漏隐藏的指标。
- **结构化JSON输出** — 每份报告都是经过验证的JSON对象,具有固定模式,因此输出可以干净地集成到SOAR管道、工单系统或复盘文档中。
- **MITRE ATT&CK v15映射** — 每个映射的技术都绑定到特定的证据片段。没有虚构的TTP。
- **NIST SP 800-61r2对齐** — 报告章节遵循联邦事件响应生命周期(准备 → 检测与分析 → 遏制、根除、恢复 → 事后)。
- **HIPAA/PHI暴露评估** — 每份报告中都有专门的章节。医疗保健环境需要在每个事件中包含这个,即使是没有触及PHI的事件,因为**负面证据对隐私官来说仍然是证据**。
- **防御性提示** — 系统提示禁止虚构IOC,要求MITRE映射的证据引用,并将不确定性推入明确的"待解决问题"部分,而不是虚构来掩盖。
## 架构
```
┌──────────────────────────────────┐
│ Raw logs (any of 5 formats) │
└────────────────┬─────────────────┘
│
┌───────────────▼────────────────┐
│ parsers.py │
│ • format detection │
│ • normalization & truncation │
└───────────────┬────────────────┘
│
┌───────────────▼────────────────┐
│ enrichment.py │
│ • regex IOC sweep │
│ • RFC1918 / TLD heuristics │
└───────────────┬────────────────┘
│
┌───────────────▼────────────────┐
│ analyzer.py → Claude API │
│ • IR analyst system prompt │
│ • Strict JSON schema │
└───────────────┬────────────────┘
│
┌───────────────▼────────────────┐
│ report_builder.py │
│ • Markdown render │
│ • JSON for SOAR ingestion │
└───────────────┬────────────────┘
│
reports/_.md
reports/_.json
```
## 快速开始
```
# 1. 克隆并设置
git clone https://github.com/dcartermarshall/threatscribe.git
cd threatscribe
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
# 2. 配置您的 API 密钥
cp .env.example .env
# 编辑 .env 并添加您的 Anthropic API 密钥
# 3. 运行示例事件
export $(grep -v '^#' .env | xargs)
python -m src.cli analyze \
--logs samples/healthcare_phishing_radiology/combined.log \
--name "phishing-radiology-2026-04-30" \
--context "Help desk reported 3 radiology users locked out within 30 minutes" \
--out reports/
# 4. 阅读生成的报告
cat reports/*phishing-radiology*.md
```
## 包含的样本事件
每个样本都是现实的、符合医疗保健场景的案例 — 这些不是玩具日志。
| 样本 | 场景 | 测试内容 |
|---|---|---|
| `healthcare_phishing_radiology/` | 相似域名钓鱼 → OAuth设备代码滥用 → SharePoint PHI窃取 | PHI暴露标记、MFA绕过检测、多源关联 |
| `credential_stuffing/` | OpenBullet模式暴力破解 → MFA漏洞 → DC沦陷 | 高容量噪声过滤、TOR/VPS IP识别、横向移动检测 |
| `ransomware_fileserver/` | LockBit风格的文件服务器加密及VSS删除 | 防御规避技术映射(T1490)、备份破坏杀伤链 |
| `insider_data_access/` | 账单专员访问家属+VIP记录 | 细微行为异常、HIPAA隐私权规则上下文、无恶意软件 |
```
# 运行所有示例
for dir in samples/*/; do
name=$(basename "$dir")
python -m src.cli analyze --logs "$dir" --name "$name"
done
```
## 示例输出(摘录)
来自放射科钓鱼样本:
完整样本报告在 `docs/sample_reports/` 中。
## 运行测试
管道(解析器+富化)有完整的单元测试覆盖。这些测试**离线**运行 — 无需API密钥。
```
python -m pytest tests/ -v
```
## 模型选择
| 模型 | 何时使用 | 成本(每百万token) |
|---|---|---|
| `claude-sonnet-4-6`(默认) | 标准事件分类。推理强、快速、便宜。 | 输入$3/输出$15 |
| `claude-opus-4-7` | 深度多源调查、新型TTP、国家级归因工作 | 输入$5/输出$25 |
使用 `--model claude-opus-4-7` 覆盖,或在 `.env` 中设置 `THREATSCRIBE_MODEL`。
典型的事件分析运行约5K输入/3K输出token,因此Sonnet级报告成本约**$0.06**。即使是对50K token证据束进行Opus级深入分析,每份报告也远低于$1.50。
## 路线图
- [ ] 原生EVTX解析器(目前需要文本导出)
- [ ] IOC的STIX 2.1导出
- [ ] Splunk和Elastic SIEM连接器
- [ ] 多事件关联(跨报告的活动分析)
- [ ] 与TheHive/DFIR-IRIS的直接集成以创建工单
- [ ] 为非CLI用户提供的Streamlit Web UI
## 作者
**D'Anthony Carter-Marshall**
网络安全分析师 · CompTIA Security+(SY0-701) · 堪萨斯城,密苏里州
[GitHub](https://github.com/dcartermarshall) · [LinkedIn](https://linkedin.com/in/dcartermarshall
在从堪萨斯大学健康系统3年医疗保健采购岗位转型到安全运营期间构建了该工具,在那里HIPAA合规是日常运营责任 — 而非勾选框。
## 免责声明
ThreatScribe是一款**初稿事件响应工具**,不能替代人类判断。每份输出都应由合格的分析师审查。报告中的HIPAA违规通知语言仅供参考 — 根据45 CFR §§164.400-414的实际违规判定必须通过隐私官。
此仓库中的样本日志完全是合成的。没有真实的患者数据、真实凭证或真实内部系统被引用。
标签:AI安全助手, Claude API, Cloudflare, DAST, HIPAA合规, Homebrew安装, IOC提取, MITRE ATT&CK, NIST SP 800-61, Python, 合规报告, 威胁情报, 安全运营, 库, 应急响应, 开发者工具, 恶意软件分析, 扫描框架, 无后门, 网络安全, 自动化报告, 隐私保护