Vapt report pdf
Full-spectrum web application VAPT skill for Claude Code, OpenCode, Codex CLI & Gemini CLI — from reconnaissance to exploitation to remediation reporting
npx -y skills add bhuvangupta/vapt-claude --skill vapt-report-pdfAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.5 KB, as published. Nobody here has run it
PDF Report Generation
When Invoked
The user runs /vapt report-pdf <url>.
Prerequisites
- Python 3.8+
reportlabpackage installed (pip install reportlab)- VAPT output files in the current directory (ideally run
/vapt reportfirst)
Behavior
Generate a professional PDF report from VAPT findings using the scripts/vapt_report_pdf.py script.
Phase 1: Data Collection
Same as vapt-report -- scan for all VAPT output files, parse findings, calculate scores.
Phase 2: PDF Generation
2.1 Compile Report Data
Assemble a JSON structure with all report data:
{
"target": "example.com",
"date": "2026-03-19",
"tester": "...",
"authorization": "Pentest engagement",
"overall_score": 42,
"overall_rating": "Poor",
"categories": [
{"name": "Injection", "weight": 20, "score": 15, "findings_count": {"critical": 2, "high": 1}},
...
],
"findings": [
{
"id": "FINDING-001",
"title": "SQL Injection in /api/users",
"severity": "Critical",
"cvss_score": 9.8,
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"cwe": "CWE-89",
"owasp": "A03:2021",
"url": "/api/users?id=1",
"parameter": "id",
"description": "...",
"steps": ["..."],
"impact": "...",
"remediation": "..."
},
...
],
"scope": {"in_scope": [...], "out_of_scope": [...]},
"tools_used": [...]
}
2.2 Run PDF Script
python3 <skills_dir>/scripts/vapt_report_pdf.py --input report_data.json --output VAPT-REPORT.pdf
2.3 PDF Structure
The PDF report includes:
Cover Page:
- "Vulnerability Assessment & Penetration Test Report"
- Target URL
- Date
- Authorization reference
- Confidentiality notice
Table of Contents:
- Auto-generated with page numbers
Executive Summary (Page 1-2):
- Security Posture Score gauge (visual, color-coded)
- Finding count by severity (bar chart)
- Category score breakdown (radar chart or table)
- Top 3 risks highlighted
- Key recommendations
Findings Detail (Page 3+):
- One finding per section
- Color-coded severity badge
- CVSS score with visual indicator
- Full details: description, steps, evidence, impact, remediation
Category Breakdown:
- Score per category with visual bar
- Finding count per category
Remediation Priority Matrix:
- Color-coded priority table
- Timeline recommendations
Methodology & Scope:
- Testing approach
- Tools used
- Scope boundaries
Appendix:
- CVSS reference
- Glossary
2.4 Visual Design
Color scheme:
- Critical: #DC2626 (red)
- High: #EA580C (orange)
- Medium: #CA8A04 (yellow)
- Low: #2563EB (blue)
- Info: #6B7280 (gray)
- Pass/Good: #16A34A (green)
Score gauge:
- Circular gauge showing 0-100 score
- Color changes based on rating band
- Rating text below gauge
Charts:
- Severity distribution bar chart
- Category scores horizontal bar chart
Phase 3: Output
Terminal Output
Generating PDF report...
Collected findings from 8 scan files
Calculated Security Posture Score: 42/100 (Poor)
Generated 23-page PDF report
Output: VAPT-REPORT.pdf
VAPT-REPORT.pdf
Professional PDF saved to the current directory.
Error Handling
If reportlab is not installed:
PDF generation requires the reportlab Python package.
Install: pip install reportlab
Alternatively, generate a Markdown report: /vapt report <url>