andrewkolagit/DetectPack-Forge

GitHub: andrewkolagit/DetectPack-Forge

基于 Gemini AI 的检测规则生成器,将自然语言描述或日志样本一键转换为多平台 SIEM 检测规则包。

Stars: 24 | Forks: 1

image # DetectPack Forge 将纯英文行为描述或少量日志样本转换为生产就绪的检测包 —— Sigma, KQL (Sentinel), 和 SPL (Splunk) —— 包含测试和简短的响应 Playbook,全部映射到 MITRE ATT&CK。 ## 这是什么? DetectPack Forge 是面向 SIEM 学习者或从业者的辅助工具。 你只需描述一种行为(例如,“多次登录失败后登录成功”)或粘贴几行日志,该应用便会生成: * Sigma (供应商无关的规则 YAML) * KQL (Microsoft Sentinel) * SPL (Splunk) * 测试 (正/负样本) * Playbook (简明的事件响应检查清单) * MITRE ATT&CK 技术标签 为何有用: 你无需为了开始编写检测规则而死记硬背不同的查询语法;你可以通过示例学习,并获得可直接粘贴到 SIEM 中的工件。 ## 工作原理(架构) 前端 (Vite + React + Tailwind + shadcn-ui) * 简单向导:描述(输入行为)或日志(粘贴样本)。 * 调用单个 n8n webhook 传递 JSON,并在选项卡中渲染返回的工件。 * 环境变量:VITE_N8N_WEBHOOK_URL 指向你的 n8n webhook。 后端 (n8n + Gemini)后端 (n8n + Gemini) image 1. 🛎️ Webhook (POST) 接收: { "mode": "describe" | "logs", "text": "string?", "logs": "string?" } 2. 🧹 预处理函数 规范化请求体: // 从 $json.body 读取并展平为 {mode,text,logs} const src = (items[0].json?.body ?? items[0].json ?? {}); let modeRaw = String(src.mode ?? '').toLowerCase(); const text = typeof src.text === 'string' ? src.text : ''; const logs = typeof src.logs === 'string' ? src.logs : ''; const mode = modeRaw === 'logs' || (logs && !text) ? 'logs' : 'describe'; if (!text && !logs) throw new Error('Provide either text or logs.'); return [{ json: { mode, text, logs } }]; 3. 🧠 AI Agent – Schema (Gemini) 推断: { "logsource": { "product": "windows|aws|okta|...", "service": "security|cloudtrail|..." }, "fields": [{ "name": "EventID", "type": "int" }, ...], "techniques": [{ "id": "T1110", "confidence": "high" }] } 4. 🧩 解析 Schema (Function) 安全地解析 Agent 输出并将其附加到流程中。 5. 🧪 AI Agent – Artifacts (Gemini) 根据 schema + 输入创建 Sigma/KQL/SPL/测试/Playbook。 6. 📤 返回 JSON 给 webhook 调用者: { "meta": { "title": "...", "slug": "...", "attack": ["Txxxx"], "logsource": { "product": "...", "service": "..." } }, "sigma": "...", "kql": "...", "spl": "...", "tests": { "positive": ["..."], "negative": ["..."] }, "playbook": "..." } ## 本地运行 要在本地运行前端并将其连接到你的后端或 API,请按照以下步骤操作: 1. **克隆仓库** git clone cd 2. **安装依赖** npm install 3. **配置环境变量** - 项目根目录下已存在 `.env.local` 文件,如果没有,请创建一个。 - 使用此处 n8n webhook 提供的 url,例如: VITE_N8N_WEBHOOK_URL=http://localhost:5678/webhook/detectpack/1 - 将 `http://localhost:5678/detectpack/1` 替换为你的后端/API URL。 4. **启动开发服务器** npm run dev - 前端将可在 [http://localhost:5173](http://localhost:5173) 访问(默认 Vite 端口)。 5. **连接到你的后端** - n8n 后端 .json 文件已上传至仓库。只需将此文件导入到你的新 n8n 工作流中即可。 - 确保你的后端正在运行,并可通过 `.env.local` 中指定的 URL 访问。 - 前端将使用配置的 API URL 与后端通信。 **注意:** - 运行前端不需要 n8n 设置。 - 对于生产构建,请使用 `npm run build` 并提供 `dist` 文件夹中的输出。 ## 这个项目使用了哪些技术? 此项目构建使用: - Vite - TypeScript - React - shadcn-ui - Tailwind CSS
标签:AMSI绕过, Cloudflare, DLL 劫持, Gemini, GenAI, KQL, Microsoft Sentinel, MITRE ATT&CK, n8n, Playbook, React, Sigma规则, SOAR, SPL, Syscalls, Tailwind CSS, Vite, 人工智能, 低代码, 大语言模型, 威胁检测, 用户模式Hook绕过, 目标导入, 网络安全, 网络调试, 自动化, 自动化攻击, 英文转规则, 规则生成, 隐私保护