erkanrzgc/cyberm4fia-scanner
GitHub: erkanrzgc/cyberm4fia-scanner
一款基于 LLM 的自动化渗透测试框架,通过自适应推理和多阶段攻击链检测实现漏洞的自动发现与可利用性验证。
Stars: 0 | Forks: 1
cyberm4fia-scanner
██████╗██╗ ██╗██████╗ ███████╗██████╗ ███╗ ███╗██╗ ██╗███████╗██╗ █████╗
██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗████╗ ████║██║ ██║██╔════╝██║██╔══██╗
██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝██╔████╔██║███████║█████╗ ██║███████║
██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗██║╚██╔╝██║╚════██║██╔══╝ ██║██╔══██║
╚██████╗ ██║ ██████╔╝███████╗██║ ██║██║ ╚═╝ ██║ ██║██║ ██║██║ ██║
╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
|
|
cyberm4fia-scanner 是一个由 AI 驱动的自动化渗透测试框架,适用于 Web 应用、API、网络和云基础设施。
集 nuclei 快速扫描、Burp 深度验证、方法论驱动的漏洞利用以及 ChatGPT 级别的推理能力于一体。
## 为什么选择 cyberm4fia-scanner
| 其他工具提供的 | cyberm4fia-scanner 提供的 |
|---|---|
| 模板 / 指纹匹配 | **已验证的漏洞利用** — 主动验证器(Playwright、preload list、polyglot probe)仅在漏洞确实可触发时,才将 `Missing_*` 安全建议提升为 `*_Exploitable` |
| 扁平化的发现列表 | **攻击链检测** — Missing CSP + 反射输入 → Stored XSS Exfil;不安全的 Cookie + XSS → Cookie Theft Chain(确定性模式 + AI 发现的攻击链) |
| 5 行字的 CVE 描述 | **93 项 AI 加载的方法论** (`core/ai_skills/`) — 每项攻防技能都附带了 AI 针对每个发现所参考的操作手册 |
| 单个巨大的 `index.html` | **SARIF + Burp XML + Markdown + HTML + JSON + JSONL** — 无需胶水代码即可无缝接入 GitHub Code Scanning、Burp Pro、DefectDojo、Jenkins warnings-ng、GitLab SAST |
| 硬性失败 / 通过 | **按严重程度划分的退出代码** — `0` 干净 / `1` 严重 / `2` 高危 / `3` 中危 / `4` 低危 — 通过 `SCAN_EXIT_THRESHOLD` 进行控制,以便 CI/CD 流水线自行选择阈值 |
| 供应商锁定 | **仅依赖 NVIDIA NIM** — 无 OpenAI / Anthropic 依赖;默认使用 `meta/llama-3.3-70b-instruct`,采用双模型路由以降低成本 |
| 崩溃时“从头重新运行” | **阶段恢复 + URL 恢复** — 为每个阶段和每个 URL 持久化检查点;恢复时直接从您停止的地方继续 |
| “相信结果” | **0-day 机器验证门控** — 每个发现都会经历 `suspected → evidence_confirmed → verified → exploitable` 的过程,并且 SPA / catch-all 200 响应会被内容指纹过滤器过滤掉 |
### 核心功能
- **90+ 攻击模块**,涵盖 Web、API、网络、云和 OSINT — 而不仅仅是一个 `nmap` / `nuclei` 包装器。
- **自我修复的漏洞利用 Agent** — LLM 编写漏洞利用代码,由 sandbox 运行,错误信息会作为修复尝试回传,直到成功运行。
- **自适应 LLM 编排** — 规划器在每一轮中会对侦查和发现做出反应,并将发现的漏洞链接起来(例如 `LFI` → 日志中毒 → `RCE`),而不是运行固定的检查清单。
- **外部工具适配层** — 经过实战检验的 CLI(`masscan`、`sslyze`、`wpscan`、`arjun`、`nuclei`、`gowitness`、`gitleaks`、`testssl.sh`、`smbmap`、`kube-hunter`、`CloudHunter`)通过统一的 `BaseTool` 协议接入。
- **MITRE ATT&CK 标记的发现**、严格的范围控制以及沙盒化漏洞利用运行器 — 专为授权测试设计,而非恶作剧。
## 与其他扫描器对比
| | **cyberm4fia** | nuclei | OWASP ZAP | Burp Pro | Acunetix |
|---------------------------------------|:--------------:|:-------:|:---------:|:--------:|:--------:|
| 基于模板的检测 | ✅ | ✅ | ✅ | ✅ | ✅ |
| AI 驱动的漏洞利用生成 | ✅ | ❌ | ❌ | ❌ | 部分 |
| 基于 技能 / 方法论的推理 | ✅ (93 项技能) | ❌ | ❌ | ❌ | ❌ |
| 多阶段攻击链检测 | ✅ (确定+AI) | ❌ | ❌ | 手动 | 部分 |
| 内容指纹 FP 过滤器 | ✅ (simhash) | ❌ | 部分 | ❌ | ✅ |
| 主动漏洞验证器 (Playwright) | ✅ | ❌ | ❌ | ✅ | ✅ |
| 0-day 验证门控 | ✅ | ❌ | ❌ | ❌ | ❌ |
| SARIF + Burp XML + DefectDojo | ✅ | 部分 | 部分 | 原生 | 部分 |
| 按严重程度的 CI 退出代码 | ✅ | ❌ | 部分 | ❌ | 部分 |
| 阶段级别扫描恢复 | ✅ | ❌ | ❌ | 部分 | ❌ |
| Headless / SPA 爬取 | ✅ | ❌ | ✅ | ✅ | ✅ |
| 开源 / 可自托管 | ✅ | ✅ | ✅ | ❌ | ❌ |
定位:**具有可验证漏洞利用能力的 AI 增强型攻击扫描器** — 介于 nuclei 的模板速度、Burp 的手动深度和 AI 助手的推理能力之间。
## 架构
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ scanner.py / cyberm4fia CLI / REST API / Interactive wizard / MCP server │
└────────────────────────────────────────┬────────────────────────────────────┘
│
┌─────────────────┴──────────────────┐
│ Phase pipeline (checkpointed) │
└─────────────────┬──────────────────┘
│
┌─────────────┬─────────────┬─────────┴────────┬──────────────┬───────────┐
│ recon │ discovery │ per-URL active │ post-scan │ reporting│
│ subdomain │ crawler │ XSS/SQLi/LFI │ auth bypass │ SARIF │
│ tech detect │ fuzzer │ SSRF/CMDi/SST │ business log │ Burp XML │
│ port scan │ param disc │ CORS/CSRF/XXE │ race / jwt │ HTML/MD │
│ wayback │ api spec │ passive hooks │ smuggle/proto│ findings │
└──────┬──────┴──────┬──────┴──────────┬───────┴──────┬───────┴───────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Cross-cutting: scope enforcement · request budget · │
│ WAF auto-calibration · proxy interceptor · OOB client │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────┴──────────────────┐
│ Finding pipeline │
└─────────────────┬──────────────────┘
│
┌────────────┬──────────┬────────┴────────┬───────────────┬──────────┐
│ normalize │ SPA-FP │ active verifier │ chain detector│ AI:FP │
│ +registry │ filter │ (CJ/HSTS/MIME/ │ (det patterns │ + remed │
│ +CVSS/CWE │ (simhash)│ Referrer/Perm) │ + AI-discov) │ + skill │
└────────────┴──────────┴─────────────────┴───────────────┴──────────┘
│
┌─────────────────┴──────────────────┐
│ Validation gates (0-day machine) │
│ suspected → evidence_confirmed → │
│ verified → confirmed → exploitable │
└─────────────────┬──────────────────┘
│
▼
┌──────────────────────────────────────────┐
│ scans/
/ : report.html, .md, │
│ results.sarif, issues.burp.xml, │
│ findings.json, scan.json, pocs/*.html │
└──────────────────────────────────────────┘
```
## 最新动态 — 最近 3 个冲刺周期
- **`feat(verifiers+ci+exports)`** — 5 个主动验证器(Clickjacking、HSTS、MIME、Referrer、Permissions-Policy),Burp Issues XML 导出,按严重程度的 CI 退出代码,GitHub Code Scanning SARIF 上传,身份验证会话审计模块,`docs/INTEGRATIONS.md`。
- **`feat(fp+headers)`** — SPA 后备 FP 过滤器(simhash + DOM 骨架 + 标题哈希),`Missing_Security_Header` → 真实的漏洞利用 payload + 攻击链提升,5 个新的攻防 SKILL.md(clickjacking、hsts-downgrade、mime-confusion、referrer-policy-leak、defensive-fp-filter),4 个新的攻击链模式。
- **`feat(hardening)`** — `ScanSession` 中的阶段边界检查点(恢复时会跳过已完成的阶段,并持久化流水线中途的发现),针对所有 10 个外部工具包装器的真实二进制文件集成测试套件,AI 预算控制,沙盒化漏洞利用运行器。
## 60 秒快速开始
```
git clone https://github.com/erkanrzgc/cyberm4fia-scanner.git
cd cyberm4fia-scanner
pip install -r requirements.txt
# 完整被动 + 主动扫描
python3 scanner.py -u https://your-target.example/ --all
# + AI 分析(先设置 NVIDIA_API_KEY)
export NVIDIA_API_KEY=nvapi-...
python3 scanner.py -u https://your-target.example/ --all --ai
```
## 演示
### Web 应用程序扫描
| 模块 | 标志 | 描述 |
|---|---|---|
| XSS | `--xss` | 具备上下文感知 payload 选择的反射型和存储型 XSS 检测。 |
| SQLi | `--sqli` | 基于联合查询的 SQL 注入,带有盲注回退和漏洞利用后处理。 |
| LFI | `--lfi` | 针对目录遍历和 wrapper payload 的本地文件包含检测。 |
| RFI | `--rfi` | 针对远程获取和执行 sink 的远程文件包含检测。 |
| CMDi | `--cmdi` | 操作系统命令注入检测,带有可选的交互式 shell 工作流。 |
| SSRF | `--ssrf` | 服务端请求伪造检测,包括云元数据探测。 |
| CSRF | `--csrf` | 对发现的表单进行 CSRF token 和表单保护检测。 |
| CORS | `--cors` | 跨域资源共享配置错误检测。 |
| Header Injection | `--header-inject` | CRLF 和 Header 注入检测。 |
| DOM XSS | `--dom-xss` | 使用 Playwright 浏览器执行的基于 DOM 的 XSS 检测。 |
| SSTI | `--ssti` | 针对常见服务端模板引擎的模板注入检测。 |
| XXE | `--xxe` | XML 外部实体注入检测。 |
| Open Redirect | `--redirect` | 对发现的 URL 进行重定向滥用检测。 |
| 被动扫描 | `--passive` | 针对 headers、调试信息泄露和轻量级数据泄露的被动检测。 |
| 密钥扫描 | `--secrets` | 针对 API 密钥和 token 的 HTML 和 JavaScript 密钥暴露扫描。 |
| OOB 测试 | `--oob` | 用于盲漏洞验证的带外回调支持。 |
### API 安全
| 模块 | 标志 | 描述 |
|---|---|---|
| API 扫描器 | `--api-scan` | OWASP API 测试,支持 OpenAPI 导入、schema 感知请求体和身份验证情报。 |
### 网络与基础设施
| 模块 | 标志 | 描述 |
|---|---|---|
| 侦查 | `--recon` | 深度端口、DNS 和 TLS 侦查。每次扫描都会运行轻量级服务器和 header 情报收集。 |
| 子域名发现 | `--subdomain` | 针对目标主机的子域名枚举。 |
| Endpoint Fuzzer | `--fuzz` | 目录和 API endpoint 暴力破解,具备智能 404 校准功能。 |
| 爬虫 | `--crawl` | 具备表单和链接发现功能的递归爬虫。 |
| Headless 发现 | `--headless` | 基于 Playwright 的 SPA 渲染和后台 endpoint 发现。 |
| 云存储桶 | `--cloud` | 开放的 S3、Azure Blob 和 GCP 存储桶检测。 |
| 子域名接管 | `--takeover` | 悬空 DNS 和接管指纹检测。 |
| 凭据爆破 | `--spray` | 针对暴露服务的默认凭据检测。 |
### 情报与 OSINT
| 模块 | 标志 | 描述 |
|---|---|---|
| 技术指纹识别 | `--tech` | Wappalyzer 风格的技术检测,并包含 CVE 扩展。 |
| OSINT 扩展 | `--osint` | Shodan InternetDB、WHOIS 和 ASN 情报扩展。 |
| 电子邮件收集 | `--email` | 从公共来源和页面内容收集电子邮件。 |
### 自动化与报告
| 模块 | 标志 | 描述 |
|---|---|---|
| JWT 攻击套件 | `--jwt` | 弱密钥、算法混淆和声明篡改检测。 |
| 竞争条件 | `--race` | TOCTOU 和重放式并发检测。 |
| HTTP 走私 | `--smuggle` | CL.TE 和 TE.CL 请求走私检测。 |
| 原型污染 | `--proto` | Node.js 原型污染探测。 |
| 反序列化 | `--deser` | 不安全的反序列化检测。 |
| 业务逻辑 | `--bizlogic` | 多步骤业务逻辑缺陷检测。 |
| 漏洞链 | `--chain` | 跨已发现结果的攻击路径关联。 |
| 字典生成 | `--wordlist` | 基于特定站点的密码字典生成。 |
| AI 分析 | `--ai` | 双模型 AI,具备自动化漏洞利用 agent、PoC 生成和误报过滤功能。 |
| 代理拦截器 | `--proxy-listen PORT` | 内置 MITM 代理,用于捕获流量并将其馈送到扫描器工作流中。 |
| PoC 生成器 | `(auto)` | 自动为发现结果生成 HTML 和 JSON 概念验证。 |
| 模板引擎 | `(auto via --all)` | 内置基于模板的检测,可通过全模块模式启用。 |
## 快速开始
扫描器现在默认使用由 `rich` 构建的强大**交互式设置向导**。您只需在终端中传入目标 URL,即可轻松从任何地方运行它:
```
# 直接使用目标启动交互式界面
cyberm4fia https://target.com
```
这将立即显示横幅,并直接询问您有关扫描模式、攻击配置和运行时行为的信息!
如果您更喜欢经典的 CLI 使用方式:
```
# 通过 CLI 进行完整扫描
python3 scanner.py -u https://target.com --all
# 特定模块
python3 scanner.py -u https://target.com --xss --sqli
# 使用本地 OpenAPI spec 进行 API 扫描
python3 scanner.py -u https://api.target.com --api-scan --api-spec openapi.yaml
# 多目标
python3 scanner.py -l targets.txt --all
# 通过 proxy
python3 scanner.py -u https://target.com --all --proxy socks5://127.0.0.1:9050
# Session 恢复
python3 scanner.py --resume scan1.json
```
## 🧨主动漏洞利用框架
cyberm4fia-scanner 不仅仅是发现漏洞——它还会验证并利用它们。通过选择支持该功能的攻击配置,或直接传递 `--exploit` 标志,扫描器将激活后漏洞利用模块:
- **交互式 Shell:** 在发现命令注入或 RCE 时自动捕获反弹 shell。
- **带外 (OOB) 测试:** 启动本地 HTTP 监听器以检测盲注/异步漏洞(支持自动端口回退)。
- **自动化战利品获取:** 提取并转储数据库内容 (SQLi) 或直接将敏感系统文件 (LFI) 抓取到 `loot/` 目录中。
- **离线 PoC 生成:** 生成独立的 `.html` 或 `.json` 工件,以安全地演示确切的漏洞(例如 Clickjacking、CSRF HTML 表单)。
- **Auto-Pwn 交接:** 自动生成可直接运行的 Nuclei 模板或 MSF (Metasploit) 命令,以复现和利用发现结果。
- **Headless 浏览器提权:** 使用 Playwright 在真实的 Headless Chromium 实例中直接驱动主动 DOM XSS 或 CSRF payload 执行。
## 🛡️ 内置代理拦截器
您可以使用内置的 MITM 代理,直接通过扫描器路由您的手动浏览器流量。
```
# 在端口 8081 上启动专门针对 target.com 的 proxy
python3 scanner.py --proxy-listen 8081 --scope-proxy target.com
```
您通过浏览器生成的任何流量都将被自动拦截,馈送到主扫描引擎中,并实时进行漏洞测试。
## 结合 AI 使用
扫描器集成了 **NVIDIA 驱动的 AI 系统**,用于自动化漏洞利用生成、智能分析和自动化 PoC 创建。
### 前置条件
您需要一个 **NVIDIA API Key**。将其设置为环境变量:
```
export NVIDIA_API_KEY="your_nvapi_key_here"
```
### AI 驱动的扫描
```
# 启用 AI 的完整扫描(NVIDIA API)
python3 scanner.py -u https://target.com --all --ai
# AI + 特定模块
python3 scanner.py -u https://target.com --xss --sqli --ai
# 运行 Multi-Agent Autonomous Agent 模式
python3 scanner.py -u https://target.com --agent --ai
```
### 统一的 AI 架构 (70B)
漏洞利用和代码生成角色现在均通过 NVIDIA NIM 使用高性能的 **meta/llama-3.3-70b-instruct** 模型,以实现最高保真度:
| 角色 | 实现方式 | 功能说明 |
|---|---|---|
| 🐇 **漏洞利用 Agent** | Llama 3.3 70B | Payload 制作、WAF 绕过、漏洞利用规划、误报过滤 |
| 🧠 **代码 Agent** | Llama 3.3 70B | PoC 脚本编写、修复代码、代码分析 |
### AI 漏洞利用 Agent
当标准 payload 列表失败时,**自主 AI 漏洞利用 Agent** 将接管:
```
Static Payloads → Smart Probes → WAF Mutation → AI Exploit Agent
↓
Think → Generate → Execute
→ Validate → Learn (3 rounds)
↓
PoC: cURL + Python + Nuclei
```
**支持的漏洞类型:** XSS、SQLi、LFI、CMDi、SSRF
**反幻觉流水线:** 每个 AI 生成的漏洞利用都会通过正则表达式检查 + AI 二次验证进行验证。置信度低于 70% 的内容将被自动拒绝。
### 公共漏洞利用情报
当发现 CVE 时,扫描器会自动搜索已知的公共漏洞利用程序:
```
Technology Detected → SiberAdar CVE Feed → Public Exploit Search
↓
ExploitDB (searchsploit) — offline archive
GitHub PoC — starred repositories
sploitscan — multi-source aggregation
↓
AI Agent uses real PoCs as templates
```
用于增强覆盖率的可选工具:
```
# ExploitDB 离线存档
sudo apt install exploitdb
# 多源 exploit 搜索
pip3 install sploitscan
```
### AI 功能摘要
| 功能 | 描述 |
|---|---|
| **自主漏洞利用 Agent** | 迭代式的 思考→生成→执行→验证→学习 循环 |
| **双模型路由** | WhiteRabbitNeo 负责漏洞利用,Qwen3-Coder 负责代码 |
| **反幻觉** | 正则表达式 + AI 验证,70% 置信度阈值 |
| **PoC 生成** | 自动生成 cURL、Python 脚本、Nuclei 模板 |
| **漏洞利用链检测** | 7 种内置模式 + AI 发现的攻击链 |
| **公共漏洞利用搜索** | ExploitDB、GitHub、sploitscan 集成 |
| **WAF 绕过变异** | 不断进化的 AI 变异引擎,用于自适应绕过 |
| **误报过滤** | AI 辅助验证,减少噪音 |
| **修复指导** | AI 生成的代码修复和最佳实践 |
| **高管摘要** | AI 编写的 C-level 安全报告 |
## 扫描模式
| 模式 | 延迟 | 线程 | 适用场景 |
|---|---|---|---|
| `normal` | 0.5秒 | 10 | 适用于大多数目标的平衡默认模式。 |
| `stealth` | 3.0秒 | 1 | 适用于谨慎测试的慢速、低噪音模式。 |
| `lab` | 0.05秒 | 30 | 仅适用于本地实验室、staging 环境和 CTF 环境的高噪音模式。 |
## 攻击配置
| 配置 | 覆盖范围 | 包含的标志 | 建议的附加项 |
|---|---|---|---|
| `1-Fast Recon` | 侦查、子域名发现、endpoint fuzzing、技术情报和被动检测。 | `--fuzz`, `--passive`, `--recon`, `--subdomain`, `--tech` | `--crawl`, `--osint`, `--headless` |
| `2-Core Web Vulns` | 核心 Web 检测,如 XSS、SQLi、文件包含、CMDi、CSRF、CORS 和 DOM XSS。 | `--cmdi`, `--cors`, `--csrf`, `--dom-xss`, `--header-inject`, `--lfi`, `--passive`, `--rfi`, `--sqli`, `--xss` | `--secrets`, `--oob`, `--headless`, `--exploit` |
| `3-Advanced / Modern` | JWT、反序列化、SSTI、竞争条件、原型污染、SSRF、业务逻辑、API、OOB 和 XXE 覆盖。 | `--api-scan`, `--ato`, `--auth-bypass`, `--bizlogic`, `--deser`, `--file-upload`, `--forbidden-bypass`, `--jwt`, `--oob`, `--proto`, `--race`, `--redirect`, `--smuggle`, `--ssrf`, `--ssti`, `--xxe` | `--tech`, `--passive`, `--chain`, `--exploit` |
| `4-All-In-One` | 启用几乎所有扫描模块,但不包含 AI 和 SARIF 等可选的附加项。 | `(auto via --all)`, `--api-scan`, `--ato`, `--auth-bypass`, `--bizlogic`, `--chain`, `--cloud`, `--cmdi`, `--cors`, `--crawl`, `--csrf`, `--deser`, `--dom-xss`, `--dorking`, `--email`, `--file-upload`, `--forbidden-bypass`, `--fuzz`, `--har-output`, `--header-inject`, `--headless`, `--html`, `--jwt`, `--lfi`, `--oob`, `--osint`, `--passive`, `--proto`, `--race`, `--recon`, `--redirect`, `--rfi`, `--secrets`, `--smuggle`, `--spray`, `--sqli`, `--ssrf`, `--ssti`, `--subdomain`, `--takeover`, `--tech`, `--urlscan`, `--wayback`, `--xss`, `--xxe`, `Git History Secret Scanner (white-box + exposed-.git probe)`, `Multi-Provider Asset Search (Censys/ZoomEye/FOFA/Onyphe/Netlas/FullHunt/LeakIX)`, `Nuclei Community Templates`, `SSH/FTP Brute-Force`, `Scan Drift Detection` | `--wordlist`, `--exploit` |
| `5-Custom Choice` | 逐一询问每个模块的提示。 | `manual selection` | - |
| `6-Web Recon + Audit` | OctoScan 风格的 Web 攻击链:技术情报 + Nuclei 社区模板 + endpoint fuzzing + 爬虫 + 7-provider 资产搜索 + 被动扫描。 | `--cookie COOKIE`, `--cors`, `--crawl`, `--fuzz`, `--header-inject`, `--passive`, `--recon`, `--subdomain`, `--tech`, `Multi-Provider Asset Search (Censys/ZoomEye/FOFA/Onyphe/Netlas/FullHunt/LeakIX)`, `Nuclei Community Templates`, `csp_bypass` | `--secrets`, `git_history` |
## CI/CD 与集成
每次扫描都会输出 **SARIF** (`results.sarif`)、**Burp Issues XML** (`issues.burp.xml`)、增强的 JSON、HTML、Markdown 和 PoC HTML。导入目标:
| 目标 | 格式 | 一行命令 |
|---|---|---|
| **GitHub Code Scanning** | SARIF | 通过 `github/codeql-action/upload-sarif@v3` 上传(已在 `.github/workflows/security-scan.yml` 中配置好) |
| **Burp Suite Pro** | Burp Issues XML | *Project → Import issues → `issues.burp.xml`* |
| **DefectDojo** | SARIF 或 Burp XML | API: `POST /api/v2/import-scan/`(详见 `docs/INTEGRATIONS.md`) |
| **Jenkins** | SARIF | `recordIssues(tools: [sarif(pattern: 'scans/**/results.sarif')])` |
| **GitLab Ultimate** | SARIF 作为 SAST | `artifacts.reports.sast: scans/*/results.sarif` |
### 用于流水线门控的按严重程度退出代码
```
python3 scanner.py -u https://my-app/ --xss --sqli --sarif
# exit 0 = 无风险
# exit 1 = CRITICAL 发现
# exit 2 = HIGH 发现
# exit 3 = MEDIUM 发现
# exit 4 = LOW/INFO 发现
# exit 10 = 扫描器内部错误
```
使用 `SCAN_EXIT_THRESHOLD=critical|high|medium|low|info|never` 选择阈值。完整的映射表以及 Burp / DefectDojo / Jenkins / GitLab 示例请见 **[`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)**。
## REST API
扫描器包含一个基于 FastAPI 的 REST API,并附带自动生成的文档。
```
python3 scanner.py --api --port 8080
```
| Endpoint | 方法 | 描述 |
|---|---|---|
| `/api/scan` | POST | 开始新的扫描 |
| `/api/scan/{id}` | GET | 获取扫描结果 |
| `/api/scans` | GET | 列出所有扫描 |
| `/api/report/{id}` | GET | 下载 HTML 报告 |
| `/api/scan/{id}` | DELETE | 取消扫描 |
| `/docs` | GET | Swagger UI |
| `/redoc` | GET | ReDoc |
## 项目结构
```
cyberm4fia-scanner/
├── scanner.py # main orchestrator
├── api_server.py # FastAPI REST API
├── modules/ # 40+ scanning modules
├── utils/ # HTTP client, WAF detection, auth, AI engine
│ ├── ai.py # dual-model AI client (WhiteRabbitNeo + Qwen3-Coder)
│ ├── ai_exploit_agent.py # autonomous exploit agent + chain detector
│ └── exploit_finder.py # ExploitDB, GitHub PoC, sploitscan search
├── payloads/ # XSS, SQLi, LFI, SSRF, CMDi payload files
├── wordlists/ # fuzzer wordlists
├── tests/ # pytest test suite (470+ tests)
├── .github/workflows/ # CI/CD pipelines
├── .env.example # environment variable template
└── requirements.txt # dependencies
```
## 配置
将 `.env.example` 复制为 `.env` 并设置您的值:
```
cp .env.example .env
```
| 变量 | 描述 |
|---|---|
| `NVIDIA_API_KEY` | 用于 AI 驱动扫描的 NVIDIA NIM API 密钥 |
| `WATCHSTACK_API_KEY` | 用于已验证 PoC 情报的 WatchStack.io API 密钥(免费层级:30 次请求/分钟) |
| `GITHUB_TOKEN` | 用于提高 PoC 搜索频率限制的 GitHub API token |
| `SHODAN_API_KEY` | 用于 OSINT 扩展的 Shodan API 密钥 |
| `DEFAULT_THREADS` | 默认线程数 |
| `DEFAULT_DELAY` | 默认请求延迟 |
| `VERIFY_SSL` | SSL 验证开关 |
| `HTTP_PROXY` | 代理 URL |
## 测试
```
pip install pytest
pytest tests/ -v
```
## 法律免责声明
## 许可证
该项目基于 MIT 许可证授权。有关更多详细信息,请参阅 LICENSE 文件。标签:AI代理, CISA项目, DLL 劫持, Python, Web报告查看器, XXE攻击, 大语言模型, 无后门, 特征检测, 聊天机器人, 自动化攻击, 逆向工具