Documentation
¶
Overview ¶
Package report provides formatting utilities for scan results.
Index ¶
- func FormatHTML(data ReportData) (string, error)
- func FormatJSON(data ReportData) (string, error)
- func FormatJUnit(data ReportData) (string, error)
- func FormatMarkdown(data ReportData) string
- func FormatSARIF(data ReportData) (string, error)
- func FormatTerminal(data ReportData) string
- type Finding
- type JUnitFailure
- type JUnitTestCase
- type JUnitTestSuite
- type JUnitTestSuites
- type ReportData
- type Severity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatHTML ¶
func FormatHTML(data ReportData) (string, error)
FormatHTML generates a self-contained HTML report.
func FormatJSON ¶
func FormatJSON(data ReportData) (string, error)
FormatJSON renders the report as machine-readable JSON.
func FormatJUnit ¶
func FormatJUnit(data ReportData) (string, error)
FormatJUnit renders findings as JUnit XML for CI integration. Each check becomes a test suite, each finding becomes a failed test case. Pages with no findings for a check get a passing test case.
func FormatMarkdown ¶
func FormatMarkdown(data ReportData) string
FormatMarkdown renders the report as a Markdown document suitable for GitHub PR comments or issue bodies.
func FormatSARIF ¶ added in v0.5.0
func FormatSARIF(data ReportData) (string, error)
FormatSARIF renders findings as SARIF 2.1.0 JSON.
func FormatTerminal ¶
func FormatTerminal(data ReportData) string
FormatTerminal renders a human-readable report for terminal output.
Types ¶
type Finding ¶
type Finding struct {
Check string `json:"check"`
Severity Severity `json:"severity"`
URL string `json:"url"`
Element string `json:"element,omitempty"`
Message string `json:"message"`
Fix string `json:"fix,omitempty"`
Evidence string `json:"evidence,omitempty"`
}
Finding for report rendering.
type JUnitFailure ¶
type JUnitTestCase ¶
type JUnitTestSuite ¶
type JUnitTestSuites ¶
type ReportData ¶
type ReportData struct {
Target string `json:"target"`
Findings []Finding `json:"findings"`
CrawledURLs int `json:"crawled_urls"`
Duration time.Duration `json:"duration"`
Stats struct {
BySeverity map[string]int `json:"by_severity"`
ByCheck map[string]int `json:"by_check"`
} `json:"stats"`
}
ReportData holds all data needed for rendering.