S-CClaw/openclaw-vulnerability-scanner

GitHub: S-CClaw/openclaw-vulnerability-scanner

基于 AI 代理的自动化漏洞扫描系统,实现从智能扫描、威胁情报映射到攻击场景生成与可视化报告的全流程闭环。

Stars: 4 | Forks: 0

# 🦞 OpenClaw 漏洞扫描器 **由自主 AI 代理 OpenClaw 驱动的自动化漏洞分析系统。** OpenClaw 接收一个提示词,并自主处理整个流程 —— **漏洞扫描 → 攻击场景生成 → 结果可视化** **English** | [한국어](README_ko.md) ![Nuclei](https://img.shields.io/badge/Nuclei-00B4D8?style=flat-square&logoColor=white) ![Katana](https://img.shields.io/badge/Katana-00B4D8?style=flat-square) ![TruffleHog](https://img.shields.io/badge/TruffleHog-E63946?style=flat-square) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE%20ATT%26CK-E63946?style=flat-square) ![CAPEC](https://img.shields.io/badge/CAPEC-9B5DE5?style=flat-square) ![CWE](https://img.shields.io/badge/CWE-F4A261?style=flat-square) ![STIX2](https://img.shields.io/badge/STIX2-2D6A4F?style=flat-square) ![Streamlit](https://img.shields.io/badge/Streamlit-FF4B4B?style=flat-square&logo=streamlit&logoColor=white) ![ReportLab](https://img.shields.io/badge/ReportLab-4A90D9?style=flat-square) ![Python](https://img.shields.io/badge/Python-3776AB?style=flat-square&logo=python&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat-square&logo=docker&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?style=flat-square&logo=linux&logoColor=black)
## 系统架构
![系统架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7142a90e30005121.png)
## 演示
## 核心功能 | 功能 | 描述 | |---------|-------------| | **自主漏洞扫描** | AI 代理分析模板并自主确定最优执行顺序 | | **上下文链接** | 自动将先前扫描的发现(token、ID 等)注入到后续的 payload 中 | | **威胁情报映射** | 通过 CWE → CAPEC → MITRE ATT&CK 层级结构映射发现的漏洞 | | **AI 攻击场景** | 根据映射的 TTP 生成攻击前提条件、逐步场景、影响评估和修复建议 | | **交互式仪表板** | 将 CWE、CAPEC 和 ATT&CK 节点之间的攻击路径可视化为 SVG,并提供可点击导航 | | **PDF 报告** | 将扫描结果和场景导出为格式化的 A4 安全报告 | ## 项目结构 ``` openclaw-vulnerability-scanner/ ├── Dashboard/ │ ├── app.py # Streamlit visualization dashboard │ ├── results/ # Scan and scenario result storage │ │ ├── findings.jsonl # Raw Nuclei scan results │ │ ├── parsed_findings.json # Parsed vulnerability data │ │ ├── mapped_findings.json # CWE→CAPEC→ATT&CK mapping results │ │ └── scenarios.json # Final attack scenarios (dashboard input) │ └── scripts/ │ └── generate_pdf.py # PDF report generator │ ├── Skills/ │ ├── vuln-scanner/ # Vulnerability scanning skill │ │ ├── SKILL.md # Agent operational logic definition │ │ └── scripts/ │ │ ├── install.sh # Nuclei · Katana · TruffleHog installer │ │ └── scan.sh # Nuclei wrapper script │ │ │ └── attack-scenario-gen/ # Attack scenario generation skill │ ├── SKILL.md # Execution flow definition │ ├── db/ # Threat intelligence DB (auto-generated) │ │ ├── cwe_to_capec.json │ │ └── capec_to_attack.json │ └── scripts/ │ ├── build_mapping_db.py # Builds DB from MITRE CTI & CWE XML │ ├── parse_jsonl.py # Parses findings.jsonl │ └── map_cwe_to_attack.py # CWE → CAPEC → ATT&CK mapping │ ├── Vuln_Scripts/ # Standalone detection scripts │ ├── OpenRedirect.py # Open Redirect detection │ └── exposed_credentials.py # Exposed credentials detection │ ├── Vuln_Templates/ # Custom Nuclei templates (YAML) │ ├── XSS/ │ ├── Injection/ │ ├── Broken_Access_Control/ │ ├── Broken_Authentication/ │ ├── Misconfiguration/ │ ├── Open_Redirect/ │ └── Vulnerable_Components/ │ └── TEMPLATE_EXAM.md # Nuclei template writing guide ``` ## 工作流程 ### 步骤 1 — 漏洞扫描 在 Discord 中发送以下提示词以触发 `vuln-scanner` 技能。 ``` Vulnerability analysis: Use the vuln-scanner skill to analyze [{$TARGET_IP}] as the target. Strictly follow the 'Operational Logic (Strategic Chaining & JIT Patching)' defined in SKILL.md. ``` **输出**: `results/findings.jsonl` ### 步骤 2 — 攻击场景生成 使用扫描结果运行 `attack-scenario-gen` 技能。 ``` Scenario generation: Use the attack-scenario-gen skill with findings.jsonl as the base knowledge to create attack scenarios. Perform parsing and mapping according to the 'Execution Flow' in SKILL.md, then write the final 'Step 3: AI-Based Scenario Inference' using your own security knowledge. ``` **输出**: `results/scenarios.json` ### 步骤 3 — 启动仪表板 ``` cd Dashboard streamlit run app.py ``` ## 技能详情 ### vuln-scanner **依赖项**: `nuclei`, `python3`, `pip3`, `requests`, `sed`, `curl`, `unzip`, `ca-certificates`, `katana`, `trufflehog` 代理并非按顺序执行模板,而是自主执行以下 5 阶段策略。 | 阶段 | 描述 | |-------|-------------| | **1. 情报收集** | 分析所有模板,按漏洞类型和所需输入进行分类 | | **2. 执行计划** | 构建逻辑链:信息泄露 → BAC/IDOR | | **3. JIT Payload 修补** | 通过 `-var`/`-header` 标志实时注入从先前结果中提取的 token 和 ID(原始模板绝不会被修改) | | **3.5. 反馈循环** | 解析 `findings.jsonl` 并在发现新 endpoint 时扩展扫描目标 | | **4. 自适应重排序** | 失败时,分析原因并在重试前重新收集凭据 | | **5. 善后处理** | 保留所有日志并从 `findings.jsonl` 中移除不必要的字段 | ### attack-scenario-gen **依赖项**: `python3`, `stix2`, `requests` #### 执行流程 ``` findings.jsonl │ ▼ parse_jsonl.py parsed_findings.json (template_id, name, severity, cwe_ids, cwe_names, matched_at, ...) │ ▼ map_cwe_to_attack.py (DB: cwe_to_capec.json + capec_to_attack.json) mapped_findings.json (+ capec_ids, capec_descriptions, attack_mapping) │ ▼ AI Agent Scenario Inference scenarios.json (+ scenario: title, preconditions, steps, impact, remediation) ``` #### 构建威胁情报数据库(仅首次运行) ``` python3 Skills/attack-scenario-gen/scripts/build_mapping_db.py ``` 自动下载 MITRE CTI 仓库和 CWE XML,然后在 `db/` 下构建映射数据库。 #### 场景 JSON 结构 ``` { "scenario_id": "SCN-{template_id}", "template_id": "", "name": "", "severity": "", "cwe_ids": [], "cwe_names": [], "capec_ids": [], "capec_descriptions": {}, "attack_mapping": [], "attack_mapping_available": false, "matched_at": "", "status_code": null, "extracted_results": [], "scenario": { "title": "Attack scenario title", "preconditions": ["Condition 1", "Condition 2"], "steps": [ { "step": 1, "tactic_id": "TA00XX", "tactic_name": "tactic name", "technique_id": "TXXXX", "technique_name": "technique name", "description": "What the attacker does" } ], "impact": "Scope and impact of exploitation", "remediation": "Recommended fix" } } ``` ## 仪表板 `Dashboard/app.py` 读取 `results/scenarios.json` 并提供以下界面。 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7a053a2f2f005127.png)
![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/58ed426b53005133.png) ### 屏幕布局 **侧边栏** - 基于 CWE 的漏洞选择器 - 用于选择同一 CWE 下多个场景的单选按钮 - PDF 报告生成与下载 **主面板** | 部分 | 描述 | |---------|-------------| | **攻击路径** | 将 CWE → CAPEC → ATT&CK 节点渲染为 SVG。鼠标悬停查看详情;点击可自动滚动并高亮 TTP 部分 | | **提取结果** | 列出由 Nuclei 从实际响应中提取的原始值(token、endpoint、headers 等) | | **修复建议** | 显示带有 CWE、CAPEC 和 ATT&CK 标签的修复步骤 | | **攻击步骤** | 以卡片形式显示每个带有战术和技术 ID 的攻击步骤 | | **影响** | 对利用漏洞可能造成的破坏的摘要 | | **已映射的 TTP** | 带有 ATT&CK 映射的 CAPEC 模式的详细信息(手风琴组件) | | **未映射的 TTP** | 没有 ATT&CK 映射的 CAPEC 模式列表 | ### PDF 报告结构 | 部分 | 内容 | |---------|---------| | 封面 | CWE ID、漏洞名称、严重程度、目标 URL、生成时间戳 | | 1. 漏洞摘要 | 核心元数据表、ATT&CK 技术映射表 | | 2. 攻击场景步骤 | 逐步攻击流程卡片 | | 3. 影响与修复 | 影响范围及修复指南 | ## 漏洞模板 Nuclei YAML 模板按类别组织在 `Vuln_Templates/` 目录下。 | 类别 | 模板 | 检测内容 | |----------|----------|-----------| | **XSS** | `reflected-xss.yaml` | 通过路径/查询参数触发的反射型 XSS | | | `client-side-xss-bypass.yaml` | 客户端 XSS 过滤器绕过 | | | `json-api-html-injection.yaml` | JSON API 响应中的 HTML 注入 | | | `api-only-xss.yaml` | 纯 API 触发的 XSS | | **注入** | `sqli-union-auth-bypass.yaml` | 基于 SQL 注入的身份验证绕过 | | | `sqli-union-schema-fuzz.yaml` | 基于 UNION 的 schema 模糊测试 | | | `nosql-operator-injection.yaml` | NoSQL 运算符注入 | | **越权访问** | `get-idor-read.yaml` | 基于 GET 的 IDOR | | | `unauthorized-resource-modification.yaml` | 未经授权的资源修改 | | **身份验证缺陷** | `broken-authentication.yaml` | 身份验证逻辑缺陷检测 | | **错误配置** | `error-handling.yaml` | 通过错误消息导致的信息泄露 | | | `jsonp-information-leak.yaml` | JSONP 信息泄露 | | **开放重定向** | `Openredirect1.yaml` | 检测重定向参数是否存在(注入探测 URL 后出现 3xx 响应) | | | `Openredirect2.yaml` | 白名单绕过检测(3 种绕过模式:`url.includes`、`startsWith`、正则过滤) | | **易受攻击的组件** | `file-upload-validation-bypass.yaml` | 文件上传验证绕过 | | | `vulnerable-library.yaml` | 易受攻击库的检测 | ### 模板编写指南 请参阅 `TEMPLATE_EXAM.md`。关键规则: - 每个模板必须在顶部包含 `USAGE` · `OPTIONS` · `EXAMPLE` 注释块。 - 必须指定 `info.classification.cwe-id` 和 `info.metadata.cwe-name` 以便与场景生成连接。 - 运行时变量定义为 `{TARGET_URL}` 格式;严禁修改原始文件。 - 首先列出常见的电子商务路径;将针对特定解决方案的路径添加在底部。 ## 团队
Hoyoung Lee
Hoyoung Lee

Project Manager
Euijun Park
Euijun Park

Member
Minhyuk Lee
Minhyuk Lee

Member
Hyungeun Son
Hyungeun Son

Member
## 许可证 本项目基于 MIT 许可证授权。
标签:CAPEC, CISA项目, Cloudflare, Docker, Google, GPT, HTTP工具, Kubernetes, MITRE ATT&CK, Nuclei, Python, ReportLab, STIX2, Streamlit, TruffleHog, 上下文链接, 人工智能安全, 加密, 反取证, 合规性, 威胁情报映射, 学术论文, 安全可视化, 安全评估, 安全防御评估, 密码管理, 插件系统, 攻击场景生成, 无后门, 智能体工作流, 漏洞扫描器, 漏洞管理, 红队自动化, 网络安全, 网络安全审计, 自主AI代理, 自动化安全分析, 自动化渗透测试, 访问控制, 请求拦截, 逆向工具, 防御矩阵, 隐私保护