

一款面向安全专业人员的客户端、隐私优先的漏洞报告管理器。所有数据均经加密并存储在本地浏览器中——默认情况下,不会向任何服务器发送任何数据。
在线应用: https://vulnrepo.com/ | 开发分支: https://dev.vulnrepo.com/
视频演示/教程:
VULNRΞPO 仅使用浏览器原生加密技术:
解密密码保存在一个短生命周期的内存保管库(KeyVaultService)中,当以下任一情况发生时,该保管库会自动清除:
visibilitychange 事件)pagehide 和 beforeunload 事件保管库清除后,重新打开报告时需要再次输入密码。任何密钥材料都不会写入 sessionStorage、localStorage、cookies 或其他任何持久化浏览器存储。
使用旧版应用(旧版 CryptoJS AES 格式)加密的报告会被自动检测并解密,以保证向后兼容性。
重要提示: 没有服务器端的密钥恢复机制。如果丢失了安全密钥,报告数据将无法恢复。
| 格式 | 说明 |
|---|
侧边栏提供以下交互式清单:
在评估过程中使用它们,以确保在最终确定报告前不遗漏任何内容。
VULNRΞPO 集成了 Ollama,通过本地托管的模型提供 AI 辅助报告撰写。没有数据会发送到任何云服务。
设置步骤:
ollama run llama3.2:latest
OLLAMA_ORIGINS=https://vulnrepo.com ollama serve
http://localhost:11434),选择一个模型,然后保存。npm install -g @angular/cli
# 安装依赖
npm install
# 启动开发服务器
npm start
# 或
ng serve
导航至 http://localhost:4200/。当源文件发生变化时,应用会自动重新加载。
ng build -c production
构建产物将写入 dist/vulnrepo-app/ 目录。将该目录的内容部署到任意静态 Web 主机或 CDN。
官方 Docker 镜像可在 Docker Hub 上获得:
docker pull kac89/vulnrepo
docker run -p 8080:80 kac89/vulnrepo
完整文档请参阅镜像页面:https://hub.docker.com/r/kac89/vulnrepo
vulnrepo-master/
├── src/
│ ├── app/
│ │ ├── report/ # 核心报告编辑器组件
│ │ ├── myreports/ # 报告列表/仪表盘
│ │ ├── newreport/ # 创建报告向导
│ │ ├── import-report/ # 导入加密报告文件
│ │ ├── templates-list/ # 问题模板管理器
│ │ ├── settings/ # 应用设置(配置、API 保管库)
│ │ ├── asvs/ # OWASP ASVS 4 清单
│ │ ├── pcidss4/ # PCI DSS 4 清单
│ │ ├── tbhm/ # 赏金猎人方法论清单
│ │ ├── cve-search/ # NVD CVE 查找
│ │ ├── bb-list/ # 漏洞众测计划列表
│ │ ├── faq/ # 应用内常见问题页面
│ │ ├── crypto-utils.service.ts # PBKDF2 + AES-GCM 加密服务
│ │ ├── indexeddb.service.ts # 本地存储(IndexedDB)服务
│ │ ├── api.service.ts # 可选后端 API 服务
│ │ ├── ollama-service.service.ts # Ollama LLM 集成服务
│ │ └── dialog-*/ # 模态对话框(添加问题、导入、导出等)
│ ├── assets/ # 静态资源、供应商 Logo
│ └── environments/ # 环境配置
├── dist/ # 生产构建输出
├── API-INTEGRATION.md # 后端 API 参考
├── SECURITY.md # 漏洞报告策略
├── angular.json
└── package.json
VULNRΞPO 可以选择将加密报告存储在自己的后端服务器上。API 是一个简单的 HTTP 接口,采用基于自定义头部的认证方案。
完整的 API 参考请参阅 API-INTEGRATION.md。
示例服务器实现可访问:https://github.com/kac89/vulnrepo-server
VULNRΞPO 需要支持 IndexedDB 和 Web Crypto API 的现代浏览器。它不支持隐私/无痕浏览模式(大多数浏览器在该模式下会阻止 IndexedDB)。
经过测试并支持的浏览器:
dev 分支创建功能分支。ng build)。dev 分支提交拉取请求。如需报告安全漏洞,请参阅 SECURITY.md。
VULNRΞPO 采用 Apache 2.0 许可证 发布。
| 属性 | 值 |
|---|
| 密钥派生 | PBKDF2-SHA-256,600,000 次迭代 |
| 加密方式 | AES-256-GCM(认证加密) |
| 盐值 | 16 字节,每次加密随机生成 |
| 初始向量 | 12 字节,每次加密随机生成 |
| 加密数据存储 | 浏览器 IndexedDB(默认仅存储在本地机器) |
| 解密密钥存储 | 仅存在于内存中 —— 从不写入 sessionStorage、localStorage 或任何持久化介质 |
| 网络通信 | 除非配置可选的 API 后端,否则不会有任何数据离开浏览器 |
| 工具 | 格式 |
|---|
| VULNRΞPO 加密 | .VULNR |
| VULNRΞPO 已解密问题 | .JSON |
| Burp Suite | .XML |
| Bugcrowd | .CSV |
| Nmap | .XML |
| OpenVAS 9 | .XML |
| Tenable Nessus | .NESSUS、.CSV |
| Trivy | .JSON |
| Atlassian Jira | .XML |
| NPM Audit | .JSON |
| Semgrep | .JSON |
| PHP Composer Audit | .JSON |
| WIZ Issues | .CSV |
| OWASP ZAP | .JSON |
| BlackDuck Code Sight | .JSON |
| HTML | 完全自包含;可自定义模板和 CSS |
| 加密 HTML | AES 加密的自包含 HTML;可通过电子邮件或文件传输安全共享 |
| DOCX | 兼容 Microsoft Word |
| TXT | 纯文本 |
| 在 HTML 导出上使用浏览器打印为 PDF(Ctrl+P);或使用 LaTeX 生成器 进行完全自定义 |