Simple Python microservice that generates scannable QR codes for embedding external references in pentest reports, compliance documentation, and client deliverables.
The Problem
Security firms include 10-15+ external URLs in reports:
- CVE database references (cve.mitre.org, nvd.nist.gov)
- Remediation guides and vendor documentation
- Proof-of-concept videos on private servers
- Secure file sharing portals for sensitive findings
- OWASP/SANS reference materials
The Solution
Local Python microservice that converts URLs to scannable QR codes:
- Input: Any URL (API endpoint, documentation, CVE reference)
- Output: Clean PNG file ready for report embedding
- Use Case: Drop QR code in PDF → Client scans → Direct access to resource
- Runs locally (no external API dependencies)
- Instant generation (< 1 second)
- Standard PNG output (embeds in Word/PDF)
- Clean presentation for B2B clients
Use Cases
Offensive Security:
- Link to detailed exploitation POCs without cluttering executive summary
- Reference multiple CVEs without breaking page flow
- Direct clients to secure remediation guides
- Compliance documentation with regulation references
- Evidence collection portals for auditors
- Policy document version control links
- Event booth materials (link to case studies)
- Business cards (portfolio/demo links)
- Physical security handbooks with digital resources
Tech Stack
- Python 3.8+
qrcodelibrary (pip install qrcode[pil])- FastAPI (lightweight local service)
- PIL/Pillow (image processing)
Target Audience
- Offensive security firms generating 20+ pentest reports monthly
- GRC consultants creating compliance documentation
- Security companies with client-facing deliverables
Impact
Before: 3-page pentest report with 12 long URLs breaking across lines After: Clean 2-page report with embedded QR codes for optional deep-dives
Efficiency: 30 seconds per URL → 5 seconds automated generation Client Experience: Professional presentation, zero typo errors, mobile-friendly access
---
Built by Kunsh Tanwar | Founder of ETXcyberops | Contact: [email protected]
