背景:安全告警并发与分析师困境
安全告警很少单独到来。一次告警可能引发环境中多处指标飙升,需要人类分析师判断哪些告警相关、意味着什么。当多个告警同时到达,即便经验丰富的安全分析师也会迅速被淹没。Cloudflare 将其称为“告警悖论”。为应对该问题,Cloudflare 推出了内置的多 AI 代理安全运营框架(Managed Defense AI agent harness),用于在大规模网络上承接更多此类工作,加速数据收集、检测聚合与相关源补齐。
单代理的局限与架构修正
首版原型验证了单一通用代理的不足:当整个调查上下文被塞入一个提示词时,遥测、检测描述、策略与威胁情报的角色相互混淆。团队观察到三类反复出现的问题:
- 上下文成为权威:检测仅是假设,而非攻击得逞的证明,但宽泛代理模糊了该界限。
- 范围漂移:代理可能查询错误的账户、时间区间或数据源,语言模型提示无法充当边界。
- 失败消失:若查询超时,结果未区分“未检查”与“已检查未发现”。
为此,Cloudflare 将证据收集与范围强制移至应用代码中,在模型分析之前完成,确保边界与缺失状态明确。
侦察优先,推理次之
该框架前半部分没有使用任何 AI 代理。在推理调用前,确定性代码运行一组版本化 API 调用的固定侦察工作流,收集客户身份、检测历史、流量基线、执行结果及网络观测。每一条数据均存储其来源、版本与时间戳。
Cloudflare 同时可见触发告警的请求及对其施加的动作,从而将行为、触发控制与结果相连。
固定侦察快照还使评估可复现:若代理自行取数,两次运行可能因输入变化而结论不一;而相同快照重放时,专家代理间的差异仅来自解读而非检索。
早期噪声过滤
大多数告警并非事件。同一条规则常因已知流量模式重复触发,每次都呼叫分析师反而容易漏掉真实事件。框架引入轻量分类模型(Clef,运行于 Workers AI)将每条告警与侦察数据比对:该事件客户此前是否见过?分析师过往如何处置?流量是否符合正常人类行为?高概率误报跳过专家代理分析;已知高音量噪声在到达时即被确定性标记为被动,仅作为上下文保留,不进入活跃队列。
专家代理并行处理
对需深度 review 的告警,协调代理并行运行四个专家代理:
- 流量分析:审查请求行为、历史变更与执行措施。
- 客户上下文:回顾早期告警、处置结论与分析师决策。
- 全局遥测:在隐私保护前提下,对比全互联网级信号。
- 威胁情报:核对已纳入告警或案例的指示器。
随后合成代理将类型化发现整合为单一建议,但它不能获取新证据,也不能在批准的词汇外自选分类。任务收窄使不实断言更易捕获,建议更易审计。
全局信号且不触碰客户数据
安全工具通常只知部署环境内部,而 Cloudflare 将告警与全球网络模式比对:某 IP 可能仅针对单站、扫描数千站点或首次出现,权重各异。为保护隐私,全局遥测专家仅用聚合数据,绝不接收其他客户的个体记录或身份。该视图融合了 Cloudflare 的 CDN、WAF、DDoS、Turnstile、Rate Limiting 与 Cloudforce One 威胁情报。合成代理同时权衡全局声誉与客户历史,避免将全局常见模式自动推及所有客户。
历史即证据与案例聚合
每次评估都意识其前因:告警、模式与具体客户。侦察档案记录该服务告警自身的战绩——触发次数、其中误报处置数、分析师结论。一个每次都被判良性的模式与首次出现的新事物截然不同,专家代理会明确知晓自己在看哪种。已批准的背景上下文从历史告警与案例中检索,使昨日结论带入今日决策。
系统将相关告警聚为统一案例,存储证据、发现与建议,并确定性关联;实际范围仍由分析师确认。随时间,案例可连接网络、应用与零信任证据,同时追踪证据来源。
从证据包到决策
分析前,系统创建版本化证据包,含主体、范围、时间锚、采纳证据、策略版本、来源与覆盖缺口。专家必须引用包中条目,应用代码校验每条引用是否存在、是否属于本调查且支持所附主张。无效发现被拦截。
对读者的意义 / 技术解读
对于运维、SRE 与网络工程师,该“确定性代码侦察 + AI 解释”的分层架构具备直接借鉴价值。在日常网络故障排查与可用性监控中,同样可先由脚本固定采集 ping、traceroute、dns 查询结果并打上源与时间戳,再交由大模型归纳根因,从而规避 LLM 幻觉导致的错误结论。面对海量告警疲劳,轻量模型预筛(类似 Clef)能显著收敛需要人工介入的事件量。此外,证据包与强制引用机制提醒我们:自动化运维审计必须保留完整证据链,才能满足事后复盘与 SLA 追责要求。Cloudflare 的实践表明,AI 不应替代边界控制,而应在严格约束内增强人类决策。
参考原文:Building an evidence-grounded agentic security operations harness on Cloudflare