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, 威胁情报, 开发者工具, 无后门, 特权检测, 网络安全, 逆向工具, 隐私保护