EBWi11/AgentSmith-HUB
GitHub: EBWi11/AgentSmith-HUB
企业级安全数据管道平台,整合实时规则引擎与 LLM 代理,解决高吞吐日志处理与威胁检测难题。
Stars: 239 | Forks: 38
# AgentSmith-HUB
[](https://github.com/EBWi11/AgentSmith-HUB/releases)
[](./LICENSE)
**一个高性能安全数据管道,内置实时规则引擎和深度集成的 LLM 代理 —— 为现代 SOC 和检测工程团队而构建。**
以大规模处理、丰富、关联和响应数据——通过基于 XML 的简单规则、CEP、丰富的插件以及直接集成到数据流中的 AI 驱动分析。

## 为什么选择 AgentSmith-HUB?
如果你从事安全运营,你每天都会处理大量原始日志和告警。你需要对它们进行标准化、丰富、关联和路由,并 ideally 实时检测威胁,而不是在批处理作业中。AgentSmith-HUB 旨在一个统一的、经过深思熟虑的平台中处理这一切:
- **高信噪比检测,而非仪表盘** — 使用简单、可读的 XML 规则设计实时检测和数据转换,而不是临时脚本
- **在规模上极快** — 仅用 2 个 vCPU 即可达到 3.90M 消息/秒 ([基准测试](docs/performance-testing-report.md));设计用于直接部署在你的 SIEM / 数据湖前端
- **一体化管道** — 输入、标准化、丰富、关联和输出在一个流程中;不再需要在 Kafka、ES、ClickHouse 和“规则引擎”之间编写胶水脚本
- **一流的 CEP** — 使用 ``、``、`` 和 `` 检测有序事件序列、缺失模式以及多源随时间关联
- **流中的 LLM 代理** — 将 LLM 驱动的代理插入同一管道,用于告警分级、丰富、规则生成和自动白名单
- **评论到记忆学习循环** — 将来自 Agent Tools 日志的评审员评论转换为持久的 `memory_notes`,自动提交更新并持续改进代理行为
- **技能系统** — 通过 Skills 将知识库和操作工具附加到代理上,支持渐进式披露以保持提示精简且快速
- **丰富的插件生态系统** — 威胁情报(VirusTotal、ThreatBook、Shodan)、GeoIP、编码、正则表达式、时间/窗口助手、LLM 调用等
- **开箱即用的生产特性** — 集群模式、健康检查、每日统计、示例数据、推送变更/评审流程,以及用于规则和项目编排的现代化 Web UI
### 适用对象
- **SOC / CERT / CSIRT 团队**:希望拥有一个经过深思熟虑的阵地来运行检测、分级告警并减少误报,而无需从零开始构建自己的引擎。
- **检测工程师 / 威胁狩猎者**:关注 CEP、阈值,并精确控制告警触发时机(以及不应触发时)。
- **安全平台 / 数据团队**:已经拥有 Kafka / ES / ClickHouse,并希望有一个轻薄、快速、开放的平台来编排安全数据流和 LLM 驱动的分析。
## 它是如何工作的?
AgentSmith-HUB 使用一个直接的管道模型:
```
INPUT (Kafka / SLS / ...) → RULESET / AGENT → RULESET / AGENT → OUTPUT (Kafka / ES / ClickHouse / SLS / ...)
```
规则集和代理可以在一个 **项目(Project)** 中自由链式调用,让你可以完全控制数据流,并在同一数据流中混合“硬”规则与“软”LLM 判断:

### 核心组件一览
- **INPUT**:连接到 Kafka、阿里云云日志服务(SLS)以及云托管 Kafka 变体等流式源;支持 Grok 解析和 JSON,以便一次标准化,到处复用。
- **RULESET**:基于 XML 的实时规则引擎,支持检查(checks)、检查列表(checklists)、阈值(count / SUM / CLASSIFY)、CEP 序列、迭代器,以及数据的追加/修改/删除,所有操作严格按照编写顺序执行。
- **AGENT**:运行在与规则集同一管道中的 LLM 驱动节点;对于每个事件,它可以调用 LLM(配合工具和技能)进行评分、丰富,或自动生成规则/白名单,然后将增强后的事件向下游转发。
- **OUTPUT**:将处理后的数据发送到 **Kafka**、**Elasticsearch**(v7/v8/v9)、**ClickHouse** 或简单的打印输出;支持批量处理、基于时间的刷新、TLS/认证,以及用于安全交付的幂等 Kafka 生产者。
- **SKILL**:为代理提供可复用的能力模块——知识技能可按需加载(渐进式披露),内置技能提供 Go 实现的工具(例如用于规则集 CRUD 的 `hub_ruleset_editor`)。
- **PLUGIN**:可扩展的功能系统,支持检查、丰富和操作:GeoIP、URL 解析、编码、时间窗口助手、威胁情报查询、单次 LLM 调用等,所有功能都可在规则中直接组合使用。
### Web UI 与 API 亮点
- **可视化规则与项目编辑**:功能丰富的浏览器 UI,支持带语法提示、校验和 GIF 级反馈的规则编辑;支持拖拽式项目编排以定义 `INPUT → RULESET / AGENT → OUTPUT` 流程。
- **一键测试无处不在**:为 **Output**、**Ruleset**、**Plugin**、**Agent** 和 **Project** 组件内置测试运行器(包含样本数据采集),以便在影响真实输出前验证变更。
- **运维、错误与集群视图**:提供错误日志、操作历史(项目启动/停止/重启、配置变更、代理工具调用)和基础集群状态的独立视图,让你清楚了解何处正在运行什么。
- **安全的变更管理**:所有编辑都经过临时配置、差异对比与评审,然后点击 **推送变更(Push Changes)** 才应用;平台会自动识别受影响的项目并安全重启。
- **用于自动化的 HTTP API**:JSON API 镜像 UI 功能(组件 CRUD、项目生命周期、测试),可将 AgentSmith-HUB 集成到 CI/CD、内部门户或自动化脚本中。
## 60 秒了解规则引擎
AgentSmith-HUB 的核心是一个为安全检测而设计的流式规则引擎:
- **检查与检查列表**:支持字符串、数字、正则表达式和插件匹配;使用 AND/OR/NOT 逻辑表达式组合条件。
- **阈值与窗口**:在滑动时间窗口内检测频率、求和或唯一计数(例如暴力破解、喷洒、渗出)。
- **CEP 序列**:使用 `` 表达有序的多事件模式和缺失(例如 `login -> !mfa`, `recon -> exploit -> exfil`)。
- **数据整形**:在原地丰富、修改或删除字段,并调用插件以引入外部上下文或计算派生字段。
一个最小示例,用于丰富威胁情报并基于增强字段进行检测:
```
threatbook(src_ip)
high
critical
```
完整语法(所有操作、模式和最佳实践)请参考 [完整指南](docs/agentsmith-hub-guide.md)。
### LLM 代理与技能
代理是与规则集并列位于管道中的 LLM 驱动组件。它们独立处理事件,调用 LLM 并使用工具支持,然后将增强结果向下游转发。
```
# Agent: AI-powered alert triage
model: gpt-4o-mini
system_prompt: |
For each alert, add llm_confidence (0-1) and llm_analysis fields.
skills:
- hub_ruleset_expert # Knowledge skill: rules engine reference
tools: all # Expose all plugins as LLM tools
max_rounds: 3
timeout: 30s
# 可选长期记忆(推荐以 YAML 序列形式存储)
memory_notes:
- Keep output JSON compact and stable.
- Treat routine CI scanner traffic as lower priority unless other signals exist.
```
**技能(Skills)** 为代理提供模块化能力:
- **知识技能**:按需加载的参考文档(渐进式披露)
- **内置技能**:Go 实现的工具(例如用于读写规则集的 `hub_ruleset_editor`)
快速生产建议:
- 默认优先使用 `tools: []`,仅允许列表所需的插件工具。
- 仅在需要通用助理代理(规则编写/深度分级)时使用 `tools: all`。
- 在集群模式下,内存写入/生成操作必须发送到 **Leader 节点**。
像使用其他组件一样在项目中使用代理:
```
content: |
INPUT.kafka_alerts -> AGENT.alert_reviewer
AGENT.alert_reviewer -> OUTPUT.enriched_alerts
```
有关代理的完整字段说明(如 `reasoning_mode`、`reasoning_budget_tokens`、`memory_notes` 以及 UI/API 中的内存工作流),请参考 [完整指南](docs/agentsmith-hub-guide.md#14-agent-syntax-description)。
## 内置检测规则集
AgentSmith-HUB 附带生产就绪的检测规则集,可立即部署——无需编写规则。所有规则均映射到 [MITRE ATT&CK](https://attack.mitre.org/),以便与你的安全工作流无缝集成。
### 内置 K8s 规则集文件
AgentSmith-HUB 开箱即用地包含 Kubernetes 安全规则集。你可以不经编写自定义 XML 直接使用:
- `config/ruleset/k8s_security/k8s_audit_baseline.xml`
- `config/ruleset/k8s_security/k8s_audit_intrusion.xml`
推荐的新手引导流程:
1. 导入这两个内置规则集。
2. 在项目中路由 Kubernetes 审计日志到这些规则集。
3. 使用真实样本事件在测试模式下验证检测结果。
4. 根据集群的正常行为调整阈值(如需要)。
###mon 终端安全(Windows)
提供两套 Sysmon 规则集,适用于中/高置信度终端检测场景:
- `config/ruleset/sysmon_security/sysmon_baseline.xml`
- `config/ruleset/sysmon_security/sysmon_intrusion.xml`
- `config/ruleset/sysmon_security/sysmon_exclude.xml`(严格允许列表模板)
Sysmon 的推荐新手引导流程:
1. 确保输入标准化了规则集所需的核心里由字段。
2. 先导入并测试 `sysmon_baseline.xml`,验证行为。
3. 再导入 `sysmon_intrusion.xml`,并根据终端基线进行调整。
4. 如需要,使用单独的 EXCLUDE 规则集添加环境特定允许列表。
更多适用于其他数据源的内置规则集正在规划中。欢迎贡献!
## 功能一览
## 部署
1. 下载并解压发行包到 `/opt/agentsmith-hub`
2. 复制配置文件夹:`cp -r /opt/agentsmith-hub/config /opt/hub_config`
3. 在 `/opt/hub_config/config.yaml` 中配置 Redis
4. 启动服务:
# Leader 模式(默认)
./start.sh
# Follower 模式(使用与 Leader 相同的 Redis)
./start.sh --follower
# 查看所有选项
./start.sh --help
5. 首次运行会在 `/etc/hub/.token` 生成访问令牌
6. 安装并配置 Nginx:
sudo cp /opt/agentsmith-hub/nginx/nginx.conf /etc/nginx/
sudo nginx -s reload
7. 在浏览器中打开 `http://your-host`(端口 80)
## 文档
- [完整指南](docs/agentsmith-hub-guide.md) | [中文指南](docs/agentsmith-hub-guide-zh.md)
- [性能测试报告](docs/performance-testing-report.md)
## 许可证
AgentSmith-HUB 根据 [Apache License 2.0](./LICENSE) 授权,并附带 Commons Clause 限制。
你可以自由使用、修改和部署该软件——限制仅阻止将其作为商业产品或服务出售;企业内部使用完全允许。
| **规则编辑**  | **规则测试**  |
| **项目编排**  | **插件测试**  |
| **输入连接检查**  | **搜索**  |
| **错误日志与操作历史**  | **评论到记忆学习循环**  |
标签:AI增强安全, API集成, CEP, ClickHouse, Elasticsearch, EVTX分析, Gradle集成, JS文件枚举, Kafka, LLM智能体, SIEM集成, SonarQube插件, XML规则, 事件关联, 事件路由, 云端原生, 云计算, 低延迟, 信号增强, 内存学习循环, 去脚本化, 可观测性, 告警处理, 复杂事件处理, 大规模数据处理, 安全数据管道, 安全运营中心, 实时分析, 实时威胁检测, 性能基准, 技能系统, 插件架构, 搜索引擎查询, 数据富化, 数据湖, 日志审计, 日志归一化, 有状态流处理, 流处理, 网络映射, 自动化响应, 规则引擎, 评论驱动学习, 调试插件, 逆向工具, 高吞吐