Proposed changes

  • add a new pdf exporter under pkg/reporting/exporters/pdf that implements the existing reporting Exporter interface
  • include report sections for summary + severity counts + findings overview + per-finding details
  • include optional raw request/response blocks with bounded truncation and omit-raw support
  • make exporter safe for concurrent Export calls by guarding shared state and snapshotting before render
  • wire PDF exporter into reporting configuration (yaml: pdf) and exporter registration in pkg/reporting/reporting.go
  • add focused unit tests for constructor behavior, nil event handling, omit-raw behavior, truncation, and concurrency

Proof

Executed locally:

go test ./pkg/reporting/exporters/pdf
go test -race ./pkg/reporting/exporters/pdf
go test ./pkg/reporting/...

Checklist

  • Pull request is created against the dev branch
  • All checks passed (lint, unit/integration/regression tests etc.) with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

/claim #2063

Summary by CodeRabbit

  • New Features

    • PDF export for scan findings with configurable output path, header, severity summary, findings overview, and detailed per-finding sections.
    • Option to omit raw request/response blocks and safe truncation of large raw content.
    • Thread-safe result collection and safe handling of output directories.
  • Tests

    • Comprehensive tests for PDF output, omission/truncation behavior, concurrency, and file handling.
  • Chores

    • Added PDF generation dependency.

Claim

Total prize pool $25
Total paid $0
Status Pending
Submitted February 27, 2026
Last updated February 27, 2026

Contributors

LI

Liuyi Yu

@yuliuyi717-ux

100%

Sponsors

PR

ProjectDiscovery

@projectdiscovery

$25