AiSOC
beenuar/AiSOC加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

凌晨三点,SIEM 面板上跳出一千条告警。你揉了揉眼睛开始逐条看——第九百条的时候,你意识到自己只是在对着一片噪声做布朗运动。安全运营的真正瓶颈从来不是规则不够,而是告警太多、上下文太碎、每个决定都留不下证据。
AiSOC 想解决的就是后半段。它是一个开源自托管的 AI 安全运营中心:吃进你的安全遥测、检测、关联成事件,然后让 AI 智能体去调查——但每一步提示词、每次工具调用、每条引用都写进可回放的 Investigation Ledger。MIT 协议,6,174 星、642 fork、19 位贡献者,当前版本 v21.0.0,由安全厂商 Cyble 出资开发并以 MIT 开源。

左边是告警队列,每条告警都标明来自哪个连接器;右边是 Investigation Rail 里的 AI 研判结论——不是一句「高危」,而是本地模型给出的裁决、置信度和逐字理由。控制台本身是 Next.js 16 + React 19 + Tailwind 4 的现代栈,配 Cytoscape 攻击图、Recharts 图表、Monaco 编辑器。

值得注意的是它的诚实:还没接任何数据源时,页面明说「你什么都没连」,而不是摆一个全零看板糊弄过去。技术指南里还有一段专门解释什么是「真实数据」、什么是「合成数据」——后者每一行都带 is_synthetic = true 标签并在控制台标注。
git clone https://github.com/beenuar/AiSOC && cd AiSOC
make up
这一条命令会做完所有事:生成 .env 和十五个密钥(凭据库、会话签名密钥、五个服务间凭据、四个数据库密码),创建管理员并打印一次性密码(在你机器上生成、不落盘、只显示一次,丢了用 make bootstrap ARGS=--reset-password 重发),挑一个没被占用的端口启动全套栈,然后打印登录地址。
作者甚至测过最恶劣的情况:5432 和 11434 都被占了的情况下,裸 clone 到可登录控制台耗时 64 秒。端口冲突不会中断安装——它会换端口、告诉你原端口被谁占了、把控制台地址一起搬过去。
想验证它真的работает而不只是「容器起来了」:
$ make smoke
[PASS] raw telemetry accepted by ingest
[PASS] event traversed the spine and became an alert
PASS: 10/10 stages
make smoke 会往 ingest API 推一条真事件,然后盯它穿过 Kafka、检测、关联、Postgres,再从公开 API 把告警读回来。每个阶段报 PASS 或 FAIL。make doctor 更狠——它不是问「容器在不在」,而是逐个数据存储做查询来验证,被 Docker VM 内存不足杀掉的容器会被指名道姓地报出来,而不是笼统说「某个服务挂了」。
完全不用 Docker 也有路:pip install aisoc-sandbox && aisoc-sandbox demo,30 秒内离线走完一条告警的智能体流水线。没有自己的机器就用 GitHub Codespaces。四条路殊途同归到同一个控制台。
一、「可执行」是证明出来的,不是声明出来的。
这是全项目最硬的一段工程。7015 条规则躺在磁盘上,但只有 2534 条被算作「可执行」——判定标准是:拿一条厂商格式的真实事件,喂进真实连接器和引擎,看着这条规则真的触发。绝不从目录存在或 enabled: true 标志推断。而且这个证明可以失败:--prove-gate 会回退 Windows 连接器,要求全部 1687 条 Windows 规则全部静默。
目前还有 2 条规则无法触发(从 119 条降下来的),作者的解释是「一条无法触发的规则就不该被算作可执行」,并说明这个棘轮只往下走。2636 条被拒绝的原因也有文档(docs/detections/sigma-compilation.md 记录了 1362 条被拒的具体理由)。
二、每一个回答都带着它的收据。
Copilot 会把每条可核查的断言引用到背后的 ledger 条目,引用不到的则标注为 uncited 而不是直接丢掉。任何一次调查都能导出成签名证据包——字节级一致,提示词以摘要形式存储,符合 OCSF 1.9.0。
三、拒绝的能力被明确建模。
智能体读告警及其关联兄弟、实体上下文、同签名的历史裁决;调用类型化工具——湖查询、图遍历、情报查询。模型选工具、传参数,但永远不写 SQL。落地前还有一道「提示词校验」:原始日志、OCSF 载荷、疑似密钥的值会被拒绝发送,而不是事后打码。
还有一个精巧的设计:假设即狩猎。新的威胁情报到来后,会回扫你已经收集的历史湖数据。模型填的是一个封闭 schema,每个值都作为参数绑定——所以它在结构上根本无法表达一条查询,不存在「模型随手写个 SQL 把你库扫了」的风险。
响应侧的三重开关:部署、租户、剧本,三者必须同时同意,且默认全部关闭;只要有一个没开,就只跑预览并把计划附在告警上。审批是持久化暂停——运行挂起到 Postgres,能扛重启,批准后恢复,到期则记录结果而不是挂死。
87 个点击即连的连接器,覆盖 Splunk、Sentinel、Elastic、CrowdStrike、Okta、AWS、K8s 审计等。没有厂商画像也能走通用映射解析出主机、用户和源 IP。
四个采集器负责读「真实云环境真的会吐出来」的接口:CloudTrail 组织 trail(S3 通知走 SQS)、GCP Pub/Sub 订阅、Azure Event Hubs 捕获、syslog/CEF 监听器。每个都维护可恢复游标和有上限的单轮拉取预算——积压会施加背压,而不是把 ingest 冲垮。
检测规则迁移是另一个亮点:packages/aisoc-migrate 能翻译 Splunk SPL、Sentinel KQL 和 Elastic EQL,并且拒绝近似而不是硬转——「一条几乎对的规则比一条缺失的规则更难被发现」。这个态度体现在数字上:内置的 2005 条 Splunk 规则中,1734 条能翻译,其中 1711 条是部分翻译。
模型只有 3B,而且诚实标注了失败率。 默认跑 Ollama 上的 llama3.2:3b-instruct-q4_K_M(约 2GB,CPU 可跑,这就是为什么 make up 不需要账号、密钥或 GPU)。README 给了实测:50 条告警中,44 次给出了可用输出,之后回复被约束成 JSON 之后是 50 次。它不是前沿模型,控制台也会标注每条结论是哪条路径给出的。
托管模型从未被验证过。 因为没有付费密钥,**「从未在本项目中被演练过」**这一行在每个模型上读作 not measured 而不是 0。这条路径存在于代码里,但没人跑过。
基准分数的分子分母都被摊开给你看。 全量召回率把弃答和失败保留在恶意分母里;告警降噪有三个标注数字(75.3% legacy 分组 / 33.3% 生产键 / 24.5% 修复缺失标识符后的检测形态队列)——第三个比前两个难看得多,方向是「把分组收窄而非放大」。未测量的读 not measured,绝不读 0。
运维复杂度对多数团队是超配。 21 个微服务、6 个存储后端、Kafka、完整的 K8s Helm chart——这是生产级基础设施的量级,不是玩具。冷启动时 MLScorer(Isolation Forest + LightGBM)和 UEBA 基线都需要训练数据与调参,效果如何文档里没说。
它明确不是 SIEM 替代品。 不做长期日志留存和合规检索;看不到你没连接的数据;默认不自治,响应需要显式策略授权和人工审批。README 自己列了四条「AiSOC 不是什么」,这种自我限定的诚实度反而值得信任。
npm 包发布只完成一半。 五个 PyPI 包已上线(pip install aisoc-sandbox 今天就能用),三个 npm 包还在等第一次上传所需的 NPM_TOKEN——一个「账号动作」,一个未完成项被明写在成熟度表格里,标为 Beta。
安全运营是 AI 落地最拥挤的赛道之一,但大多数产品的共性是黑箱:智能体给了结论,你不知道为什么。开源替代品要么把智能体藏起来(Wazuh 走规则路线),要么干脆没有智能体。
AiSOC 的差异化不在模型能力——3B 的 llama 谈不上前沿——而在于把审计性做成了架构原语:提示词哈希、证据链、可回放性、拒绝的显式建模、三重响应开关、每次 PR 都跑且带负向对照的成熟度门禁。这套东西的价值不在于模型有多聪明,而在于监管和审计场景下你必须能解释每一个决定是怎么来的。
它配套的成熟度定义也很值得借鉴:一行能力只有在「每次 PR 都跑、无路径过滤、驱动真实生产路径打真实基础设施、并且通过把东西弄坏来看它变红来证明负向对照」这四个条件全部满足时,才能叫 Stable。这个标准比大多数开源项目的「有测试」严格得多。
对做开源情报、平台治理、AI Agent 审计的团队,它提供的还有另一层价值:一个把「AI Agent 的每个决策都要可回放」这件事做到底的参考实现。同类项目里,几乎没有第二个把智能体决策轨迹当作不可变工件来发布。
pip install aisoc-sandbox 跑 30 秒离线 demo,再 make up 看 Investigation Ledger,最后才考虑 Helm chartmake doctor 会把每个数字的实测依据告诉你make ingest-token 拿推送凭据 + 一个厂商连接器起步,别一上来接 87 个MIT 协议,Cyble 全额资助并放弃闭源,对做自托管安全运营、或者想研究「AI Agent 可审计性」的团队,这是一个值得认真读代码的项目。