vamp-penreport 2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vamp_penreport-2.1/PKG-INFO +240 -0
- vamp_penreport-2.1/README.md +221 -0
- vamp_penreport-2.1/pyproject.toml +34 -0
- vamp_penreport-2.1/setup.cfg +4 -0
- vamp_penreport-2.1/vamp_penreport.egg-info/PKG-INFO +240 -0
- vamp_penreport-2.1/vamp_penreport.egg-info/SOURCES.txt +8 -0
- vamp_penreport-2.1/vamp_penreport.egg-info/dependency_links.txt +1 -0
- vamp_penreport-2.1/vamp_penreport.egg-info/entry_points.txt +2 -0
- vamp_penreport-2.1/vamp_penreport.egg-info/top_level.txt +1 -0
- vamp_penreport-2.1/vamp_penreport.py +2167 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vamp-penreport
|
|
3
|
+
Version: 2.1
|
|
4
|
+
Summary: Penetration test report generator for VampSecure Labs assessments
|
|
5
|
+
Author-email: VampSecure Studios <contact@vampsecurestudios.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Vampsecure-Labs/vamp-penreport
|
|
8
|
+
Project-URL: Repository, https://github.com/Vampsecure-Labs/vamp-penreport
|
|
9
|
+
Keywords: security,pentest,audit,cybersecurity,vampsecure,reporting,pentest-report,documentation
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Environment :: Console
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Security
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# vamp-penreport
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+

|
|
24
|
+

|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
**Professional pentest report aggregator for VampSecure Labs toolkit.**
|
|
28
|
+
|
|
29
|
+
`vamp-penreport` reads JSON output files from any VSL tool, normalizes and deduplicates all findings, computes a global risk score, and produces polished HTML, PDF, and Markdown reports ready for client delivery.
|
|
30
|
+
|
|
31
|
+
It is **not a scanner** — it is a report aggregator and generator. It has no finding prefix of its own; it works with findings produced by other VSL tools.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
|
|
37
|
+
- Ingests multiple VSL JSON output files in a single run
|
|
38
|
+
- Normalizes severity labels and deduplicates findings across tools
|
|
39
|
+
- Computes global risk score (0–100) with qualitative label (Low / Moderate / High / Critical)
|
|
40
|
+
- Executive summary with inline SVG gauge and category bar chart
|
|
41
|
+
- Prioritized remediation roadmap (4 phases: Immediate / Urgent / Planned / Continuous)
|
|
42
|
+
- **MITRE ATT&CK coverage section**: auto-detected from `vamp-log-analyzer` FORA-NNN findings — 25 detectors mapped to 12 tactics; rendered as an interactive table with severity badges and technique tooltips
|
|
43
|
+
- Detailed technical findings section with estimated CVSS range
|
|
44
|
+
- **Local logo embedding**: `--logo-file PATH` embeds any PNG/JPG/SVG as a base64 data URI — the HTML is fully self-contained with no external requests
|
|
45
|
+
- Printable HTML with full CSS `@media print` support
|
|
46
|
+
- Native PDF via `fpdf2` (no browser required)
|
|
47
|
+
- Markdown output for integration into wikis or documentation systems
|
|
48
|
+
- Consolidated JSON export for pipeline integration
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Installation
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
cd vamp-penreport
|
|
56
|
+
pip install -r requirements.txt
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`fpdf2` is only required for PDF output. HTML and Markdown generation work with Python stdlib alone.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Usage
|
|
64
|
+
|
|
65
|
+
### Basic — HTML only
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
python3 vamp_penreport.py scan1.json \
|
|
69
|
+
--client "Acme Corp" \
|
|
70
|
+
--engagement "External Pentest Q3 2026"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Full report — HTML + PDF + Markdown
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
python3 vamp_penreport.py scan1.json scan2.json scan3.json \
|
|
77
|
+
--client "Acme Corp" \
|
|
78
|
+
--engagement "External Pentest Q3 2026" \
|
|
79
|
+
--auditor "VampSecure Labs Red Team" \
|
|
80
|
+
--scope "Perimeter web applications and exposed APIs" \
|
|
81
|
+
--start-date 2026-07-01 \
|
|
82
|
+
--end-date 2026-07-31 \
|
|
83
|
+
--logo-file /path/to/client_logo.png \
|
|
84
|
+
--report-html report.html \
|
|
85
|
+
--report-pdf report.pdf \
|
|
86
|
+
--report-md report.md \
|
|
87
|
+
--report-json consolidated.json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Executive summary only (no detailed technical findings)
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
python3 vamp_penreport.py scan1.json scan2.json \
|
|
94
|
+
--client "Acme Corp" \
|
|
95
|
+
--engagement "Quick Assessment" \
|
|
96
|
+
--executive-only \
|
|
97
|
+
--report-html executive_summary.html
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Forensic log report with MITRE ATT&CK coverage
|
|
101
|
+
|
|
102
|
+
When the input includes output from `vamp-log-analyzer`, the report automatically adds a **MITRE ATT&CK coverage section** showing which tactics and techniques were observed:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
python3 vamp_penreport.py \
|
|
106
|
+
recon.json ssl.json http.json logs_forensic.json \
|
|
107
|
+
--client "Acme Corp" \
|
|
108
|
+
--engagement "Full Perimeter Assessment" \
|
|
109
|
+
--report-html full_report.html
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### All options
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
usage: vamp-penreport [-h] --client NOMBRE [--engagement DESC]
|
|
116
|
+
[--auditor NOMBRE] [--scope TEXTO]
|
|
117
|
+
[--start-date FECHA] [--end-date FECHA]
|
|
118
|
+
[--report-html FILE] [--report-pdf FILE]
|
|
119
|
+
[--report-md FILE] [--report-json FILE]
|
|
120
|
+
[--logo-url URL] [--logo-file FICHERO]
|
|
121
|
+
[--executive-only] [--verbose]
|
|
122
|
+
INPUT [INPUT ...]
|
|
123
|
+
|
|
124
|
+
positional arguments:
|
|
125
|
+
INPUT One or more VSL JSON output files
|
|
126
|
+
|
|
127
|
+
options:
|
|
128
|
+
--client NOMBRE Client name (required)
|
|
129
|
+
--engagement DESC Engagement description
|
|
130
|
+
--auditor NOMBRE Auditor name/team (default: VampSecure Labs)
|
|
131
|
+
--scope TEXTO Engagement scope
|
|
132
|
+
--start-date FECHA Start date (YYYY-MM-DD)
|
|
133
|
+
--end-date FECHA End date (YYYY-MM-DD)
|
|
134
|
+
--report-html FILE HTML output file (default: report.html)
|
|
135
|
+
--report-pdf FILE PDF output file (requires fpdf2)
|
|
136
|
+
--report-md FILE Markdown output file
|
|
137
|
+
--report-json FILE Consolidated JSON output file
|
|
138
|
+
--logo-url URL Client logo URL (HTML only, optional)
|
|
139
|
+
--logo-file FILE Local logo file embedded as base64 (PNG/JPG/SVG)
|
|
140
|
+
--executive-only Executive summary only, no technical findings
|
|
141
|
+
--verbose Verbose/debug output
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Input JSON schema
|
|
147
|
+
|
|
148
|
+
VSL tools produce output files in the following standard schema. All fields are optional except `findings`.
|
|
149
|
+
|
|
150
|
+
| Field | Type | Description |
|
|
151
|
+
|-------|------|-------------|
|
|
152
|
+
| `tool` | string | Tool name (e.g. `vamp-docker-audit`) |
|
|
153
|
+
| `version` | string | Tool version |
|
|
154
|
+
| `target` | string | Scan target (hostname, IP, path…) |
|
|
155
|
+
| `timestamp` | string | ISO 8601 scan timestamp |
|
|
156
|
+
| `findings` | array | Array of finding objects (see below) |
|
|
157
|
+
| `summary` | object | Count by severity (optional, for reference) |
|
|
158
|
+
|
|
159
|
+
### Finding object
|
|
160
|
+
|
|
161
|
+
| Field | Type | Description |
|
|
162
|
+
|-------|------|-------------|
|
|
163
|
+
| `id` | string | Finding identifier (e.g. `DOCK-001`, `FORA-001`) |
|
|
164
|
+
| `severity` | string | `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, or `INFO` |
|
|
165
|
+
| `title` | string | Short finding title |
|
|
166
|
+
| `description` | string | Technical description |
|
|
167
|
+
| `evidence` | string | Raw evidence / proof of concept |
|
|
168
|
+
| `remediation` | string | Recommended fix |
|
|
169
|
+
| `references` | array | External references (CVEs, CWEs, URLs…) |
|
|
170
|
+
|
|
171
|
+
Alternative field names are also accepted: `results`/`issues`/`vulnerabilities` instead of `findings`; `risk`/`level` instead of `severity`; `detail`/`details` instead of `description`; `output`/`proof` instead of `evidence`; `fix`/`recommendation` instead of `remediation`.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Report sections
|
|
176
|
+
|
|
177
|
+
| Section | Description |
|
|
178
|
+
|---------|-------------|
|
|
179
|
+
| **Cover page** | Client name, dates, auditor, CONFIDENTIAL classification, optional logo |
|
|
180
|
+
| **Table of contents** | Navigable index with dynamic numbering |
|
|
181
|
+
| **Executive summary** | Risk gauge (SVG), severity table, top 5 findings, tool distribution chart |
|
|
182
|
+
| **Remediation roadmap** | 4-phase plan: Immediate (0–7d), Urgent (7–30d), Planned (30–90d), Continuous |
|
|
183
|
+
| **MITRE ATT&CK coverage** | Auto-generated when FORA-NNN findings are present — tactics matrix with severity badges and technique tooltips |
|
|
184
|
+
| **Technical findings** | Full detail per finding: description, evidence, remediation, CVSS estimate, references |
|
|
185
|
+
| **Methodology** | Tools used, severity classification table |
|
|
186
|
+
| **Disclaimer** | Confidentiality notice |
|
|
187
|
+
|
|
188
|
+
> The MITRE ATT&CK section only appears when the report contains findings from `vamp-log-analyzer` (FORA-NNN prefix). Section numbers adjust automatically.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## MITRE ATT&CK Coverage
|
|
193
|
+
|
|
194
|
+
When `vamp-log-analyzer` output is included, `vamp-penreport` automatically maps the 25 FORA-NNN detectors to MITRE ATT&CK tactics and renders a coverage matrix. Example:
|
|
195
|
+
|
|
196
|
+
| Tactic | Detected | Detectors |
|
|
197
|
+
|--------|----------|-----------|
|
|
198
|
+
| Credential Access | CRITICAL×2, HIGH×1 | `FORA-001` `FORA-002` `FORA-022` |
|
|
199
|
+
| Reconnaissance | HIGH×1 | `FORA-009` |
|
|
200
|
+
| Initial Access | MEDIUM×1 | `FORA-007` |
|
|
201
|
+
| … | … | … |
|
|
202
|
+
|
|
203
|
+
The 25 detectors cover 12 tactics: Reconnaissance, Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command & Control, Exfiltration.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Compatible VSL tools
|
|
208
|
+
|
|
209
|
+
`vamp-penreport` works with JSON output from any tool in the VampSecure Labs toolkit:
|
|
210
|
+
|
|
211
|
+
- `vamp-log-analyzer` — Forensic log analysis — 25 MITRE ATT&CK detectors, STIX 2.1 *(triggers ATT&CK section)*
|
|
212
|
+
- `vamp-docker-audit` — Docker container and daemon security
|
|
213
|
+
- `vamp-k8s-audit` — Kubernetes cluster security review
|
|
214
|
+
- `vamp-ssl-audit` — TLS/SSL certificate and configuration analysis
|
|
215
|
+
- `vamp-secrets-scanner` — Hardcoded secrets and credential detection
|
|
216
|
+
- `vamp-http-audit` — HTTP headers and web security checks
|
|
217
|
+
- `vamp-wp2shell-audit` — WordPress vulnerability assessment
|
|
218
|
+
- `vamp-passive-recon` — OSINT and passive reconnaissance
|
|
219
|
+
- `vamp-subdomain-takeover` — Subdomain takeover detection
|
|
220
|
+
- `vamp-cve-oracle` — CVE correlation and vulnerability lookup
|
|
221
|
+
- `vamp-jwt-audit` — JWT token security analysis
|
|
222
|
+
- `vamp-k8s-audit` — Kubernetes cluster security review
|
|
223
|
+
- `vamp-llm-probe` — LLM endpoint security assessment
|
|
224
|
+
- `vamp-mail-audit` — Email security (SPF/DKIM/DMARC)
|
|
225
|
+
- `vamp-arp-sentinel` — ARP spoofing and network analysis
|
|
226
|
+
- `vamp-entropy-watch` — Entropy-based anomaly detection
|
|
227
|
+
- `vamp-forticheck` — Multi-vendor edge device CVE scanner
|
|
228
|
+
- `vamp-cloud-enum` — Cloud asset enumeration
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## License
|
|
233
|
+
|
|
234
|
+
MIT — See `LICENSE` file.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
© VampSecure Studios — VampSecure Labs Security Research Division
|
|
239
|
+
|
|
240
|
+
*Authorized use only in environments with explicit written permission.*
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# vamp-penreport
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
**Professional pentest report aggregator for VampSecure Labs toolkit.**
|
|
9
|
+
|
|
10
|
+
`vamp-penreport` reads JSON output files from any VSL tool, normalizes and deduplicates all findings, computes a global risk score, and produces polished HTML, PDF, and Markdown reports ready for client delivery.
|
|
11
|
+
|
|
12
|
+
It is **not a scanner** — it is a report aggregator and generator. It has no finding prefix of its own; it works with findings produced by other VSL tools.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Features
|
|
17
|
+
|
|
18
|
+
- Ingests multiple VSL JSON output files in a single run
|
|
19
|
+
- Normalizes severity labels and deduplicates findings across tools
|
|
20
|
+
- Computes global risk score (0–100) with qualitative label (Low / Moderate / High / Critical)
|
|
21
|
+
- Executive summary with inline SVG gauge and category bar chart
|
|
22
|
+
- Prioritized remediation roadmap (4 phases: Immediate / Urgent / Planned / Continuous)
|
|
23
|
+
- **MITRE ATT&CK coverage section**: auto-detected from `vamp-log-analyzer` FORA-NNN findings — 25 detectors mapped to 12 tactics; rendered as an interactive table with severity badges and technique tooltips
|
|
24
|
+
- Detailed technical findings section with estimated CVSS range
|
|
25
|
+
- **Local logo embedding**: `--logo-file PATH` embeds any PNG/JPG/SVG as a base64 data URI — the HTML is fully self-contained with no external requests
|
|
26
|
+
- Printable HTML with full CSS `@media print` support
|
|
27
|
+
- Native PDF via `fpdf2` (no browser required)
|
|
28
|
+
- Markdown output for integration into wikis or documentation systems
|
|
29
|
+
- Consolidated JSON export for pipeline integration
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
cd vamp-penreport
|
|
37
|
+
pip install -r requirements.txt
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`fpdf2` is only required for PDF output. HTML and Markdown generation work with Python stdlib alone.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
### Basic — HTML only
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python3 vamp_penreport.py scan1.json \
|
|
50
|
+
--client "Acme Corp" \
|
|
51
|
+
--engagement "External Pentest Q3 2026"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Full report — HTML + PDF + Markdown
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python3 vamp_penreport.py scan1.json scan2.json scan3.json \
|
|
58
|
+
--client "Acme Corp" \
|
|
59
|
+
--engagement "External Pentest Q3 2026" \
|
|
60
|
+
--auditor "VampSecure Labs Red Team" \
|
|
61
|
+
--scope "Perimeter web applications and exposed APIs" \
|
|
62
|
+
--start-date 2026-07-01 \
|
|
63
|
+
--end-date 2026-07-31 \
|
|
64
|
+
--logo-file /path/to/client_logo.png \
|
|
65
|
+
--report-html report.html \
|
|
66
|
+
--report-pdf report.pdf \
|
|
67
|
+
--report-md report.md \
|
|
68
|
+
--report-json consolidated.json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Executive summary only (no detailed technical findings)
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
python3 vamp_penreport.py scan1.json scan2.json \
|
|
75
|
+
--client "Acme Corp" \
|
|
76
|
+
--engagement "Quick Assessment" \
|
|
77
|
+
--executive-only \
|
|
78
|
+
--report-html executive_summary.html
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Forensic log report with MITRE ATT&CK coverage
|
|
82
|
+
|
|
83
|
+
When the input includes output from `vamp-log-analyzer`, the report automatically adds a **MITRE ATT&CK coverage section** showing which tactics and techniques were observed:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
python3 vamp_penreport.py \
|
|
87
|
+
recon.json ssl.json http.json logs_forensic.json \
|
|
88
|
+
--client "Acme Corp" \
|
|
89
|
+
--engagement "Full Perimeter Assessment" \
|
|
90
|
+
--report-html full_report.html
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### All options
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
usage: vamp-penreport [-h] --client NOMBRE [--engagement DESC]
|
|
97
|
+
[--auditor NOMBRE] [--scope TEXTO]
|
|
98
|
+
[--start-date FECHA] [--end-date FECHA]
|
|
99
|
+
[--report-html FILE] [--report-pdf FILE]
|
|
100
|
+
[--report-md FILE] [--report-json FILE]
|
|
101
|
+
[--logo-url URL] [--logo-file FICHERO]
|
|
102
|
+
[--executive-only] [--verbose]
|
|
103
|
+
INPUT [INPUT ...]
|
|
104
|
+
|
|
105
|
+
positional arguments:
|
|
106
|
+
INPUT One or more VSL JSON output files
|
|
107
|
+
|
|
108
|
+
options:
|
|
109
|
+
--client NOMBRE Client name (required)
|
|
110
|
+
--engagement DESC Engagement description
|
|
111
|
+
--auditor NOMBRE Auditor name/team (default: VampSecure Labs)
|
|
112
|
+
--scope TEXTO Engagement scope
|
|
113
|
+
--start-date FECHA Start date (YYYY-MM-DD)
|
|
114
|
+
--end-date FECHA End date (YYYY-MM-DD)
|
|
115
|
+
--report-html FILE HTML output file (default: report.html)
|
|
116
|
+
--report-pdf FILE PDF output file (requires fpdf2)
|
|
117
|
+
--report-md FILE Markdown output file
|
|
118
|
+
--report-json FILE Consolidated JSON output file
|
|
119
|
+
--logo-url URL Client logo URL (HTML only, optional)
|
|
120
|
+
--logo-file FILE Local logo file embedded as base64 (PNG/JPG/SVG)
|
|
121
|
+
--executive-only Executive summary only, no technical findings
|
|
122
|
+
--verbose Verbose/debug output
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Input JSON schema
|
|
128
|
+
|
|
129
|
+
VSL tools produce output files in the following standard schema. All fields are optional except `findings`.
|
|
130
|
+
|
|
131
|
+
| Field | Type | Description |
|
|
132
|
+
|-------|------|-------------|
|
|
133
|
+
| `tool` | string | Tool name (e.g. `vamp-docker-audit`) |
|
|
134
|
+
| `version` | string | Tool version |
|
|
135
|
+
| `target` | string | Scan target (hostname, IP, path…) |
|
|
136
|
+
| `timestamp` | string | ISO 8601 scan timestamp |
|
|
137
|
+
| `findings` | array | Array of finding objects (see below) |
|
|
138
|
+
| `summary` | object | Count by severity (optional, for reference) |
|
|
139
|
+
|
|
140
|
+
### Finding object
|
|
141
|
+
|
|
142
|
+
| Field | Type | Description |
|
|
143
|
+
|-------|------|-------------|
|
|
144
|
+
| `id` | string | Finding identifier (e.g. `DOCK-001`, `FORA-001`) |
|
|
145
|
+
| `severity` | string | `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, or `INFO` |
|
|
146
|
+
| `title` | string | Short finding title |
|
|
147
|
+
| `description` | string | Technical description |
|
|
148
|
+
| `evidence` | string | Raw evidence / proof of concept |
|
|
149
|
+
| `remediation` | string | Recommended fix |
|
|
150
|
+
| `references` | array | External references (CVEs, CWEs, URLs…) |
|
|
151
|
+
|
|
152
|
+
Alternative field names are also accepted: `results`/`issues`/`vulnerabilities` instead of `findings`; `risk`/`level` instead of `severity`; `detail`/`details` instead of `description`; `output`/`proof` instead of `evidence`; `fix`/`recommendation` instead of `remediation`.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Report sections
|
|
157
|
+
|
|
158
|
+
| Section | Description |
|
|
159
|
+
|---------|-------------|
|
|
160
|
+
| **Cover page** | Client name, dates, auditor, CONFIDENTIAL classification, optional logo |
|
|
161
|
+
| **Table of contents** | Navigable index with dynamic numbering |
|
|
162
|
+
| **Executive summary** | Risk gauge (SVG), severity table, top 5 findings, tool distribution chart |
|
|
163
|
+
| **Remediation roadmap** | 4-phase plan: Immediate (0–7d), Urgent (7–30d), Planned (30–90d), Continuous |
|
|
164
|
+
| **MITRE ATT&CK coverage** | Auto-generated when FORA-NNN findings are present — tactics matrix with severity badges and technique tooltips |
|
|
165
|
+
| **Technical findings** | Full detail per finding: description, evidence, remediation, CVSS estimate, references |
|
|
166
|
+
| **Methodology** | Tools used, severity classification table |
|
|
167
|
+
| **Disclaimer** | Confidentiality notice |
|
|
168
|
+
|
|
169
|
+
> The MITRE ATT&CK section only appears when the report contains findings from `vamp-log-analyzer` (FORA-NNN prefix). Section numbers adjust automatically.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## MITRE ATT&CK Coverage
|
|
174
|
+
|
|
175
|
+
When `vamp-log-analyzer` output is included, `vamp-penreport` automatically maps the 25 FORA-NNN detectors to MITRE ATT&CK tactics and renders a coverage matrix. Example:
|
|
176
|
+
|
|
177
|
+
| Tactic | Detected | Detectors |
|
|
178
|
+
|--------|----------|-----------|
|
|
179
|
+
| Credential Access | CRITICAL×2, HIGH×1 | `FORA-001` `FORA-002` `FORA-022` |
|
|
180
|
+
| Reconnaissance | HIGH×1 | `FORA-009` |
|
|
181
|
+
| Initial Access | MEDIUM×1 | `FORA-007` |
|
|
182
|
+
| … | … | … |
|
|
183
|
+
|
|
184
|
+
The 25 detectors cover 12 tactics: Reconnaissance, Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command & Control, Exfiltration.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Compatible VSL tools
|
|
189
|
+
|
|
190
|
+
`vamp-penreport` works with JSON output from any tool in the VampSecure Labs toolkit:
|
|
191
|
+
|
|
192
|
+
- `vamp-log-analyzer` — Forensic log analysis — 25 MITRE ATT&CK detectors, STIX 2.1 *(triggers ATT&CK section)*
|
|
193
|
+
- `vamp-docker-audit` — Docker container and daemon security
|
|
194
|
+
- `vamp-k8s-audit` — Kubernetes cluster security review
|
|
195
|
+
- `vamp-ssl-audit` — TLS/SSL certificate and configuration analysis
|
|
196
|
+
- `vamp-secrets-scanner` — Hardcoded secrets and credential detection
|
|
197
|
+
- `vamp-http-audit` — HTTP headers and web security checks
|
|
198
|
+
- `vamp-wp2shell-audit` — WordPress vulnerability assessment
|
|
199
|
+
- `vamp-passive-recon` — OSINT and passive reconnaissance
|
|
200
|
+
- `vamp-subdomain-takeover` — Subdomain takeover detection
|
|
201
|
+
- `vamp-cve-oracle` — CVE correlation and vulnerability lookup
|
|
202
|
+
- `vamp-jwt-audit` — JWT token security analysis
|
|
203
|
+
- `vamp-k8s-audit` — Kubernetes cluster security review
|
|
204
|
+
- `vamp-llm-probe` — LLM endpoint security assessment
|
|
205
|
+
- `vamp-mail-audit` — Email security (SPF/DKIM/DMARC)
|
|
206
|
+
- `vamp-arp-sentinel` — ARP spoofing and network analysis
|
|
207
|
+
- `vamp-entropy-watch` — Entropy-based anomaly detection
|
|
208
|
+
- `vamp-forticheck` — Multi-vendor edge device CVE scanner
|
|
209
|
+
- `vamp-cloud-enum` — Cloud asset enumeration
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## License
|
|
214
|
+
|
|
215
|
+
MIT — See `LICENSE` file.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
© VampSecure Studios — VampSecure Labs Security Research Division
|
|
220
|
+
|
|
221
|
+
*Authorized use only in environments with explicit written permission.*
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "vamp-penreport"
|
|
7
|
+
version = "2.1"
|
|
8
|
+
description = "Penetration test report generator for VampSecure Labs assessments"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.9"
|
|
12
|
+
authors = [{ name = "VampSecure Studios", email = "contact@vampsecurestudios.com" }]
|
|
13
|
+
keywords = ["security", "pentest", "audit", "cybersecurity", "vampsecure", "reporting", "pentest-report", "documentation"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 5 - Production/Stable",
|
|
16
|
+
"Environment :: Console",
|
|
17
|
+
"Intended Audience :: Information Technology",
|
|
18
|
+
"License :: OSI Approved :: MIT License",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Topic :: Security",
|
|
22
|
+
]
|
|
23
|
+
dependencies = []
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
[project.scripts]
|
|
27
|
+
vamp-penreport = "vamp_penreport:main"
|
|
28
|
+
|
|
29
|
+
[project.urls]
|
|
30
|
+
Homepage = "https://github.com/Vampsecure-Labs/vamp-penreport"
|
|
31
|
+
Repository = "https://github.com/Vampsecure-Labs/vamp-penreport"
|
|
32
|
+
|
|
33
|
+
[tool.setuptools]
|
|
34
|
+
py-modules = ["vamp_penreport"]
|