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安全, 子域名突变, 搜索引擎查询, 特征检测, 自动化渗透测试, 蓝队分析, 逆向工具