paladin316/spark-byo-secai
GitHub: paladin316/spark-byo-secai
SPARK 是一个分析师驱动的威胁情报运营平台,通过本地优先的 AI 增强将情报端到端转化为狩猎和检测策略。
Stars: 7 | Forks: 0
# SPARK — 面向分析、研究与知识的安全 Playbook
*(由 BYO-SECAI 提供支持)*
**SPARK (Security Playbook for Analytics, Research, and Knowledge)** 是一个由分析师驱动的开源平台,它将 AI 作为**增强层**,将威胁情报转化为可执行的威胁狩猎、发现和检测策略 —— 实现端到端覆盖。
SPARK 专为希望在不牺牲透明度、控制力或判断力的前提下加快响应速度的威胁猎人、检测工程师和应急响应人员而构建。
## 实时演示(模拟模式)
SPARK 包含一个**模拟模式**,专为引导式演练和探索而设计,无需本地资源或实时遥测数据。
此模式允许用户:
- 体验完整的 **Intel → Hunt → Run → Findings → ADS** 生命周期
- 调整参数并查看输出如何变化
- 探索基于既定事实的** Workspace 聊天体验**
如需使用完整功能(本地 RAG 摄取、持久化 Workspace 状态和实际处理),请在本地运行 SPARK。
🔗 实时演示应用:
https://spark-byo-secai-y3d3jn6gkd99vvvlzqrp7g.streamlit.app/
## 为什么需要 SPARK
威胁情报很丰富 —— 但可操作的成果却并非如此。
安全团队通常会收集报告、通告和指标,然而从 **情报 → 狩猎 → 发现 → 检测** 的转化往往是手动的、不一致的,并且会随着时间的推移而丢失。上下文会淡化,假设会消失,检测也会变得与证明其合理性的情报脱节。
SPARK 的存在正是为了弥合这一差距,它通过保留**分析师的推理、可追溯性和意图**,同时利用 AI 来减少机械性工作 —— **而不是取代判断力**。
**SPARK 中的 AI 是基于 RAG 且内容无关的:**没有捆绑的语料库,没有网络推理 —— 只有分析师提供的知识。
## 威胁狩猎理念
SPARK 建立在从业者驱动的威胁狩猎理念之上,强调行为分析、假设驱动的狩猎以及持久的检测成果。
SPARK 不是仅仅关注警报或 IOC,而是旨在支持在*空白领域*进行狩猎 —— 这正是高级威胁运作的地方。
有关详细信息,请参阅 [`docs/01_concepts/threat-hunting-philosophy.md`](docs/01_concepts/threat-hunting-philosophy.md)。
有关 SPARK 如何定义情报并将其转化为可操作的深入解释,请参阅
[`可操作的威胁情报`](docs/01_concepts/operational-threat-intelligence.md)。
## SPARK 是什么(以及不是什么)
### SPARK **是**:
- **分析师驱动和审查优先** — 人类的判断是最终的决定
- **AI 增强,而非 AI 专断** — AI 提供协助;它不做决定
- **可追溯** — 每一个检测都能链接回原始情报
- **本地优先** — 为可审计性和隐私而设计
### SPARK **不是**:
- 自动化的 SOC 或警报引擎
- 黑盒 AI 决策系统
- 仅基于 IOC 的检测平台
- 分析师专业知识的替代品
SPARK 使用具有特定倾向的术语,以保持分析的意图和可追溯性。
有关整个项目中使用的定义,请参阅[`术语表`](docs/01_concepts/terminology.md)。
## 文档
- 📘 [概念与理念](docs/01_concepts/)
- 🧠 [架构与设计](docs/architecture/)
- 🧩 [模板](docs/templates/)
- 🚀 [演示与示例](docs/demo/)
- 🔧 [安装与配置](docs/setup/)
- 🔐 [安全](SECURITY.md)
- 🗺️ [路线图](ROADMAP.md)
## SPARK 的工作原理
SPARK 通过一个结构化的、分析师驱动的生命周期,将威胁情报转化为经过验证的检测,从而使其具备可操作性。
每个阶段都旨在保留上下文、强制执行验证并保持可审计性。
## 检索增强生成 (RAG) 模型
SPARK 采用**检索增强生成 (RAG)** 方法,确保 AI 辅助基于分析师提供的上下文。
### 这意味着什么
SPARK 中的 AI 建议完全从**本地可用且经分析师批准的 artifact**(例如 Intel Brief、Hunt Package、Finding、检测策略文档以及其他用户摄取的材料)中生成。
SPARK **不附带预加载的知识库**,也**不依赖互联网通用知识**来推断检测或生成内容。AI 输出的质量和相关性直接取决于您选择提供的内容。
### 为什么这很重要
- **减少幻觉** — AI 保持在可审查的范围内
- **保留意图** — 输出保持可解释性并由分析师掌控
- **可重复** — 一致的狩猎和检测开发
- **特定于环境** — 反映*您的*遥测数据和优先级
### 内容责任(自带知识)
SPARK 在设计上是内容无关的。用户需要摄取自己的材料,包括内部文档、公开的威胁报告、检测仓库或开源狩猎资源。
有关获取和组织 RAG 内容的指南,请参阅
[`docs/getting-started/rag-starter-content.md`](docs/getting-started/rag-starter-content.md)
## 分析师 Workspace
SPARK 提供了一个持久化的**分析师 Workspace**,作为连接情报、狩猎、发现和检测的纽带。
将 **Notebook Workspace** 视为一个威胁情报笔记本,它随时间记录分析推理、决策和假设。
SPARK 包含:
- 一个用于探索性分析的**聊天优先的 Notebook Workspace**
- 一个管理 artifact 生命周期和提升的**Platform Workspace 模型**
### Workspace 流程(高层概览)
```
Notebook Workspace (analysis & reasoning)
↓
Platform Workspace (validated artifacts & lifecycle)
```
参见:
- `docs/architecture/workspace-chat-notebook.md`
- `docs/architecture/workspace-platform.md`
## SPARK 实战演示(快速 walkthrough)
### 结构化的威胁情报

SPARK 将原始的可操作情报转化为结构化的、经分析师验证的威胁报告。
叙述性上下文、指标和 MITRE ATT&CK 技术保持关联且可审计。
### 结构化的威胁狩猎

SPARK 将情报转化为结构化的 Hunt Package,捕获假设、范围、数据源和查询 —— 同时不会丢失上下文或过度自动化结论。
### 检测策略编写

SPARK 通过将经过验证的 Finding 转化为可操作的检测策略来完成闭环,包括响应指导和已知的盲点。
## 安全与网络控制
### 设计上的本地优先
- 默认情况下不需要云 LLM
- 兼容本地 LLM(例如 Ollama)
- 无隐藏的遥测或自动数据外发
### Prompt Injection 意识
SPARK 包含对安全内容中指令式模式的轻量级检测,旨在**通知分析师**,而不是阻断工作流程。
### 代理支持
为受限的企业环境提供可选的出站代理配置。
## 快速开始
1. **安装依赖**
```
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
```
2. **(可选)确保 Ollama 正在运行**
```
ollama pull llama3.1
```
3. **在本地运行 SPARK**
```
streamlit run app.py
```
## 数据与存储
默认情况下,所有 artifact 都存储在本地:
- `./data/artifacts/` — 结构化的 JSON artifact
- `./data/exports/` — 人类可读的 Markdown 导出
除非用户明确配置,否则不会将任何数据传输到外部。
## 许可证
**Apache-2.0**
## 致谢与鸣谢
SPARK(由 BYO-SECAI 提供支持)免费向社区开放。
如果这个项目、其概念、工作流或文档对您有所帮助 —— 或者您在自己的工作中借鉴了 SPARK 的想法 —— 请在适当的地方引用或提及本项目。
致谢是我们最希望得到的支持形式。
标签:AI风险缓解, Kubernetes, Python, RAG, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 逆向工具