sunilgentyala/PRAVAL

GitHub: sunilgentyala/PRAVAL

PRAVAL 是一个自托管的智能体 AI 漏洞评估框架,通过将企业级 VA 流程拆分为十个上下文链接的阶段来实现持续的 LLM 推理评估。

Stars: 1 | Forks: 0

# PRAVAL **渐进式**(**P**rogressive)**递归**(**R**ecursive)**智能体**(**A**gentic)**漏洞**(**V**ulnerability)**评估**(**A**ssessment)**生命周期**(**L**ifecycle) **[Sunil Gentyala](https://github.com/sunilgentyala)** · [sunil.gentyala@ieee.org](mailto:sunil.gentyala@ieee.org) · [MIT License](LICENSE) · [在线网站](https://sunilgentyala.github.io/PRAVAL/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/sunilgentyala/PRAVAL/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ![Version](https://img.shields.io/badge/version-1.0.0-blue) [![论文](https://img.shields.io/badge/paper-under%20submission-orange)](#companion-paper) [![网站](https://img.shields.io/badge/site-live-brightgreen)](https://sunilgentyala.github.io/PRAVAL/) [![NIST SP 800-115](https://img.shields.io/badge/lifecycle-NIST%20SP%20800--115-informational)](https://doi.org/10.6028/NIST.SP.800-115) [![CVSS v4.0](https://img.shields.io/badge/scoring-CVSS%20v4.0-informational)](https://www.first.org/cvss/v4.0/specification-document) ![Stars](https://img.shields.io/github/stars/sunilgentyala/PRAVAL?style=social) PRAVAL 是一个可自托管的智能体 AI 框架,它将企业 漏洞评估分为十个顺序、上下文相连的阶段来执行 —— 资产 发现、分类、漏洞扫描、凭证探测、风险 优先级划分、修复规划、缓解控制设计、正式风险 接受、报告和持续监控程序设计 —— 而不是 十个互不关联的工具。 大多数智能体安全工具只自动化了这个生命周期中的一两个阶段。 PRAVAL 的核心机制是**渐进式上下文链接**:每个 阶段都会接收到先前阶段所有发现的结构化摘要 —— 资产关键性、发现的 CVE、凭证暴露、延迟的修复 项目 —— 作为其自身推理的明确上下文,因此后续阶段建立在 早期发现的基础上,而不是从零开始。 **近期更新:** - **2026-07-28** — 为双盲评审、A4 页面大小的 重新提交对稿件进行了格式重排(作者/隶属关系块已匿名化,自引重写 以移除识别链接,页边距已根据会议的 A4 规范进行修正),并修正了早期 作者列表修订中遗留的过时的共同作者联系链接。 ## 为什么上下文链接很重要 如果智能体在不知道哪些资产是业务 关键资产的情况下对漏洞进行评分,那它仅仅是按 CVSS 重新排序。如果智能体在不知道哪些 修复被推迟的情况下设计补偿控制,那它写出的只是通用的最佳实践 建议。PRAVAL 的第 5 阶段(风险优先级划分)明确地将第 2 阶段的 关键性层级、第 3 阶段的 CVSS 发现以及第 4 阶段的凭证暴露数据 组合成一个综合评分: ``` Composite Risk = (CVSS × Asset Weight) × Threat Intelligence Factor ``` 其中 Asset Weight 来自第 2 阶段的分类(Critical=2.0, High=1.5,Medium=1.0,Low=0.5),而威胁情报因子反映了 CISA KEV(已知被利用漏洞)目录状态。 ## 十阶段生命周期 | # | 阶段 | # | 阶段 | |---|-------|---|-------| | 1 | 资产发现与清单 | 6 | 修复规划 | | 2 | 资产分类 | 7 | 缓解控制 | | 3 | 漏洞扫描 | 8 | 风险接受 | | 4 | 凭证探测 | 9 | 报告 | | 5 | 风险优先级划分 | 10 | 持续监控 | ## 架构 ``` Browser (React SPA) → Express proxy (/api/messages) → Anthropic API never calls Anthropic directly — the API key lives only on the server ``` - **Frontend**:React 19 + Vite 6。渲染 10 阶段控制台,不保存 API 凭证,仅与后端代理通信。 - **Backend**:Node.js 22 + Express 5。具有速率限制(30 req/min/IP),进行输入 验证,在任务启动时从 AWS Secrets Manager 检索 `ANTHROPIC_API_KEY`,并且是 唯一调用 `api.anthropic.com` 的组件。 - **Deployment**:AWS ECS Fargate 位于私有子网中,内部 ALB(无公共 IP),用于 ECR/Secrets Manager/CloudWatch Logs 的 VPC 接口终端节点,并且 在每次推送镜像时进行 Wiz.io 云安全态势扫描。 有关完整的生产部署指南(AWS/Azure/GCP),请参阅 [`deployment/DEPLOYMENT.md`](deployment/DEPLOYMENT.md),以及 Terraform 模块集请参阅 [`infra/terraform/`](infra/terraform/)。 ## 快速开始 ``` cp .env.example .env # add your ANTHROPIC_API_KEY docker compose -f docker-compose.dev.yml up --build ``` Frontend:http://localhost:5173 · Backend:http://localhost:3000 或不使用 Docker 运行: ``` cd server && npm install && npm run dev # terminal 1 cd client && npm install && npm run dev # terminal 2 ``` ## 安全模型 - Anthropic API 密钥永远不会到达浏览器 —— 它在 任务启动时从 AWS Secrets Manager 注入到容器中,并且只能被 Express 进程读取。 - 所有出站 LLM 调用都旨在通过作者的 [ContextGuard](https://github.com/sunilgentyala/contextguard) 零信任 MCP 中间件进行路由,该中间件根据策略引擎验证调用,并在提交前将 出站流量限制在允许列表内的 Anthropic 终端节点上 —— 从而缓解随扫描数据(主机名、 服务横幅、漏洞描述)在阶段间流动而携带的间接提示词注入。 - ECS 执行角色的 `secretsmanager:GetSecretValue` 权限 仅限于单个密钥 ARN;任务角色不携带任何策略。 - 要报告漏洞,请参阅 [SECURITY.md](SECURITY.md)。 ## 合规与标准一致性 | 标准 | 应用位置 | |---|---| | [NIST SP 800-115](https://doi.org/10.6028/NIST.SP.800-115) | 十阶段生命周期结构 | | [CVSS v4.0](https://www.first.org/cvss/v4.0/specification-document) | 第 3 阶段漏洞评分 | | CISA KEV catalog | 第 3/5 阶段威胁情报因子 | | PCI-DSS, HIPAA, SOC 2, ISO 27001, NIST CSF | 可选的合规范围,作为一等上下文贯穿所有 10 个阶段(从第 2 阶段开始) | ## 成本 按照 `claude-sonnet-4-20250514` 的定价,一次完整的 10 阶段评估运行在 API 使用上花费 **$0.165**。AWS 托管(0.25 vCPU / 512 MB Fargate 任务 + 内部 ALB + NAT Gateway + VPC 终端节点)每月费用约为 **~$90–110**。有关 详细的数字和优化杠杆,请参阅 [部署指南的成本明细](deployment/DEPLOYMENT.md#8-monthly-cost-breakdown-aws)。 ## 局限性 - 评估发现是由 LLM 生成且合成的,而不是来源于 实时的扫描器集成(Tenable.io / Qualys Cloud API 集成是 主要计划的增强功能)。 - 单智能体顺序架构;采用由 协调智能体管理专业子智能体的多智能体设计是未来的工作。 - CVE 标识符、CVSS 评分和版本范围在投入运营前应与 国家漏洞数据库进行核对验证 —— LLM 输出 带有产生幻觉的风险。 ## 仓库结构 ``` PRAVAL/ ├── client/ React 19 + Vite frontend ├── server/ Express 5 backend proxy ├── infra/ │ ├── terraform/ VPC, ALB, IAM, security groups │ └── ecs-task-definition.json ├── deployment/ │ └── DEPLOYMENT.md Full production deployment guide ├── docs/ GitHub Pages site ├── .github/workflows/ CI (client build, server check, terraform validate) ├── Dockerfile Multi-stage production build └── docker-compose.dev.yml ``` ## 相关工作 - [ContextGuard](https://github.com/sunilgentyala/contextguard) —— 零信任 MCP 中间件;PRAVAL 在所有阶段间 LLM 调用之上的管理安全层(Precision 100%,Recall 96.7%,F1 98.3%)。 ## 引用 如果您在研究中使用 PRAVAL,请引用配套论文(一旦 发表)或本仓库。有关机器可读版本,请参阅 [CITATION.cff](CITATION.cff)。 ``` @misc{gentyala2026praval, author = {Gentyala, Sunil}, title = {{PRAVAL}: A Progressive Recursive Agentic Framework for Multi-Phase Enterprise Vulnerability Assessment}, year = {2026}, howpublished = {\url{https://github.com/sunilgentyala/PRAVAL}}, note = {Under submission, IEEE TrustCom 2026} } ``` ## 作者 **Sunil Gentyala** — HCL America Inc. (HCLTech) 首席网络安全与 AI 安全顾问,德克萨斯州达拉斯。IEEE 高级会员(ID:101760715)。 ORCID:[0009-0005-2642-3479](https://orcid.org/0009-0005-2642-3479)。 GitHub:[@sunilgentyala](https://github.com/sunilgentyala)。 ## License [MIT](LICENSE)
标签:AES-256, DLL 劫持, 大语言模型, 实时处理, 密码管理, 插件系统, 智能体框架, 漏洞评估, 自定义脚本, 请求拦截