dc401/adk-rem

GitHub: dc401/adk-rem

基于 Google ADK 多智能体架构的云原生恶意软件深度分析平台,集成 15+ 静态分析工具并自动生成威胁情报报告。

Stars: 0 | Forks: 0

# ADK-REM:基于 Google ADK 的恶意软件分析平台 **自动化恶意软件深度逆向工程** 一个基于 Google Cloud Platform 构建的云原生恶意软件分析平台,使用 Google Agent Development Kit (ADK) 进行高级多智能体分析。 ## 概述 ADK-REM 是一个 3 阶段恶意软件分析流水线,它将静态分析工具与 AI 驱动的多智能体推理相结合,生成全面且达到分析师级别的威胁情报报告。 ### 关键特性 - **Magic Header 检测**:根据内容而非扩展名分析文件(支持 ELF, PE, ZIP, JS, PS1 等) - **多智能体 ADK 分析**:语义关联、深度 RE 分析和证据验证 - **15+ 分析工具**:YARA, CAPA, FLOSS, pefile, GTI, strace 等 - **自动化 HTML 报告**:包含 IOC, MITRE TTP 和 RE 建议的技术报告 - **Serverless 架构**:具有 60 分钟超时设置的 Cloud Run 服务,用于深度分析 - **Firestore 状态追踪**:保留完整的分析历史和工具输出 ## 架构 ### 3 阶段分析流水线 ``` ┌─────────────────────────────────────────────────────────────┐ │ Stage 1: Upload & Tool Orchestration │ │─────────────────────────────────────────────────────────────│ │ 1. Malware uploaded to GCS bucket │ │ 2. Eventarc triggers orchestrator │ │ 3. File type detection (magic headers) │ │ 4. Parallel tool invocation (15 Cloud Run services) │ │ 5. Results stored in Firestore │ └─────────────────────────────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Stage 2: Multi-Agent ADK Analysis (FINAL VERDICT) │ │─────────────────────────────────────────────────────────────│ │ • Agent 1 (Aggregator): Semantic correlation │ │ • Agent 2 (Researcher): Deep RE + GoogleSearch │ │ • Agent 3 (Judge): Evidence validation │ │ • Tool re-invocation if data insufficient │ │ • Self-healing adaptive analysis │ │ • Produces final threat score and verdict │ └─────────────────────────────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Stage 3: Quality Monitoring & Report Generation │ │─────────────────────────────────────────────────────────────│ │ • OSINT enrichment (threat intelligence validation) │ │ • Quality assessment (6 warning types) │ │ • Stage 2 verdict is ALWAYS final (Stage 3 never overrides) │ │ • Dual confidence display (Stage 2 + Stage 3 metrics) │ │ • Human-readable HTML report with IOCs, MITRE TTPs │ │ • Report saved to GCS bucket │ └─────────────────────────────────────────────────────────────┘ ``` **关键架构原则**:第 2 阶段的判定是最终权威。第 3 阶段提供质量监控、OSINT 丰富化,并生成供人工审查的警告,但绝不会覆盖威胁评分或判定结果。 ### 基础设施 **区域**:us-central1 **核心服务** (2): - `adk-rem-orchestrator`:主编排器(第 1 阶段 + 第 2 阶段 + 第 3 阶段) - `adk-rem-html-report-generator`:HTML 报告生成 **分析工具** (14): - `adk-rem-tool-yara`:YARA 规则扫描 - `adk-rem-tool-capa`:能力分析(CAPA 框架) - `adk-rem-tool-floss`:字符串提取(FLOSS) - `adk-rem-tool-pefile`:PE 二进制分析 - `adk-rem-tool-elffile`:ELF 二进制分析 - `adk-rem-tool-gti`:Google Threat Intelligence API - `adk-rem-tool-script-analyzer`:脚本分析(JS, PS1 等) - `adk-rem-tool-archive-extractor`:ZIP/压缩包提取 - `adk-rem-tool-office-analyzer`:Office 文档分析 - `adk-rem-tool-pdf-analyzer`:PDF 分析 - `adk-rem-tool-strace`:系统调用追踪 - `adk-rem-tool-firestore-writer`:Firestore 持久化 - `adk-rem-tool-html-report-generator`:HTML 生成(工具版本) **存储**: - `adk-rem--malware-samples`:样本上传 - `adk-rem--malware-reports`:分析报告 - `adk-rem--orchestrator-source`:源代码暂存 **数据库**: - `adk-rem-db`:Firestore 原生数据库(分析状态和结果) **密钥**: - `adk-rem-gti-key`:Google Threat Intelligence API 密钥(可选) **事件触发器**: - `adk-rem-gcs-trigger`:文件上传时触发编排器 ## 前置条件 - Google Cloud Platform 账号 - 已安装并完成身份验证的 `gcloud` CLI - Python 3.9+(用于本地开发) - Google Threat Intelligence API 密钥(可选,用于 GTI 工具) ## GTI API 密钥设置(可选) Google Threat Intelligence (GTI) 工具提供恶意软件情报查询。如果您拥有 GTI API 密钥: ``` # 使用要求的命名规范创建 secret # 重要:使用名称 "adk-rem-gti-key"(带 adk-rem- 前缀) echo -n "YOUR_GTI_API_KEY" | gcloud secrets create adk-rem-gti-key \ --project=$PROJECT_ID \ --data-file=- # 授予运行时服务账号访问权限 gcloud secrets add-iam-policy-binding adk-rem-gti-key \ --project=$PROJECT_ID \ --member="serviceAccount:adk-rem-runtime@${PROJECT_ID}.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor" ``` **注意**: - 密钥名称必须为 `adk-rem-gti-key`(部署脚本需要此确切名称) - 请在运行 `deploy.sh` 之前创建此密钥 - 密钥在清理/重新部署周期中会被保留(不会被 `cleanup.sh` 删除) - 如果跳过此步骤,GTI 工具将被禁用(其他工具仍可正常工作) ## 快速开始 ### 1. 克隆仓库 ``` git clone cd adk-rem ``` **注意**:部署无需本地 Python 环境设置。Cloud Build 会自动处理所有依赖项。 ### 2. 部署到 GCP ``` cd deployment # 编辑 deploy.sh 头部以设置您的项目 ID # PROJECT_ID="your-project-id" # REGION="us-central1" # 使用全新构建部署所有资源(推荐) ./deploy.sh --force-rebuild ``` 部署脚本将会: - 启用所需的 GCP API - 创建具有统一访问控制的存储桶 - 创建 Firestore 数据库 - 构建并部署所有 16 个 Cloud Run 服务(全新 Docker 构建) - 自动配置编排器的工具 URL - 创建 Eventarc 触发器以进行自动分析 - 将所有操作记录到 `deployment/deployment.log` - 在 `deployment/deployment-state.json` 中追踪状态 - 对瞬态故障进行重试(每次操作最多 1 次重试) **部署时间**: - **首次部署**:约 30 分钟(从头构建所有 16 个 Docker 镜像) - **重新部署**:使用 `--force-rebuild` 约需 25-30 分钟(强制全新构建) - **重新部署**:不使用 `--force-rebuild` 约需 10-15 分钟(使用缓存镜像) ### 3. 上传恶意软件样本进行测试 **选项 A:使用测试脚本(推荐用于批量上传)** ``` cd deployment # 编辑 test-analysis.sh 以设置您的恶意软件样本文件夹 # SAMPLES_FOLDER="../_malware-samples" # 更改为您的文件夹路径 # PROJECT_ID="your-project-id" # 从文件夹上传所有样本 ./test-analysis.sh ``` 测试脚本将会: - 从 `deployment-state.json` 读取接入桶 - 将 samples 文件夹中的所有文件上传到 GCS - 通过 Eventarc 触发自动分析 - 显示上传进度和摘要 - 记录到 `deployment/test-analysis.log` **选项 B:手动上传(单个文件)** ``` # 上传样本以触发分析 gcloud storage cp /path/to/malware.exe \ gs://adk-rem-${PROJECT_ID}-malware-samples/ # 监控 orchestrator 日志 gcloud run services logs tail adk-rem-orchestrator \ --region=$REGION \ --project=$PROJECT_ID ``` ### 4. 获取分析报告 ``` # 列出报告 gcloud storage ls gs://adk-rem-${PROJECT_ID}-malware-reports/ # 下载最新报告 gcloud storage cp \ gs://adk-rem-${PROJECT_ID}-malware-reports/_analysis_*.html \ ./report.html # 在浏览器中打开 open report.html ``` ## 代码更改后重新部署 在 `src/` 中修改代码后,请使用 `--force-rebuild` 重新部署以确保更改生效: ``` cd deployment # 推荐:强制进行全新 Docker 构建 ./deploy.sh --force-rebuild # 替代方案:跳过确认以进行自动化 ./deploy.sh --force --force-rebuild ``` **为什么要使用 --force-rebuild?** - 防止 Docker 层缓存问题 - 确保代码更改被实际部署(而非使用缓存) - 从头重新构建所有层 - 推荐用于所有生产环境部署 **监控部署**: ``` # 观察部署进度 tail -f deployment/deployment.log # 检查部署状态 cat deployment/deployment-state.json ``` **部署后验证**: ``` # 上传测试样本以验证新代码正在运行 gcloud storage cp test-sample.exe gs://adk-rem-${PROJECT_ID}-malware-samples/ # 监控 orchestrator 日志 gcloud run services logs tail adk-rem-orchestrator --region=$REGION ``` ## 本地开发 **注意**:本地开发是可选的。对于部署,Cloud Build 会在 Docker 构建过程中使用每个服务的 `requirements.txt` 自动安装所有依赖项。`requirements-dev.txt` 文件仅在您希望在本地运行服务进行测试时才需要。 ### 项目结构 ``` adk-rem/ ├── src/ │ ├── orchestrator/ # Main orchestrator service │ │ ├── main.py │ │ ├── agent_orchestration.py │ │ ├── region_manager.py │ │ ├── Dockerfile │ │ └── requirements.txt │ ├── html-report-generator/ # Report generation service │ │ ├── main.py │ │ ├── Dockerfile │ │ └── requirements.txt │ └── tools/ # Analysis tool services │ ├── yara/ │ ├── capa/ │ ├── floss/ │ ├── pefile/ │ ├── elffile/ │ ├── gti/ │ ├── script-analyzer/ │ ├── archive-extractor/ │ ├── office-analyzer/ │ ├── pdf-analyzer/ │ ├── strace/ │ ├── firestore-writer/ │ └── html-report-generator/ ├── deployment/ │ ├── deploy.sh # Deployment script │ ├── cleanup.sh # Cleanup script │ ├── deployment-state.json # State tracking manifest │ ├── deployment.log # Deployment log (created at runtime) │ └── cleanup.log # Cleanup log (created at runtime) ├── tests/ # Test harness │ ├── test-harness.sh # Main test script │ ├── README.md # Test documentation │ └── fixtures/ # Test fixtures ├── _malware-samples/ # Test malware samples (optional) ├── requirements-dev.txt # Development dependencies └── README.md # This file ``` ### 本地运行服务(可选) **这仅用于本地测试/调试。对于正常部署,请跳过此部分。** 每个服务都可以在本地运行以进行开发: ``` # 安装开发工具(可选) pip install -r requirements-dev.txt # 本地运行 orchestrator cd src/orchestrator export PROJECT_ID=your-project-id export REGION=us-central1 pip install -r requirements.txt python main.py # 在另一个终端中,运行 HTML 报告生成器 cd src/html-report-generator export PROJECT_ID=your-project-id pip install -r requirements.txt python main.py ``` **对于生产部署**:Cloud Build 会在 Docker 构建过程中根据每个服务的 `requirements.txt` 自动安装依赖项。无需本地 Python 环境设置。 ## 部署脚本 ### deploy.sh 部署整个基础设施,包含状态追踪和优雅的重试处理: ``` cd deployment # 交互模式(带确认) ./deploy.sh # 跳过确认提示(用于 CI/CD) ./deploy.sh --force # 强制进行全新 Docker 构建 - 代码更改后推荐使用 ./deploy.sh --force-rebuild # 使用全新构建进行完全自动化部署 ./deploy.sh --force --force-rebuild # 显示帮助和所有选项 ./deploy.sh --help ``` **配置**(编辑脚本头部): - `PROJECT_ID`:您的 GCP 项目 ID - `REGION`:部署区域(默认:us-central1) - `PROJECT_PREFIX`:资源命名前缀(默认:adk-rem) **功能**: - **幂等性**:可以安全地多次运行 - **资源验证**:检查实际的 GCP 资源(不仅仅是状态文件) - **重试逻辑**:对瞬态故障自动重试(最多 1 次),延迟 3 秒 - **全新构建**:`--force-rebuild` 标志防止 Docker 层缓存问题 - **日志记录**:所有操作记录到 `deployment/deployment.log` - **状态追踪**:部署清单位于 `deployment/deployment-state.json` - **正确的依赖顺序**:API → Buckets → DB → SA → Services → Trigger **何时使用 --force-rebuild**: - 在 `src/` 中修改源代码后 - 当代码更改未出现在已部署服务中时 - 确保全新的 Docker 构建(构建前删除旧容器镜像) - 推荐用于所有生产环境部署 **工作原理**: - 删除 GCR 中所有旧容器镜像版本 - 强制 Cloud Build 从头重建(不重用镜像层) - 确保代码更改始终被部署 **日志文件**: - `deployment/deployment.log`:带时间戳的部署操作 - `deployment/deployment-state.json`:资源状态追踪 ### cleanup.sh 按照相反的依赖顺序拆除所有资源,并带有优雅的重试处理: ``` cd deployment # 交互模式(带确认) ./cleanup.sh # 强制模式(自动确认,用于 CI/CD) ./cleanup.sh --force ``` **功能**: - **反向依赖顺序**:Triggers → Services → SA → Secrets → Databases → Buckets - **重试逻辑**:删除失败时自动重试(最多 1 次) - **健壮的错误处理**:即使部分资源删除失败仍继续清理 - **日志记录**:所有操作记录到 `deployment/cleanup.log` - **确认提示**:交互式安全检查(除非使用 --force) - **冷却延迟**:删除之间 2 秒延迟以避免竞争条件 - **状态更新**:更新 `deployment-state.json` 清单 - **Firestore 冷却警告**:重新部署前需要等待 5 分钟 **日志文件**: - `deployment/cleanup.log`:带时间戳的清理操作 - `deployment/deployment-state.json`:更新后的状态追踪 ### test-analysis.sh 批量上传恶意软件样本以触发分析。从部署状态读取接入桶: ``` cd deployment # 交互模式 ./test-analysis.sh ``` **配置**(编辑脚本头部): - `SAMPLES_FOLDER`:您的恶意软件样本文件夹路径(默认:`../_malware-samples`) - `PROJECT_ID`:您的 GCP 项目 ID(必须与 deploy.sh 匹配) **功能**: - **自动检测存储桶**:从 `deployment-state.json` 读取接入桶 - **批量上传**:上传 samples 文件夹中的所有文件 - **进度追踪**:显示每个文件的上传状态 - **上传摘要**:报告总数/已上传/失败计数 - **日志记录**:所有操作记录到 `deployment/test-analysis.log` - **错误处理**:即使部分失败仍继续上传剩余文件 **执行流程**: 1. 读取部署状态以查找 malware-samples 存储桶 2. 扫描您的 samples 文件夹中的所有文件 3. 将每个文件上传到 GCS 接入桶 4. Eventarc 触发器自动为每个文件启动分析 5. 显示摘要和监控说明 **日志文件**: - `deployment/test-analysis.log`:带时间戳的上传操作 ## 配置 ### 环境变量 服务需要这些环境变量: - `PROJECT_ID`:GCP 项目 ID - `REGION`:部署区域(默认:us-central1) - `REPORTS_BUCKET`:报告存储桶名称(自动配置) ### 资源命名约定 所有资源使用前缀:`adk-rem` 唯一资源包含项目 ID:`adk-rem-${PROJECT_ID}-*` 示例: - 存储桶:`adk-rem-xtec-lab-malware-samples` - 服务:`adk-rem-orchestrator` - 密钥:`adk-rem-gti-api-key` ## 威胁评分系统 ADK-REM 使用标准化的 0-100 威胁评分及对应的威胁等级: | 威胁评分 | 威胁等级 | 描述 | |----------|----------------|---------------------------| | 0-20 | MINIMAL_RISK | 良性或极低威胁 | | 21-40 | LOW_RISK | 轻微可疑指标 | | 41-60 | SUSPICIOUS | 多种令人担忧的行为 | | 61-80 | MALICIOUS | 已确认的恶意软件能力 | | 81-100 | CRITICAL | 高级/针对性威胁 | ### 评分架构 **第 2 阶段(最终判定)**: - 多智能体 ADK 分析生成最终威胁评分 - 结合工具覆盖率、证据质量和行为分析 - 智能体置信度:90-95%(通常较高) - 此评分**始终**是报告中显示的最终判定 **第 3 阶段(质量监控)**: - 执行 OSINT 验证并生成独立评估 - 生成质量指标和警告标志 - 绝不覆盖第 2 阶段的判定 - 通过威胁情报背景丰富报告 ### 警告系统(第 3 阶段) 第 3 阶段生成 6 种类型的警告供人工审查: 1. **评分分歧**:第 2 阶段和第 3 阶段评估之间差距超过 30 分 2. **幻觉检测**:不受支持的声明或矛盾的发现 3. **质量评估**:工具覆盖不完整或证据缺失 4. **置信度分歧**:第 2 阶段和 3 阶段置信度之间差距超过 30% 5. **工具覆盖差距**:工具执行率的显著差异 6. **错误**:分析失败或意外问题 所有警告均为信息性质——它们标记样本以供人工审查,但不会更改判定结果。 ## 分析工作流 ### 文件类型检测 使用 Magic Header(而非文件扩展名): - **ELF**:`7f 45 4c 46` - **PE**:`4d 5a`(MZ header) - **ZIP**:`50 4b 03 04` - **JavaScript**:启发式检测 - **PowerShell**:启发式检测 ### 工具选择 编排器根据文件类型选择工具: - **PE 文件**:pefile, capa, yara, floss, strace - **ELF 文件**:elffile, capa, yara, floss, strace - **脚本**:script-analyzer, yara - **压缩包**:archive-extractor → 递归分析 - **文档**:office-analyzer 或 pdf-analyzer - **所有**:gti (Google Threat Intelligence), firestore-writer ### 多智能体分析 Google ADK 智能体提供: 1. **聚合器**:语义关联工具输出 2. **研究员**:使用 GoogleSearch grounding 进行深度 RE 分析 3. **法官**:通过质量门控验证证据 时间预算:每个样本 60 分钟用于深度分析 ## HTML 报告特性 生成的报告包括: - **执行摘要**:判定、威胁评分、恶意软件家族 - **行为摘要**:恶意软件的行为 - **ASCII 图表**:攻击杀伤链、TTP 执行流程 - **经验证的发现**:带有证据引用的声明 - **MITRE ATT&CK**:带有工具证据的策略和技术 - **IOC**:文件哈希、网络指标(已消除威胁)、可疑字符串 - **OSINT 发现**:威胁情报验证 - **工具输出摘要**:所有工具的精简结果 - **RE 建议**:针对分析师的具体后续步骤 报告采用深色主题,是分析师级别的技术文档。 ## 故障排除 ### 部署问题 **首先检查部署日志**: ``` # 查看部署日志 cat deployment/deployment.log # 观察实时部署 tail -f deployment/deployment.log # 检查部署状态 cat deployment/deployment-state.json ``` **API 未启用**: ``` gcloud services enable run.googleapis.com \ cloudbuild.googleapis.com \ storage.googleapis.com \ firestore.googleapis.com \ eventarc.googleapis.com \ secretmanager.googleapis.com ``` **服务部署超时或构建缓存问题**: ``` # 使用 --force-rebuild 确保全新构建 ./deploy.sh --force-rebuild # 查看 Cloud Build 日志 gcloud builds list --limit=5 # 查看特定构建 gcloud builds log ``` **因瞬态错误导致部署失败**: - 部署脚本会自动重试(最多 1 次重试) - 检查 `deployment/deployment.log` 中的重试尝试 - 在日志中查找 `[ERROR] Max retries exceeded` - 常见原因:配额限制、网络超时、API 速率限制 **部署后代码更改未生效**: ``` # 代码更改后始终使用 --force-rebuild ./deploy.sh --force-rebuild # 验证新修订版本已部署 gcloud run services describe adk-rem-orchestrator --region=$REGION # 检查最新修订版本的流量 gcloud run revisions list --service=adk-rem-orchestrator --region=$REGION ``` **Eventarc 触发器未触发**: - 验证服务账号权限 - 检查触发器:`gcloud eventarc triggers describe adk-rem-gcs-trigger --location=us-central1` - 查看编排器日志中的传入请求 ### 分析问题 **未生成报告**: - 检查编排器日志:`gcloud run services logs tail adk-rem-orchestrator --region=us-central1` - 验证 Firestore 访问权限 - 检查 HTML 生成器日志 **工具失败**: - 单个工具失败不会停止分析 - 检查 Firestore 中的部分结果 - 查看工具服务日志 ### 日志 **部署日志**(本地): ``` # 查看部署历史 cat deployment/deployment.log # 观察实时部署 tail -f deployment/deployment.log # 查看清理历史 cat deployment/cleanup.log # 检查部署状态 cat deployment/deployment-state.json ``` **应用日志**(Cloud Run): ``` # Orchestrator gcloud run services logs tail adk-rem-orchestrator --region=$REGION # HTML 生成器 gcloud run services logs tail adk-rem-html-report-generator --region=$REGION # 特定工具 gcloud run services logs tail adk-rem-tool-yara --region=$REGION # 所有 ADK-REM 服务 gcloud logging read 'resource.type="cloud_run_revision" AND resource.labels.service_name=~"adk-rem.*"' --limit=100 # 按特定分析筛选 gcloud logging read 'resource.type="cloud_run_revision" AND textPayload:ANALYSIS_ID_HERE' --limit=50 ``` ## 成本优化 - Cloud Run 在空闲时缩放到零 - Firestore 按操作收费 - 存储按 GB-月收费 - Cloud Build 按构建分钟收费 - Vertex AI (ADK) 按 token 收费 **预估成本**:中等使用量(10-50 个样本/月)为 $10-50/月 ## IAM 权限 部署脚本创建一个服务账号(`adk-rem-runtime`),具有以下角色: - `roles/run.invoker` - 调用 Cloud Run 服务 - `roles/datastore.user` - Firestore 数据库访问 - `roles/storage.objectAdmin` - GCS 存储桶访问 - `roles/secretmanager.secretAccessor` - Secret Manager 访问 - `roles/aiplatform.user` - Vertex AI / Gemini API 访问(用于 ADK 智能体) - `roles/eventarc.eventReceiver` - 接收来自 GCS 触发器的 Eventarc 事件 所有服务使用此服务账号运行(最小权限模型)。 ## 安全注意事项 - **所有服务均为私有**:无公共端点,需要身份验证 - **恶意软件隔离**:样本在 Cloud Run 容器中隔离 - **网络限制**:工具无出站流量(GTI 和编排器除外) - **访问控制**:Firestore 限制为服务账号访问 - **存储安全**:报告存储在具有统一访问权限的私有 GCS 存储桶中 - **密钥管理**:API 密钥存储在 Secret Manager(加密)中 - **服务间认证**:服务之间使用 ID token 认证 ## 近期改进(2026 年 3 月) ### 性能优化(最新 - 2026 年 3 月 7 日) ✅ **5-10 倍更快的工具执行**:并发工具调用(5 个工具从 150 秒降至 30 秒) ✅ **内存安全的 SHA256**:流式哈希计算防止大文件 OOM ✅ **部署改进**:重试逻辑、全新构建标志、全面日志记录 ✅ **代码质量**:消除重复代码模式、模块级导入 ✅ **优雅的错误处理**:自动重试并延迟 3 秒,在瞬态故障时继续 **性能影响**: - 第 1 阶段工具执行:并发执行快 5-10 倍 - 内存使用:恒定(64KB 缓冲区 vs 加载整个文件) - 部署可靠性:瞬态故障自动重试 - 代码可维护性:减少重复,模式更清晰 **部署增强**: - `--force-rebuild` 标志防止 Docker 层缓存问题 - 全面日志记录至 `deployment/deployment.log` - 所有 gcloud 命令的重试逻辑(最多 1 次重试,延迟 3 秒) - 在 `deployment/deployment-state.json` 中进行状态追踪 ### 架构重构(2026 年 2 月 27 日) ✅ **第 2 阶段最终权威**:第 2 阶段判定现在始终是最终结果(在 5 个恶意软件样本上验证) ✅ **第 3 阶段质量监控**:第 3 阶段提供 OSINT 丰富化和警告系统(绝不覆盖) ✅ **6 种警告类型**:评分分歧、幻觉检测、质量评估、置信度差距、工具覆盖、错误 ✅ **双重置信度显示**:报告中同时显示第 2 阶段和第 3 阶段的指标以确保透明度 ✅ **100% 恶意软件检测率**:在 PE, ELF, ZIP 和 PowerShell 恶意软件样本上验证 ✅ **零分安全检查**:4 层回退系统(YARA → CAPA → FLOSS → 文件类型) ✅ **加密压缩包处理**:适当标记受密码保护的压缩包 **测试结果**:5/5 样本正确检测(PE/ELF 为 90-92,脚本为 85) ### 之前的改进 ✅ **威胁评分系统**:标准化的 0-100 分制,包含 5 个威胁等级 ✅ **健壮的部署**:修复状态文件错误、实际资源验证 ✅ **Bash 3.2 兼容**:在 macOS 默认 Bash 上运行,无需升级 ✅ **完全自动化**:零接触部署,工具 URL 自动配置 ✅ **JSON 解析**:用于嵌套 LLM 输出的大括号平衡算法 ✅ **Vertex AI 集成**:使用 Gemini 2.5 Pro 进行 ADK 多智能体分析 ✅ **错误弹性**:防御性编码,即使部分失败仍继续 ✅ **安全加固**:所有服务私有、最小权限 IAM、ID token ## 未来增强 - [ ] 批量分析支持 - [ ] 用于查看报告的 Web UI - [ ] 实时分析状态仪表板 - [ ] 自定义 YARA 规则上传 - [ ] 自动提取 IOC 为 STIX 格式 - [ ] 与 SIEM 平台集成 - [ ] 恶意软件家族聚类 - [ ] 自动沙箱引爆 **设计规范由 Dennis Chow 制定,由 Claude 进行 vibe coding,因为更快。**
标签:CAPA, Cloud Run, CSV导出, DAST, DNS 反向解析, DNS 解析, ELF分析, Firestore, FLOSS, GCP, GenAI, Google ADK, Google Cloud Platform, IP 地址批量处理, PE 加载器, PE文件分析, PyRIT, Serverless, TTP映射, YARA, 云安全监控, 云端安全, 云资产可视化, 云资产清单, 人工智能安全, 合规性, 多智能体系统, 威胁情报, 开发者工具, 微服务架构, 恶意软件分析, 攻击向量识别, 文件上传分析, 沙箱检测, 网络信息收集, 网络安全, 网络安全审计, 自动化分析, 请求拦截, 跨站脚本, 逆向工具, 逆向工程, 隐私保护, 静态分析