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绕过, 逆向工具