Bharath-2204/Ugroza-A-Threat-Intelligence-Engine
GitHub: Bharath-2204/Ugroza-A-Threat-Intelligence-Engine
Ugroza 是一个利用 LLM 自动聚合多源开源情报、生成结构化且可溯源的网络威胁情报档案的 AI 平台。
Stars: 0 | Forks: 0
# Ugroza:一个威胁情报引擎
Ugroza(得名于俄语中的“威胁”一词)是一个 AI 辅助的网络威胁情报(CTI)平台,可自动收集、聚合和分析开源情报(OSINT)。
该平台从受信任的供应商报告和政府公告中收集情报,将发现的结果映射到 MITRE ATT&CK 框架,并使用 Amazon Bedrock(Llama 3.1)生成结构化的威胁档案。每份生成的报告都有原始来源材料作为支撑,以提供可验证的审计追踪。
## 功能
- **确定性威胁情报提取**
- 使用 Amazon Bedrock(Llama 3.1 8B Instruct)
- Temperature 设置为 **0.0** 以确保一致、可重复的输出
- 具有固定 schema 的结构化 JSON 生成
- **MITRE ATT&CK 集成**
- 查询官方 ATT&CK 数据集
- 自动映射别名、技术和战术
- **多源情报收集**
- 政府公告(CISA)
- 商业 CTI 供应商
- MITRE ATT&CK
- 其他受信任的 OSINT 来源
- **SQLite 情报缓存**
- 存储生成的威胁档案
- 保留原始源文本以供验证
- 减少重复的 API 请求和处理成本
- **交互式 Streamlit 仪表板**
- 高密度指标
- 杀伤链可视化
- 威胁行为者摘要
- 来源验证
- **安全凭证管理**
- 使用 Streamlit Secrets
- 无硬编码的 AWS 凭证
# 项目结构
```
ugroza/
│
├── app.py
├── scrapers.py
├── llm.py
├── database.py
├── requirements.txt
└── .streamlit/
└── secrets.toml
```
# 模块概述
## `scrapers.py`
负责从多个来源收集情报。
功能包括:
- 并行供应商搜索
- MITRE ATT&CK API 集成
- 文本清洗
- 模板化内容移除
- 搜索范围过滤
## `llm.py`
处理与 Amazon Bedrock 的通信。
职责:
- Prompt 构建
- 结构化 JSON 生成
- 确定性推理
- JSON 验证与修复
- 输出解析
## `database.py`
SQLite 持久层。
存储:
- 结构化威胁档案
- 收集到的原始源文本
并在启动期间执行自动 schema 迁移。
## `app.py`
Streamlit 前端。
提供:
- 平台配置
- 搜索深度控制
- 交互式杀伤链选项卡
- 威胁行为者摘要
- 缓存的调查历史
# 安装
## 要求
- Python 3.9+
- AWS Account
- Amazon Bedrock 访问权限
- 启用 Llama 3.1 模型
克隆代码库:
```
git clone https://github.com/yourusername/ugroza-threat-intelligence-engine.git
cd ugroza-threat-intelligence-engine
```
安装依赖项:
```
pip install -r requirements.txt
```
# 配置
创建 Streamlit secrets 目录。
```
mkdir .streamlit
touch .streamlit/secrets.toml
```
配置示例:
```
[aws]
aws_access_key_id="YOUR_KEY"
aws_secret_access_key="YOUR_SECRET"
aws_region="YOUR_REGION"
```
# 运行
```
streamlit run app.py
```
# 典型工作流
1. 配置搜索范围
- MITRE ATT&CK
- 政府公告
- 商业 CTI
2. 调整搜索深度
3. 搜索威胁行为者
```
SCATTERED SPIDER
```
4. 查看生成的档案
- 归属分析
- 杀伤链
- MITRE 映射
- 关联恶意软件
- 来源验证
5. 将调查保存至本地 SQLite 数据库
# 技术栈
| 组件 | 技术 |
|-----------|------------|
| 前端 | Streamlit |
| LLM | Amazon Bedrock |
| 模型 | Llama 3.1 8B Instruct |
| 数据库 | SQLite |
| 威胁框架 | MITRE ATT&CK |
| 语言 | Python |
# 路线图
Ugroza 仍在不断发展。下一个主要里程碑是添加原生的 STIX/TAXII 导出支持,以便情报档案可以直接被企业威胁情报平台、SIEM 和 SOAR 工作流使用,而无需手动转换。
我还正在通过增加更多高质量的情报来源来扩展收集引擎,同时改进 enrichment pipeline,以提供更深入的 MITRE ATT&CK 映射、基础设施关系和攻击活动归属。长期目标是使 Ugroza 成为一个实用的、以分析师为中心的 CTI 平台,在缩短研究时间的同时,确保每一个生成的洞察都能完全追溯到其原始来源。
标签:Cloudflare, DLL 劫持, ESC4, Kubernetes, MITRE ATT&CK, OSINT, Streamlit, 人工智能, 大语言模型, 威胁情报, 开发者工具, 用户模式Hook绕过, 网络安全, 访问控制, 逆向工具, 隐私保护