Generating Reports
This guide covers generating reports from enumeration results and sending findings to external systems like Discord.
Overview
Section titled “Overview”After scanning projects with enumerate, GoGatoZ provides two commands for working with results:
report— Generate self-contained HTML, text, or JSON reportsnotify— Send formatted findings to Discord via Apprise API or direct webhook
Both commands accept input from JSONL files, SQLite databases, or stdin pipes.
Generating HTML Reports
Section titled “Generating HTML Reports”From JSONL output
Section titled “From JSONL output”First, run an enumeration scan and save results as JSONL:
gogatoz enumerate -i targets.txt --json -o results.jsonlThen generate an HTML report:
gogatoz report --input results.jsonl --output report.htmlThe HTML report is self-contained (no external dependencies) and includes charts and searchable tables.
From SQLite database
Section titled “From SQLite database”If the MCP server or a previous scan stored results in SQLite:
gogatoz report --db results.sqlite3 --session 1 --output report.htmlOther formats
Section titled “Other formats”# Plain text summarygogatoz report --input results.jsonl --format text
# JSON (structured, parseable)gogatoz report --input results.jsonl --format json
# JSONL (one record per line, streamable)gogatoz report --input results.jsonl --format jsonl
# Only include projects with findingsgogatoz report --input results.jsonl --only-findings --output findings-only.htmlSending Notifications
Section titled “Sending Notifications”Discord via Apprise
Section titled “Discord via Apprise”Apprise is a notification aggregator. If you have an Apprise API endpoint:
gogatoz notify --input results.jsonl \ --apprise-url https://apprise.example/notify/appriseDiscord direct webhook
Section titled “Discord direct webhook”Send findings directly to a Discord channel webhook:
gogatoz notify --input results.jsonl \ --discord-webhook https://discord.com/api/webhooks/CHANNEL_ID/TOKENFindings are formatted as severity-colored Discord embeds with project details, rule names, and evidence.
Piped from enumerate
Section titled “Piped from enumerate”Stream results directly without intermediate files:
gogatoz enumerate -i targets.txt --json | \ gogatoz notify --discord-webhook https://discord.com/api/webhooks/...Dry run
Section titled “Dry run”Preview what would be sent without actually posting:
gogatoz notify --input results.jsonl --apprise-url x --dry-runLab Exercise
Section titled “Lab Exercise”Using the CTF lab environment (http://gitlab.local:8929):
1. Enumerate the lab projects
Section titled “1. Enumerate the lab projects”export GITLAB_TOKEN=glpat-lab-admin-token-12345export GITLAB_URL=http://gitlab.local:8929
gogatoz search -q "" --no-token --json | \ jq -r '.[].path_with_namespace' > lab-projects.txt
gogatoz enumerate -i lab-projects.txt \ --follow-includes --json -o lab-results.jsonl2. Generate an HTML report
Section titled “2. Generate an HTML report”gogatoz report --input lab-results.jsonl \ --only-findings --output lab-report.htmlOpen lab-report.html in your browser to review the findings with charts and tables.
3. Generate a text summary
Section titled “3. Generate a text summary”gogatoz report --input lab-results.jsonl --only-findings --format textNext Steps
Section titled “Next Steps”- MCP Capstone Lab — Use GoGatoZ as an MCP server with Claude Code to automate the full workflow