EBWi11/AgentSmith-HUB

GitHub: EBWi11/AgentSmith-HUB

企业级安全数据管道平台,整合实时规则引擎与 LLM 代理,解决高吞吐日志处理与威胁检测难题。

Stars: 239 | Forks: 38

# AgentSmith-HUB [![GitHub release](https://img.shields.io/github/v/release/EBWi11/AgentSmith-HUB)](https://github.com/EBWi11/AgentSmith-HUB/releases) [![License](https://img.shields.io/badge/license-Apache%202.0%20with%20Commons%20Clause-blue)](./LICENSE) **一个高性能安全数据管道,内置实时规则引擎和深度集成的 LLM 代理 —— 为现代 SOC 和检测工程团队而构建。** 以大规模处理、丰富、关联和响应数据——通过基于 XML 的简单规则、CEP、丰富的插件以及直接集成到数据流中的 AI 驱动分析。 ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/98136152fe192648.png) ## 为什么选择 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 判断: ![ExampleProject](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/74fa93af9e192649.png) ### 核心组件一览 - **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 规则集添加环境特定允许列表。 更多适用于其他数据源的内置规则集正在规划中。欢迎贡献! ## 功能一览
**规则编辑** ![RuleEdit](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a0c7629c7f192652.gif) **规则测试** ![RuleTest](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/8c3b6a4cf2192657.gif)
**项目编排** ![ProjectEdit](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c2c00741e5192702.gif) **插件测试** ![Plugintest](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/69232c9325192706.gif)
**输入连接检查** ![InputEditConnectCheck](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9fbbe48e01192709.gif) **搜索** ![Search](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/436bb9ba7c192713.gif)
**错误日志与操作历史** ![ErrlogOperations](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e321961669192717.gif) **评论到记忆学习循环** ![Comment-to-memory](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7aed49e899192720.png)
## 部署 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规则, 事件关联, 事件路由, 云端原生, 云计算, 低延迟, 信号增强, 内存学习循环, 去脚本化, 可观测性, 告警处理, 复杂事件处理, 大规模数据处理, 安全数据管道, 安全运营中心, 实时分析, 实时威胁检测, 性能基准, 技能系统, 插件架构, 搜索引擎查询, 数据富化, 数据湖, 日志审计, 日志归一化, 有状态流处理, 流处理, 网络映射, 自动化响应, 规则引擎, 评论驱动学习, 调试插件, 逆向工具, 高吞吐