mlyu2000/ai-vulnerability-scanner
GitHub: mlyu2000/ai-vulnerability-scanner
这是一款部署在 HPE Private Cloud AI 上、利用 LLM 模拟渗透测试人员思维来自动分析并发现 Web 应用漏洞的 AI 扫描工具。
Stars: 0 | Forks: 0
# AI 漏洞扫描器 — HPE Private Cloud AI 演示
| 角色 | 姓名 | 邮箱 |
|------|------|-------|
| 用例负责人 | Eric Yu | eric.yu@hpe.com |
| PCAI 部署负责人 | Eric Yu | eric.yu@hpe.com |
## 摘要
此演示展示了如何使用 **AIE 软件栈** 在 **HPE Private Cloud AI (PCAI)** 上部署由 AI 驱动的漏洞扫描器。该应用程序使用无头浏览器抓取目标 URL,然后使用由 **HPE MLIS 提供的兼容 OpenAI 的 LLM**,像渗透测试人员一样分析每个页面。它会输出排序后的发现结果——包括严重程度、置信度、复现步骤和修复建议——以及实时调试控制台和可导出的报告。
部署遵循标准的 PCAI 模式:应用程序被打包为 **Helm chart**,通过 **Tools & Frameworks** 作为 **Framework** 导入,并通过 **Istio gateway** 暴露。
## 演示概述视频
https://hpe-my.sharepoint.com/:v:/p/eric_yu/IQBizGCLnoaZQ5jAiV8x4t7qAb1oqZ8nzOLjEi6ytIhnVbY?e=Ikpet3
## 使用的工具和框架
- **HPE Private Cloud AI** — AIE 软件栈、Istio gateway、Tools & Frameworks
- **HPE MLIS** — 模型部署与推理
- **Kubernetes + Helm** — 打包与部署
- **Next.js** — Web 仪表板
- **FastAPI** — API gateway 与 SSE
- **Celery + Redis** — 异步抓取/分析 pipeline
- **Playwright** — 无头浏览器抓取
## 架构
```
┌──────────────┐ /api (proxied) ┌──────────────────────┐
│ Next.js UI │ ───────────────────────▶ │ FastAPI gateway │
│ (web) │ │ (/api/scans, SSE) │
│ :3000 │ ◀── SSE (direct) ───────│ │
└──────────────┘ └──────────┬───────────┘
│ Celery (Redis broker)
▼
┌──────────────────────┐
│ Worker (Playwright) │
│ crawl → LLM analyze │
└──────────┬───────────┘
│ OpenAI-compatible /v1
▼
┌──────────────────────┐
│ LLM (HPE MLIS) │
│ Qwen / Nemotron / … │
└──────────────────────┘
│
Redis (scan state/log)
```
## 工作流程
1. 在 PCAI 控制台中将 Helm chart 作为 Framework 导入。
2. 配置 MLIS 模型 endpoint 和 API Key,然后进行部署。
3. 从 PCAI UI 打开应用程序。
4. 输入目标 URL,授权扫描,调整抓取深度 / 最大页面数,然后开始。
5. 在调试控制台中观看实时抓取和分析事件。
6. 查看发现结果、风险评分,并将报告导出为 CSV / JSON。
## 前置条件
- 启用了 Tools & Frameworks 的 **PCAI AIE** 环境。
- 提供兼容 OpenAI 的 `/v1` API 的 **HPE MLIS** 模型 endpoint。
- 用于部署的 **Kubernetes namespace**。
- 从此仓库导出的 Helm chart 包。
- 容器镜像的 registry 访问权限。
## 部署说明
### 步骤 1 - 作为 Framework 导入
1. 在 PCAI 控制台中,转到 **Tools & Frameworks** → **Import Framework**。
2. 提供 framework 名称、描述和图标。
3. 上传 `ai-vulnerability-scanner-0.1.5.tgz`。
4. 选择目标 namespace。
5. 进行部署并等待 framework 资源准备就绪。
### 步骤 2 — 配置 framework
在导入期间或之后设置 LLM 集成以及任何特定于基础设施的值:
- `llm.baseUrl` — 你的 MLIS 模型 **API Base URL**(追加 `/v1`)
- `llm.apiKey` — 你的 MLIS **API Key**(通过现有的 Secret 注入;不要将真实密钥提交到 `values.yaml` 中)
- `llm.model` — 模型 ID(例如 `Qwen/Qwen2.5-7B-Instruct`)
- `llm.thinkingEffort` — 扫描器可以使用推理或非推理模型(例如 `minimal/low/high`)
- `externalRedisUrl` — 我们有内部的 redis,请将此 endpoint 留空
- `image.tag` — `0.1.1`
## 使用应用程序
1. 从 PCAI **Tools & Frameworks** 页面打开应用程序。
2. 输入您授权扫描的 **Target URL**。
3. 勾选 **"I am authorized to scan this target"** 以启用 **Start scan**。
4. 可选择启用 **Active probing** 并调整 **Crawl depth** / **Max pages**。
5. 点击 **Start scan**。**Debug Console** 会自动打开并流式传输实时事件。
6. 完成后,查看发现结果、风险评分,并使用 **Export CSV / JSON**。
7. 已完成的扫描会显示在 **Recent Scans** 中,可以随时重新打开。
## 限制
- **演示范围:** 此项目仅用于演示和授权测试。
- **单一模型:** 一个兼容 OpenAI 的模型驱动所有分析。
- **LLM 服务:** 共享的 MLIS endpoint 是有状态的;在严重的突发负载下,可能会出现瞬态 5xx 错误。应用程序会重试服务器错误并序列化分析,以尽量减少影响。
- **无持久化存储:** 扫描历史记录保存在 Redis 中,在 Redis 重置时会丢失。
- **网络策略:** 在受限的 PCAI 环境中,请将发往 LLM namespace 的 egress 加入允许列表,并允许目标扫描主机。
标签:AI漏洞扫描, AV绕过, CISA项目, FastAPI, Web安全, 子域名突变, 搜索引擎查询, 特征检测, 自动化渗透测试, 蓝队分析, 逆向工具