engyossefyossry-crypto/autonomous-devsecops-triage-engine
GitHub: engyossefyossry-crypto/autonomous-devsecops-triage-engine
基于 n8n 的多 Agent 编排框架,自动化处理生产环境事件的代码取证、安全风险评估和多渠道通知。
Stars: 9 | Forks: 1
# 🚨 自主 DevSecOps 分诊引擎:AI 驱动的多 Agent 事件指挥官
[](https://n8n.io/)
[](https://groq.com/)
[](https://openrouter.ai/)
[](https://github.com/)
这是一个原生构建于 **n8n** 之上的企业级、事件驱动的分诊与缓解框架。该系统实现了高级的 **Supervisor-Worker Agentic Topology**,用于处理原始的生产环境 runtime 错误、未捕获的异常和 stack trace。它按顺序编排三个专门的子 agent,以隔离损坏的 codebase 基础设施、计算合规性和安全风险画像,并自动发布针对平台定制的内部警报以及非技术性的外部状态更新。
## 🏗️ 系统架构与执行路径
该框架将传入的故障向量与处理核心解耦,通过严格的状态机规范化处理 payload,然后再启动按顺序执行的 agent 工具和异步通知广播:
```
[ Reactive Webhook Gateway ] ──┐
├─► [ Data Preparer ] ─► [ Incident Tokenizer ]
[ Proactive 9:00 AM Cron Scan ] ──┘ │
▼
┌───────────────────────────────────┐
│ Supervisor Incident Commander │ ◄─── (Llama-3.3-70b @ Groq)
└─────────────────┬─────────────────┘
│
┌──────────────────────────────────────┼──────────────────────────────────────┐
▼ (STEP 1: Forensics) ▼ (STEP 2: DevSecOps) ▼ (STEP 3: Communications)
┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐
│ Hardcore Developer │ │ Risk Evaluator │ │ PR & Status Manager │
│ (Gemini-2.5-Flash-Lite) │ (Gemma-4-31b) │ │ (GPT-OSS-20b) │
└───────┬───────────────┘ └───────┬───────────────┘ └───────┬───────────────┘
│ │ │
▼ ▼ ▼
┌───────────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐
│ n8n Data Table Tool │ │ n8n Data Table Tool │ │ n8n Data Table Tool │
│ [Debugging Attempts] │ │ [Evaluation Attempts] │ │ [Status Updates] │
└───────────────────────┘ └───────────────────────┘ └───────────────────────┘
│
▼ [All Workers Complete Execution]
┌───────────────────────────────────┐
│ Aggregator Mapping Layer │ ◄─── (Regex String Extraction)
└─────────────────┬─────────────────┘
│
┌───────────────┬────────────────────────┼────────────────────────┬───────────────┐
▼ ▼ ▼ ▼ ▼
┌──────────────┐┌──────────────┐ ┌─────────────────┐ ┌──────────────┐┌──────────────┐
│ GitHub Issue ││ Google Sheet │ │ Slack / Discord │ │ Telegram ││ Gmail HTML │
│ (Bug Ticket) ││ (Audit Logs) │ │ (Internal Devs) │ │ (Mobile Feed)││ (Executives) │
└──────────────┘└──────────────┘ └─────────────────┘ └──────────────┘└──────────────┘
```
## 🧠 战略模型基础设施与分配逻辑
该框架没有通过单一通用 LLM 来路由您的分诊引擎(这会引入严重的上下文漂移和 runtime 瓶颈),而是采用了优化的、**解耦的多模型网格**。每个子 agent 都映射到一个根据其核心行为特性明确选择的推理模型:
| Agent 实体 | 指派的 AI 模型 | 引擎提供商 | 结构化任务与选择逻辑 |
| :--- | :--- | :--- | :--- |
| **Supervisor Orchestrator** | `llama-3.3-70b-versatile` | **Groq API** | **状态机:** 在超低延迟计算层上运行。因其卓越的指令遵循准确性而被选中。它严格作为路由器运行,强制按顺序执行 worker 工具,并将数据契约锁定在有效的 JSON schema 指标内,不编写任何创意性文本。 |
| **Hardcore Developer** | `gemini-2.5-flash-lite` | **OpenRouter** | **取证分析师:** 处理大规模的数据摄取矩阵。追踪原始的 runtime 数据日志和 stack trace。其庞大的上下文窗口允许它快速消化极长的代码异常,干净地隔离损坏的源文件、行指标,并生成精确的伪代码补丁。 |
| **Risk Evaluator** | `gemma-4-31b-it:free` | **OpenRouter** | **合规审计员:** 根据严格的合规性向量审查取证结果。该模型在逻辑分类性能与企业安全防护之间取得了平衡,能够识别泄露的 API key、评估 GDPR 暴露参数,并制定网络隔离协议。 |
| **PR & Status Manager** | `openai/gpt-oss-20b:free` | **OpenRouter** | **技术撰稿人:** 将复杂的技术数据合成为对话式的人类文本。它将运维遥测数据隔离为两种不同的变体:用于工程警报的技术性、Markdown 项目符号列表,以及面向公众消费者的冷静、令人安心的更新。 |
## 📊 内部工作流数据台账 Schema
为了确保完全的历史透明度和审计安全性,各个子 agent 在执行期间直接与原生的 **n8n 数据表** 进行交互。这种模式在运行中途记录历史遥测数据,允许开发人员审查中间步骤,即使下游的消息集成遇到网络故障也能查看。
### 1. 取证数据库(`Store Debugging Attempt to Workflow`)
在隔离出 codebase 故障后,由 **Hardcore Developer** agent 立即自动填充:
* **`incident_id`** (String):映射到目标崩溃块的可追踪唯一标识符。
* **`target_file`** (String):捕获到 runtime 故障的已隔离源脚本上下文路径。
* **`line_number`** (String):损坏的文件架构中精确的数字行位置。
* **`patch_snippet`** (String):由取证分析建议的紧急代码缓解补丁或软件语法。
### 2. 合规数据库(`Store Evaluation Attempt to Workflow`)
由 **Risk Evaluator** agent 自动填充以维护安全追踪记录:
* **`incident_id`** (String):映射回父事件执行过程的交叉引用 token。
* **`risk_score`** (String):严格限制为大写 `CRITICAL`、`HIGH`、`MEDIUM` 或 `LOW` 的评估威胁等级。
* **`compliance_impact`** (String):评估数据库暴露或特定 GDPR 隐私泄露的细粒度诊断。
* **`containment_protocol`** (String):分步的系统隔离、cluster 容器规则或缓解说明。
### 3. 通信数据库(`Store Current Status to Workflow`)
由 **PR & Status Manager** 工具自动填充,以评估通知传递状态:
* **`incident_id`** (String):映射回父事件执行过程的交叉引用 token。
* **`slack_published`** (String):详细记录工程警报状态的追踪签名。
* **`status_page_published`** (String):详细说明外部公共通信状态的验证时间戳或 payload。
## 🛠️ 高级技术机制
### 1. 入向混沌控制与规范化
真实世界的应用程序错误通常以极其混乱、不可预测的格式到达。该引擎整合了由自定义 JavaScript **Data Preparer** 节点管理的双路径摄取架构:
* **反应模式(“火警”):** 监控生产中心(例如 Grafana、PagerDuty 或核心服务器日志记录器)的高优先级 webhook。
* **主动模式(“晨间审计”):** 每天早上 9:00 执行自动化基础设施验证周期的 cron 定时任务运行器。
输入的数据包剥离了多余的环境元数据,并干净地格式化错误 payload,生成一个集中的、可追踪的 `INC-######` 密钥。这确保了无论触发源是什么,下游的 Supervisor 始终接收到相同的 schema 块。
### 2. 健壮的沙盒调试循环
为了防止在测试工作流逻辑或模拟极端 stack trace 时产生开发摩擦,脚本整合了一个自动回退矩阵。如果在没有活动 payload 的情况下为了验证测试而手动触发工作流画布,脚本将挂钩到一个内部模拟数组:
```
// Local Sandbox Fallback Matrix
if (commitMessages.length === 0) {
commitMessages = [
"fixed bug",
"added some stuff to script",
"optimized file lol",
"finally working",
"fixed the broken login button UI again..."
];
}
```
### 3. 高度防御性的聚合器解析
为了保护下游运维目标免受常见的 AI 解析错误(例如将 JSON 响应包含在 Markdown 代码块标记(如 ` ```json ... ``` `)中),**Aggregator Layer** 运行一个多层正则表达式验证例程:
```
const jsonMatch = aiText.match(/```json\s*([\s\S]*?)\s*```/) || aiText.match(/\{[\s\S]*\}/);
if (jsonMatch) {
data = JSON.parse(jsonMatch[1] ? jsonMatch[1].trim() : jsonMatch[0].trim());
} else {
data = { fallback_text: aiText };
}
```
这完美地隔离了原始数据变量,并应用了回退字符串初始化器,以确保空变量能够被干净地解析,而不会导致脚本异常。
## 🚀 安装与部署指南
### 前置条件
* 一个正在运行的 **n8n** 实例(自托管或云端)。
* 已配置有效的 API 密钥/凭据,用于:
* **Groq API** 和 **OpenRouter API**
* 目标部署应用:**GitHub (PAT)**、**Slack**、**Discord**、**Telegram** 以及 **Google Workspace Service Accounts**。
### 部署步骤
1. 下载位于本地项目文件夹中的导出蓝图文件 `autonomous-devsecops-triage-engine.json`。
2. 登录到您的 n8n 工作区面板。
3. 点击右上角的 **Create New Workflow**。
4. 展开上下文菜单设置图标,并选择 **Import from File**。
5. 上传 JSON 蓝图,在您的画布上即刻填充多 agent worker 网格。
6. 将您预先准备好的凭据账户附加到相应的模型运行节点和生产通信块中。
7. 将工作流状态切换开关拨至 **Active**,即可开始自动化管理事件响应!
## 📄 许可证
该编排引擎是根据 **MIT License** 条款分发的开源软件。请查阅 `LICENSE` 文件了解详情。
标签:AI智能体, DevSecOps, n8n, Sysdig, 上游代理, 人工智能, 数据可视化, 用户模式Hook绕过, 自动化编排