Skip to content

Add report export formats#14

Open
Szj510 wants to merge 1 commit into
anvilsecure:mainfrom
Szj510:feature/report-export-formats
Open

Add report export formats#14
Szj510 wants to merge 1 commit into
anvilsecure:mainfrom
Szj510:feature/report-export-formats

Conversation

@Szj510

@Szj510 Szj510 commented Jun 4, 2026

Copy link
Copy Markdown

Summary

  • add --format csv, --format json, and --format xml to create-report
  • keep HTML as the default report output format
  • export combined SSH/TLS scan results for spreadsheet import, asset inventory, and automation workflows
  • fix TLS HTML report rendering for PQC algorithm lists by using Tera length and guarding optional hybrid algorithms
  • document the new report formats and update the TODO status

Why

The TODO lists combined JSON/CSV/XML export on top of the HTML report. These machine-readable formats make it easier to feed pqcscan results into PQC readiness reviews, spreadsheets, and downstream asset inventory tooling.

While visually validating the default HTML report path, TLS PQC algorithm rendering failed on the template expression result['pqc_algos'].count. This patch keeps HTML as the default and ensures that path still renders for PQC-enabled TLS results.

Validation

  • cargo test
  • git diff --check README.md TODO src/main.rs support/templates/tls_results.html
  • manually generated CSV, JSON, and XML reports from a sample scan result JSON
  • generated an HTML report locally and verified the Summary, SSH Results, TLS Results, and filter checkbox interactions in a browser

@Szj510 Szj510 force-pushed the feature/report-export-formats branch from 32fb05e to 047a7bd Compare June 4, 2026 04:10
@Szj510 Szj510 marked this pull request as ready for review June 4, 2026 04:16
@leemeo3

leemeo3 commented Jun 12, 2026

Copy link
Copy Markdown

I checked out this branch locally and validated the report export paths with a small sample containing one TLS result and one SSH result.

Validation run:

  • cargo test -> pass (3 tests)
  • git diff --check origin/main...HEAD -- README.md TODO src/main.rs support/templates/tls_results.html -> pass
  • cargo run -- help create-report -> lists html, csv, json, and xml
  • generated html, csv, json, and xml reports from the sample input -> all commands completed
  • jq on the JSON output showed tls_total_count=1, ssh_total_count=1, tls_pqc_supported_count=1, ssh_pqc_supported_count=1
  • xmllint --noout on the XML output -> pass
  • checked generated HTML/CSV/XML for both sample hosts and expected algorithms

I did not find a blocking issue in these paths.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants