hanlin1108/vuln-scanner-agent
GitHub: hanlin1108/vuln-scanner-agent
基于 Google ADK 和 Gemini 的多智能体协作漏洞扫描器 POC,通过规划、审查、评估、报告四个阶段的流水线自动化完成代码安全审计。
Stars: 0 | Forks: 0
# 漏洞扫描器 POC — Google ADK 多智能体
一个基于 [Google Agent Development Kit (ADK)](https://google.github.io/adk-docs/) 构建的概念验证多智能体安全扫描器。它编排了四个专门的 AI 智能体,用于规划、审查、评估和报告任何代码库中的安全漏洞。
## 架构
```
┌─────────────────────────────────────────────────────────────┐
│ SequentialAgent: vuln_scanner │
│ │
│ ┌───────────┐ ┌─────────────────────────┐ ┌────────┐│
│ │ Planner │───▶│ LoopAgent: review_loop │───▶│Reporter││
│ │ │ │ (max 3 iterations) │ │ ││
│ │ list_files│ │ ┌──────────┐ ┌───────┐ │ │ writes ││
│ │ pick top │ │ │ Reviewer │→│ Critic │ │ │ final ││
│ │ 10 files │ │ │read_file │ │exit_ │ │ │ report ││
│ │ │ │ │ │ │ loop │ │ │ ││
│ └───────────┘ │ └──────────┘ └───────┘ │ └────────┘│
│ └─────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Data flow:
Planner ──files_to_review──▶ Reviewer ──findings──▶ Critic
▲ │
│ review_feedback │
└─────────────────────┘
(loop)
Critic ──exit_loop──▶ Reporter ──final_report──▶ User
```
## 前置条件
- Python 3.11+
- 启用了 Vertex AI API 的 Google Cloud 项目
- 已安装并完成身份验证的 `gcloud` CLI
## 安装说明
1. **安装 ADK**
pip install google-adk
2. **配置您的项目**
编辑 `vuln_scanner/.env` 并将 `YOUR_PROJECT_ID` 替换为您真实的 GCP 项目 ID:
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT=my-gcp-project-123
GOOGLE_CLOUD_LOCATION=us-central1
3. **进行身份验证**
gcloud auth application-default login
## 运行说明
在此目录(`vuln_scanner/` 的父目录)下运行:
```
adk web
```
这将在 `http://localhost:8000` 上启动 ADK Web UI。
## 演示指南
1. 在浏览器中打开 **http://localhost:8000**。
2. 从左上角的智能体下拉菜单中选择 **vuln_scanner**。
3. 发送如下提示词:
4. 观察智能体实时处理整个流水线的过程。
### 示例提示词
```
Scan the codebase at /Users/yourname/projects/my-web-app for security vulnerabilities.
Focus especially on authentication and API endpoints.
```
## 预期效果
扫描器分四个阶段运行:
| 阶段 | 智能体 | 功能说明 |
|-------|-------|--------------|
| 1 | **Planner** | 扫描目标目录,识别代码文件,并挑选出与安全性最相关的前 10 个文件(如身份验证、路由、数据库、配置)。 |
| 2 | **Reviewer** | 阅读每个已优先排序的文件,并识别出具体的漏洞,提供行号、严重等级以及修复建议。 |
| 3 | **Critic** | 评估审查质量。如果存在遗漏,它会将任务退回给 Reviewer 进行下一轮分析(最多 3 次迭代)。如果已足够全面,则退出循环。 |
| 4 | **Reporter** | 将所有发现整理成一份精美的 Markdown 报告,包含执行摘要、严重程度统计、详细发现以及首要行动项。 |
最终输出是一份结构化的漏洞报告,可直接与您的团队分享。
## 给管理层的演示要点
- **多智能体编排** — 展示了专门的智能体如何协同工作:规划、执行、质量保证和报告,映射了真实安全团队的运作方式。
- **自我完善的审查循环** — Critic 智能体充当质量把关者,如果工作不够全面,会将其退回。这种模式适用于任何审查工作流(代码审查、合规性检查、审计)。
- **基于 Google ADK 构建** — 使用 Google 的智能体框架以及 Vertex AI 上的 Gemini 模型。具备生产就绪的基础设施,并内置了企业级身份验证、日志记录和扩展功能。
- **可扩展的架构** — 轻松添加新的智能体(例如,生成修复 PR 的修复智能体)或替换为不同的模型。这种模式可推广到任何多步骤的分析工作流中。
- **实用的 AI 价值** — 安全审查既昂贵又缓慢。此 POC 演示了 AI 智能体如何加速初次审查,从而让人类审查员能够专注于风险最高的发现。
标签:AI安全, Chat Copilot, CISA项目, DevSecOps, DLL 劫持, Gemini, Google ADK, LoopAgent, PoC, Python, SequentialAgent, 上游代理, 人工智能, 代码安全审计, 代码审查, 代码漏洞检测, 多智能体, 大语言模型, 安全报告, 无后门, 智能体编排, 暴力破解, 概念验证, 源码分析, 用户模式Hook绕过, 逆向工具