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/)
[](https://github.com/sunilgentyala/PRAVAL/actions/workflows/ci.yml)
[](LICENSE)

[](#companion-paper)
[](https://sunilgentyala.github.io/PRAVAL/)
[](https://doi.org/10.6028/NIST.SP.800-115)
[](https://www.first.org/cvss/v4.0/specification-document)

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 劫持, 大语言模型, 实时处理, 密码管理, 插件系统, 智能体框架, 漏洞评估, 自定义脚本, 请求拦截