arzu4u/argus
GitHub: arzu4u/argus
Argus 是一个可在普通硬件上运行的轻量级安全情报平台,通过自动收集威胁情报、提取实体、构建知识图谱并对信息进行优先级排序,帮助安全分析师快速识别值得调查的安全事项。
Stars: 0 | Forks: 0
# Argus
**面向分析师的轻量级安全运营情报**
Argus 是一个轻量级安全情报平台,可收集威胁情报、关联安全信息、确定事项优先级,并生成可操作的每日简报——所有这些都能在普通硬件上运行。
Argus 不会用数百条新闻标题和 CVE 让您不知所措,而是旨在回答一个更简单的问题:
以 **Argus Panoptes** 命名,他是希腊神话中拥有多只眼睛的守望者。
## 为什么选择 Argus?
企业级 SIEM 和 XDR 平台擅长监控大型基础设施,但它们通常需要大量的资源、许可证和运维开销。
另一方面,RSS 阅读器和 CVE 订阅源虽然提供了信息,但需要分析师手动判断哪些内容重要。
Argus 探索了一种不同的设计理念:
* 足够轻量,可在普通硬件上运行。
* 具有明确的倾向性,能够确定优先级,而不是简单地列出数据。
* 足够透明,能够解释每一条建议。
* 足够诚实,在证据不足时会坦诚说明。
Argus 并非要取代现有的安全工具,而是作为一个情报层,帮助分析师快速识别哪些内容值得调查。
# 功能
### 威胁情报收集
* 从 NVD 收集 CVE。
* 从以下来源收集专注于安全的情报:
* CISA
* Krebs on Security
* 通过 YAML 配置的可定制来源。
### 实体提取
使用专为低资源系统设计的基于轻量级 regex 的 pipeline,提取组织、产品、恶意软件家族、CVE、IP 和其他安全实体。
在提取之前会先清理 HTML,以避免提取到导航菜单、页脚和无关的页面内容。
### 知识图谱
使用基于邻近度的共现关系而非全局文档匹配来构建实体关系图,从而在安全概念之间产生更有意义的关系。
### 历史情报
每次获取的数据都存储在 SQLite 中,而不是替换以前的结果。
这使得以下功能成为可能:
* 实体趋势分析
* 新观察到的指标
* 历史对比
* 频率分析
### 优先级划分
Argus 使用以下因素对信息进行排名:
* CVSS 严重程度
* 关注列表匹配
* 来源佐证
* 历史观测
它不会展示数百条记录,而是呈现优先级最高的项目。
### AI 辅助分析 *(可选)*
借助 Google 免费的 Gemini API,Argus 能够解释为什么某个实体或 CVE 值得关注。
该模型被刻意限制为仅基于收集到的源材料进行回答。
如果缺少证据,Argus 会明确报告:
它不会捏造缺失的信息。
### MITRE 映射
使用显式查找表将 CWE 弱点映射到 MITRE ATT&CK 技术。
未知的映射将保持未知状态,而不会通过推断得出。
### 报告
生成多种格式的单一规范情报简报:
* Markdown
* HTML
* PDF
* JSON
所有格式均基于相同的内部数据模型渲染,以确保一致性。
### 接口
Argus 可以通过以下任一方式使用:
* 交互式 Streamlit 仪表板
* 命令行界面
两者共享同一个后端实现。
# 示例工作流
```
Threat Sources
│
▼
Entity Extraction
│
▼
Knowledge Graph
│
▼
Historical Storage
│
▼
Priority Engine
│
▼
Daily Intelligence Brief
```
# Argus 不做的事情
Argus 有意避免做出它无法证实的声明。
它目前**不**做以下判断:
* 漏洞是否在野被积极利用。
* 您自己的基础设施是否受到影响。
* 自动实体解析(例如 "Microsoft" 和 "MSFT" 的区分)。
* 威胁行为者归因。
* 攻击活动跟踪。
* Sigma 或 YARA 生成。
* 资产清单关联。
这些功能需要额外的数据源,并且超出了当前的范围。
# 安装
```
git clone
cd argus
python3 -m venv venv
source venv/bin/activate
pip install pydantic \
pyyaml \
requests \
beautifulsoup4 \
networkx \
langgraph \
chromadb \
reportlab \
streamlit \
pandas
```
可选(AI 扩充):
```
export GEMINI_API_KEY="your-api-key"
```
# 使用方法
## 仪表板
```
streamlit run streamlit_app.py
```
可用的视图包括:
* 仪表板
* 每日简报
* 优先级动态
* 警报
* CVE
* 趋势
* 知识图谱
## CLI
获取情报
```
python3 cli.py fetch
```
仅安全来源
```
python3 cli.py fetch --category security
```
AI 扩充
```
python3 cli.py fetch --enrich --enrich-limit 10
```
生成优先级列表
```
python3 cli.py triage --watchlist "Fortinet,Ivanti"
```
知识图谱
```
python3 cli.py graph --top 10
python3 cli.py graph --neighbors "Samsung"
```
趋势
```
python3 cli.py trending
python3 cli.py trending --new
```
CVE
```
python3 cli.py cves --hours 48
```
警报
```
python3 cli.py alerts --threshold CRITICAL
```
生成报告
```
python3 cli.py brief --format markdown
python3 cli.py brief --format pdf
python3 cli.py brief --format json
```
# 配置
威胁来源通过以下方式配置:
```
config/sources.yaml
```
每个源定义了:
* 类别
* 权重
* 启用/禁用状态
添加或删除源无需修改代码。
# 架构
```
config/
└── sources.yaml
│
▼
connectors/
├── web_connector.py
└── cve_connector.py
│
▼
core/
├── service.py
├── enrichment.py
├── graph.py
├── history_store.py
├── alerts.py
├── triage.py
├── attack_mapping.py
├── clustering.py
├── brief_builder.py
└── renderers.py
│
▼
CLI
Dashboard
Reports
```
# 路线图
当前
* 威胁情报收集
* CVE 摄取
* 知识图谱
* 历史存储
* 每日情报简报
* 优先级排名
计划中
* EPSS 集成
* CISA 已知被利用漏洞 (KEV)
* IOC 提取
* Sigma 规则生成
* 资产清单关联
* 威胁行为者情报
* 检测工程支持
# 设计原则
Argus 基于以下几个简单原则构建:
* 信号优先于数量。
* 解释每一条建议。
* 保留历史上下文。
* 保持轻量级。
* 绝不捏造缺失的证据。
# 许可证
MIT
标签:Kubernetes, Python, SOC分析, SQLite, 威胁情报, 开发者工具, 无后门, 特权检测, 网络安全, 逆向工具, 隐私保护