
VULNRΞPO - Free vulnerability report generator and repository, end-to-end encrypted! Templates of issues, CWE,CVE,MITRE ATT&CK,PCI DSS, import Nmap/Nessus/Burp/OpenVAS/Bugcrowd/Trivy, Jira export, TXT/JSON/MARKDOWN/HTML/DOCX, attachments, automatic changelog, stats, vulnerability management, bugbounty, local ai/llm, super fast pentest reporting!

A client-side, privacy-first vulnerability report manager for security professionals. All data is encrypted and stored locally in your browser — nothing is sent to any server by default.
Live app: https://vulnrepo.com/ | Dev branch: https://dev.vulnrepo.com/
Video walkthrough / Tutorial:
VULNRΞPO uses browser-native cryptography exclusively:
Decryption passwords are held in a short-lived in-memory vault (KeyVaultService) that is cleared automatically when any of the following occur:
visibilitychange event)pagehide and beforeunload eventsAfter the vault is cleared, re-opening a report prompts for the password again. No key material is ever written to sessionStorage, localStorage, cookies, or any other persistent browser storage.
Reports encrypted with older versions of the app (legacy CryptoJS AES format) are automatically detected and decrypted for backward compatibility.
Important: There is no server-side key recovery. If you lose your security key, the report data cannot be recovered.
The following interactive checklists are available from the sidebar:
Use them during an assessment to ensure nothing is missed before finalizing the report.
VULNRΞPO integrates with Ollama to provide AI-assisted report writing using a locally hosted model. No data is sent to any cloud service.
Setup:
ollama run llama3.2:latest
OLLAMA_ORIGINS=https://vulnrepo.com ollama serve
http://localhost:11434 by default), select a model, and save.npm install -g @angular/cli
# Install dependencies
npm install
# Start the dev server
npm start
# or
ng serve
Navigate to http://localhost:4200/. The application reloads automatically when source files change.
ng build -c production
Build artifacts are written to dist/vulnrepo-app/. Deploy the contents of that directory to any static web host or CDN.
The official Docker image is available on Docker Hub:
docker pull kac89/vulnrepo
docker run -p 8080:80 kac89/vulnrepo
See the image page for full documentation: https://hub.docker.com/r/kac89/vulnrepo
vulnrepo-master/
├── src/
│ ├── app/
│ │ ├── report/ # Core report editor component
│ │ ├── myreports/ # Report list / dashboard
│ │ ├── newreport/ # Create report wizard
│ │ ├── import-report/ # Import encrypted report file
│ │ ├── templates-list/ # Issue template manager
│ │ ├── settings/ # App settings (profiles, API vault)
│ │ ├── asvs/ # OWASP ASVS 4 checklist
│ │ ├── pcidss4/ # PCI DSS 4 checklist
│ │ ├── tbhm/ # Bug Hunter's Methodology checklist
│ │ ├── cve-search/ # NVD CVE lookup
│ │ ├── bb-list/ # Bug bounty program list
│ │ ├── faq/ # In-app FAQ page
│ │ ├── crypto-utils.service.ts # PBKDF2 + AES-GCM encryption service
│ │ ├── indexeddb.service.ts # Local storage (IndexedDB) service
│ │ ├── api.service.ts # Optional backend API service
│ │ ├── ollama-service.service.ts # Ollama LLM integration service
│ │ └── dialog-*/ # Modal dialogs (add issue, import, export, …)
│ ├── assets/ # Static assets, vendor logos
│ └── environments/ # Environment configurations
├── dist/ # Production build output
├── API-INTEGRATION.md # Backend API reference
├── SECURITY.md # Vulnerability reporting policy
├── angular.json
└── package.json
VULNRΞPO can optionally store encrypted reports on your own backend server. The API is a simple HTTP interface with a custom header-based authentication scheme.
See API-INTEGRATION.md for the full API reference.
An example server implementation is available at: https://github.com/kac89/vulnrepo-server
VULNRΞPO requires a modern browser with IndexedDB and Web Crypto API support. It does not work in private/incognito browsing mode (IndexedDB is blocked by most browsers in that mode).
Tested and supported:
dev.ng build).dev branch.To report a security vulnerability, see SECURITY.md.
VULNRΞPO is released under the Apache 2.0 License.
| Property | Value |
|---|
| Key derivation | PBKDF2-SHA-256, 600,000 iterations |
| Encryption | AES-256-GCM (authenticated encryption) |
| Salt | 16 bytes, random per encryption |
| IV | 12 bytes, random per encryption |
| Encrypted data storage | Browser IndexedDB (local machine only by default) |
| Decryption key storage | In-memory only — never written to sessionStorage, localStorage, or any persistent medium |
| Network | No data leaves the browser unless you configure the optional API backend |
| Tool | Format |
|---|
| VULNRΞPO Encrypted | .VULNR |
| VULNRΞPO Decrypted Issues | .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 |
| Format | Notes |
|---|
| HTML | Fully self-contained; customizable template and CSS |
| Encrypted HTML | AES-encrypted, self-contained HTML; share safely via email or file transfer |
| DOCX | Microsoft Word compatible |
| TXT | Plain text |
| Use browser Print to PDF (Ctrl+P) on the HTML export; or use the LaTeX generator for full customization |