§8 Reporting — Visualization & Output
Layer §7 of the Debt Collector Stack
Author: Shrikant Bhosale (@debtcollector21)
8.1 What It Is
The reporting layer converts the raw output of all six preceding layers into human-readable, machine-parseable, and submission-ready formats. A vulnerability that cannot be communicated does not exist.
8.2 Output Formats
8.2.1 UMM HTML Color Map
An interactive 2D visualization of process memory:
┌──────────────────────────────────────────────────────────┐
│ Memory Map — PID 12345 (d8) │
│ Total: 2.8GB | Regions: 184 | Debt: 0.72 │
├──────────────────────────────────────────────────────────┤
│ │
│ 0x00000000 ┌────────────────────────────────────────┐ │
│ │ ████ [heap] │ │
│ 0x40000000 │ ██████████████████████ [heap] │ │
│ │ ████████████████████████████████ │ │
│ 0x7f000000 │ ██████░░░░░░░░░░ [libc-2.31.so] │ │
│ │ ████░░░░░░░░░░░░░░ [ld-linux.so] │ │
│ │ ██████░░░░░░░░░░░░░░░░ [lib[Vendor].so] │ │
│ 0x7f130000 │ ████░░░░░░░░░░ [libstdc++.so] │ │
│ │ ████░░░░░░░░░░░░░░ [libasan.so] │ │
│ 0x7f7f0000 │ ████████████████ [lib[Vendor].so] │ │
│ │ ██████████████████████████████████ │ │
│ 0x7fffffff └────────────────────────────────────────┘ │
│ │
│ Legend: ██ Heap ██ RWX ██ Lib ██ Stack ██ VDSO │
│ │
│ Findings (7): │
│ [CRITICAL] RWX region [vdso] at 0x7fff... │
│ [HIGH] Adjacent alloc libc / lib[Vendor] at offset 0x... │
│ [MEDIUM] 184 regions — possible fragmentation │
└──────────────────────────────────────────────────────────┘
The HTML version is interactive: hover for details, click to zoom, toggle layers.
8.2.2 JSON Report
Standard machine-readable format for all layers:
{
"scan": {
"timestamp": "2026-07-17T10:30:00Z",
"target": "[Vendor]/src/parsing/",
"files": 89,
"duration_ms": 45200
},
"findings": {
"total": 32847,
"collapsed": 27647,
"real": 5200,
"critical": 847,
"high": 2103,
"medium": 1450,
"low": 800
},
"debt": {
"max_debt": 0.94,
"avg_debt": 0.82,
"subsystems": {
"parser": 0.85,
"compiler": 0.82,
"wasm": 0.74,
"builtins": 0.86
}
},
"chains": {
"total": 3,
"top_cvss": 8.0,
"top_path": "recon_info → heap_corruption → type_confusion → code_execution",
"bottleneck": "heap_corruption (0.42)"
},
"krus": {
"total": 35,
"matched": 35,
"nku_created": 0
},
"fuzzer": {
"seeds": 43,
"crashes": 43,
"hit_rate": 1.0,
"avg_crash_time_ms": 0.3
}
}
8.2.3 ASAN-Compatible Trace
For direct integration with AddressSanitizer workflows:
=================================================================
==VMF==ERROR: AddressSanitizer: DEBT-SUMMARY on target [Vendor]
Scan time: 45.2s | Files: 89 | Points: 32847
Real findings: 5200 (847 critical, 2103 high)
Collapse rate: 84.2%
Max D_e: 0.94 (builtins/typing.cc)
Avg D_e: 0.82
Chains: 3 (top CVSS 8.0)
Bottleneck: heap_corruption (betweenness 0.42)
KUs matched: 35/35 | NKUs: 0
Fuzzer hit rate: 43/43 (100%)
Overall assessment: MAXIMUM DEBT — structural exploitation expected
=================================================================
8.2.4 PDF Report (Audit Suite)
For client-facing consulting engagements, the audit CLI generates professional PDF reports:
- Company-branded cover page
- Executive summary with debt scores
- Per-finding breakdown with code snippets
- AttackGraph visualization
- CVSS scores with Feynman Gate status
- Remediation recommendations with priority
- Pricing and engagement terms
8.3 The Debt Dashboard
The vmf report command generates a terminal-based dashboard:
╔══════════════════════════════════════════════════════════════╗
║ DEBT COLLECTOR DASHBOARD ║
║ Target: [Vendor]/src/parsing/ ║
║ Time: 2026-07-17 10:30:00 ║
╠══════════════════════════════════════════════════════════════╣
║ LAYER │ STATUS │ FINDINGS │ DEBT │ CHAINS │ TIME ║
║─────────┼────────┼──────────┼──────┼────────┼──────────────║
║ §1 VMF │ DONE │ 32,847 │ 0.82 │ 3 │ 45.2s ║
║ §2 UMM │ DONE │ 7 │ 0.72 │ — │ 0.3s ║
║ §3 FZ │ DONE │ 43 │ — │ 1 │ 12.9ms ║
║ §4 PIP │ DONE │ 43/43 │ — │ 1 │ 8.1ms ║
║ §5 KU │ DONE │ 35/35 │ — │ 1 │ 1.2ms ║
║ §6 AG │ DONE │ 3 paths │ — │ 3 │ 4.5ms ║
╠══════════════════════════════════════════════════════════════╣
║ TOP CHAINS: ║
║ ┌─ CC-[Vendor]-001 (CVSS 8.0) ║
║ │ recon_info → heap_corruption → code_execution ║
║ │ Steps: 2 | Bottleneck: heap_corruption (0.42) ║
║ │ PoC: confirmed (ASAN heap-buffer-overflow) ║
║ ├─ CC-[Vendor]-002 (CVSS 7.5) ║
║ │ recon_info → type_confusion → code_execution ║
║ └─ CC-[Vendor]-003 (CVSS 7.5) ║
║ recon_info → heap_corruption → type_confusion → code ║
╠══════════════════════════════════════════════════════════════╣
║ BOTTLENECKS: ║
║ heap_corruption (0.42) — FIX THIS, COLLAPSE 42% PATHS ║
╚══════════════════════════════════════════════════════════════╝
8.4 Verification Badges
Every finding can be annotated with verification badges:
| Badge | Meaning |
|---|---|
| ✅ ASAN CONFIRMED | Crash reproduced under AddressSanitizer |
| ✅ CRASH VERIFIED | Fuzzer hit confirmed on target |
| ✅ PoC EXISTS | Working proof-of-concept available |
| ✅ FEYNMAN PASS | Passed all 10 Feynman Gate questions |
| ✅ [Vendor] P2/S2 | Confirmed by Android Security Team |
| ⚠️ FEYNMAN WARN | Some Feynman questions flagged |
| ❌ NO PoC | No working proof-of-concept |
| ❌ COLLAPSED | Failed projection engine validation |
These are overlaid on PoC videos and included in submission reports for credibility.
8.5 Submission Package Generator
The vmf export command generates an Immunefi/[Vendor]/[Vendor]-ready submission package:
vmf export -i findings.json -o submission_package/
Output structure:
submission_package/
├── README.md # Overview with CVSS scores
├── SUBMISSION.md # Full report
├── findings.json # Machine-readable
├── poc/ # PoC files
│ ├── poc_exploit.cc # Primary exploit PoC
│ ├── README.md # Build and run instructions
│ └── Makefile # Easy build
├── evidence/ # Supporting evidence
│ ├── asan_output.txt # ASAN crash log
│ ├── fuzzer_results.json # Fuzzer statistics
│ ├── attack_graph.png # Visualization
│ └── verification_badges.png # Badges overlay
└── THREAT_MODEL.md # AttackGraph with STRIDE
8.6 CLI Usage
# Dashboard
vmf report
vmf status
# Specific report
vmf report --findings findings.json --output report.json
# Export for submission
vmf export -i findings.json -o submission_package/
vmf export -i findings.json --format immunefi
vmf export -i findings.json --format [Vendor]
# HTML memory map
umm --html 12345 -o memory_map.html
# PDF report (audit suite)
audit report findings.json -c "Client Name" -p "Project Name"
# Video PoC
vmf video exploit_demo -c "./run_poc.sh; cat crash.log"
vmf video exploit_demo --badges "ASAN CONFIRMED,CRASH VERIFIED,FEYNMAN PASS"