一、背景

传统SOC平台开发过程中,有几个问题:安全设备类型较多——HIDS、WAF、NIDS、蜜罐、EDR 等,每个设备的数据格式不同,字段定义也不一样。
要把某个 IP 的所有安全信息关联起来,得先梳理各表的关联字段。告警分析流程一般要提前设计好,流程写成代码固化下来后,需求有变化就得改代码不够灵活。
安全工程师需要了解 SQL,熟悉各数据表结构和各类攻击特征。对人员技能要求比较高。

二、思路

基于这些观察,大模型技术的发展,给 SOC 开发提供了新的可能性。我在想能不能用 AI 来简化复杂的分析流程。

大模型的几个能力:

  1. 理解自然语言 - 安全工程师可以直接用大白话表达查询需求,不用学 SQL
  2. 推理能力 - 给定目标后,AI 能自己判断需要查哪些数据、怎么关联
  3. 知识储备 - AI 懂安全知识,知道什么是 SQL 注入、挖矿、C2 通信等概念
  4. 生成能力 - 能输出结构化的分析报告和处置建议

围绕这个想法,尝试实现了一个实验性项目——AISOC(智能安全运营中心)。

三、设计

传统SOC 采用流程驱动的方式:人工设计分析流程 → 写代码实现 → 执行分析,这种方式比较死板。

AISOC 尝试换个思路:准备好数据源 → AI 理解需求 → 自动生成分析流程 → 执行并输出结果,让 AI 来干这些活。

传统方式的处理步骤:

  1. 工程师理解需求
  2. 确定要查询的数据表(hids_alarm、hids_vulnerability、hids_baseline 等)
  3. 编写代码查询数据
  4. 关联数据逻辑
  5. 汇总查询结果
  6. 编写分析报告

AISOC 方式的处理步骤:

3.1 架构设计

系统的处理流程如下:

用户自然语言查询
       ↓
   意图识别模块  ← AI 理解用户需求
       ↓
   SQL 生成模块   ← AI 生成查询语句
       ↓
   数据获取模块  ← 从各数据源获取数据
       ↓
   数据聚合模块  ← 整合多源数据
       ↓
   LLM 分析模块   ← AI 分析并生成报告
       ↓
   运营事件存储  ← 结果持久化

新流程只有数据获取环节是传统代码写的,其他环节都是 AI 完成,尽量减少人工编码的固化流程,让系统更灵活。

3.2 分析场景

目前支持以下几类分析场景,都是日常工作中常用的:

全局态势分析

  • “最近一周的安全情况怎么样”
  • “有多少高危漏洞没修”

具体目标分析

  • “192.168.1.10 有什么安全风险”
  • “查询 192.168.1.11 被攻击的记录”

特定类型查询

  • “最近的高危告警有哪些”
  • “分析 WAF 攻击事件”
  • “哪些资产存在漏洞”

四、实践

部署过程比较简单,分几步走:

4.1 环境部署

git clone https://github.com/78778443/aisoc.git
cd aisoc

4.2 配置说明

chmod +x install.sh
./install.sh

安装脚本会完成以下操作:

  • 检查系统依赖(PHP、Composer、Docker)
  • 启动MySQL 容器
  • 安装 PHP 依赖
  • 初始化数据库和示例数据

4.3 启动服务

cd code
php think run

服务启动后,访问 http://localhost:8000 即可使用。

五、效果展示

在首页输入自然语言查询:

首页
系统会显示分析进度,包括意图识别、SQL 生成、数据获取、AI 分析等环节。

分析完成后,可以在事件列表查看所有分析记录:

事件列表
点击详情可以查看完整的分析报告和处理追溯链:

事件详情
追溯链记录了每个处理节点的输入输出信息,便于审计和调试。

六、总结

把复杂的分析逻辑交给 AI 处理,人只需要准备好数据和提出问题就行。

目前的实现还处于初步阶段,后续可以考虑扩展:

  • 支持更多数据源
  • 增加自动化处置能力
  • 对接飞书或钉钉通知
  • 支持多轮对话式分析

项目地址:https://github.com/78778443/aisoc

作者:汤青松,《PHP Web安全开发实战》作者

联系方式:微信 songboy8888,邮箱 78778443@qq.com

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐