report

package
v1.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 6, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalIndent added in v0.0.4

func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error)

MarshalIndent is a placeholder for json.MarshalIndent to avoid import conflicts

func MaskSecrets

func MaskSecrets(evidence string) string

MaskSecrets masks sensitive information in the evidence field of a finding

func SortFindingsBySeverity

func SortFindingsBySeverity(findings []rules.Finding) []rules.Finding

SortFindingsBySeverity sorts findings by severity (Critical, High, Medium, Low, Info)

Types

type ComplianceInfo added in v0.0.4

type ComplianceInfo struct {
	Frameworks   []string          `json:"frameworks"`
	Controls     []string          `json:"controls"`
	Requirements []string          `json:"requirements"`
	Violations   map[string]string `json:"violations"`
}

ComplianceInfo provides compliance framework information

type EnhancedFinding added in v1.0.5

type EnhancedFinding struct {
	Finding   rules.Finding
	FileLines map[int]string // Line number -> content
	Number    int            // Overall finding number
}

EnhancedFinding wraps a finding with additional formatting context

type EnhancedFormatter added in v1.0.5

type EnhancedFormatter struct {
	// contains filtered or unexported fields
}

EnhancedFormatter provides modern, visually appealing output formatting

func NewEnhancedFormatter added in v1.0.5

func NewEnhancedFormatter() *EnhancedFormatter

NewEnhancedFormatter creates a new enhanced formatter

func (*EnhancedFormatter) AddFinding added in v1.0.5

func (ef *EnhancedFormatter) AddFinding(finding rules.Finding, findingNumber int)

AddFinding adds a finding with file context

func (*EnhancedFormatter) FormatAll added in v1.0.5

func (ef *EnhancedFormatter) FormatAll() string

FormatAll returns a formatted string for all findings

func (*EnhancedFormatter) FormatBoxedFinding added in v1.0.5

func (ef *EnhancedFormatter) FormatBoxedFinding(finding rules.Finding, number int) string

FormatBoxedFinding returns a visually boxed finding format

func (*EnhancedFormatter) FormatFinding added in v1.0.5

func (ef *EnhancedFormatter) FormatFinding(enhanced EnhancedFinding) string

FormatFinding returns a formatted string for a single finding

func (*EnhancedFormatter) PrintCompactFinding added in v1.0.5

func (ef *EnhancedFormatter) PrintCompactFinding(finding rules.Finding, number int) string

PrintCompactFinding prints a compact version of a finding (original style but improved)

type Generator

type Generator struct {
	Result             ScanResult
	Format             string
	Verbose            bool
	FilePath           string
	EnhancedFormatting bool   // Use enhanced formatting for CLI output
	CLIStyle           string // CLI style: "standard", "detailed", "compact", "boxed"
	// contains filtered or unexported fields
}

Generator creates a formatted report from scan results

func NewGenerator

func NewGenerator(result ScanResult, format string, verbose bool, filePath string) *Generator

NewGenerator creates a new report generator

func (*Generator) Generate

func (g *Generator) Generate() error

Generate creates and outputs the report in the specified format

type IntelligenceGenerator added in v0.0.4

type IntelligenceGenerator struct {
	*Generator
	// contains filtered or unexported fields
}

IntelligenceGenerator creates intelligence-enhanced reports

func NewIntelligenceGenerator added in v0.0.4

func NewIntelligenceGenerator(result ScanResult, format string, verbose bool, filePath string, enableIntel bool) *IntelligenceGenerator

NewIntelligenceGenerator creates a new intelligence-enhanced report generator

func (*IntelligenceGenerator) GenerateWithIntelligence added in v0.0.4

func (ig *IntelligenceGenerator) GenerateWithIntelligence() error

GenerateWithIntelligence creates a report enhanced with vulnerability intelligence

type IntelligenceReport added in v0.0.4

type IntelligenceReport struct {
	ScanResult
	VulnerabilityIntelligence VulnerabilityIntelligence `json:"vulnerability_intelligence"`
	EnhancedFindings          []osv.EnhancedFinding     `json:"enhanced_findings"`
	IntelligenceSummary       IntelligenceSummary       `json:"intelligence_summary"`
}

IntelligenceReport represents a scan result enhanced with vulnerability intelligence

type IntelligenceSummary added in v0.0.4

type IntelligenceSummary struct {
	ResultSummary
	IntelligenceLevels      map[string]int `json:"intelligence_levels"`
	RiskScoreDistribution   map[string]int `json:"risk_score_distribution"`
	VulnerabilityCategories map[string]int `json:"vulnerability_categories"`
	RecentVulnerabilities   int            `json:"recent_vulnerabilities"`
	KnownExploits           int            `json:"known_exploits"`
}

IntelligenceSummary provides intelligence-enhanced summary statistics

type PolicyAwareReport added in v0.0.4

type PolicyAwareReport struct {
	Standard         interface{}             `json:"standard_report"`
	PolicyEvaluation PolicyEvaluationSummary `json:"policy_evaluation"`
	ComplianceReport config.ComplianceReport `json:"compliance_report"`
	EnhancedFindings []PolicyEnhancedFinding `json:"enhanced_findings"`
	Recommendations  []PolicyRecommendation  `json:"recommendations"`
	GeneratedAt      time.Time               `json:"generated_at"`
}

PolicyAwareReport extends standard reports with policy information

type PolicyAwareReportGenerator added in v0.0.4

type PolicyAwareReportGenerator struct {
	// contains filtered or unexported fields
}

PolicyAwareReportGenerator generates reports with policy evaluation

func NewPolicyAwareReportGenerator added in v0.0.4

func NewPolicyAwareReportGenerator(cfg *config.Config) *PolicyAwareReportGenerator

NewPolicyAwareReportGenerator creates a new policy-aware report generator

func (*PolicyAwareReportGenerator) GenerateReport added in v0.0.4

func (parg *PolicyAwareReportGenerator) GenerateReport(findings []rules.Finding, context config.PolicyContext, outputFormat string) (*PolicyAwareReport, error)

GenerateReport generates a policy-aware report

func (*PolicyAwareReportGenerator) PolicyAwareCLIReport added in v0.0.4

func (parg *PolicyAwareReportGenerator) PolicyAwareCLIReport(findings []rules.Finding, context config.PolicyContext) string

PolicyAwareCLIReport generates enhanced CLI output with policy information

func (*PolicyAwareReportGenerator) PolicyAwareJSONReport added in v0.0.4

func (parg *PolicyAwareReportGenerator) PolicyAwareJSONReport(findings []rules.Finding, context config.PolicyContext) (string, error)

PolicyAwareJSONReport generates enhanced JSON output with policy information

type PolicyEnhancedFinding added in v0.0.4

type PolicyEnhancedFinding struct {
	rules.Finding
	PolicyViolations []config.PolicyViolation `json:"policy_violations,omitempty"`
	PolicyExceptions []config.PolicyException `json:"policy_exceptions,omitempty"`
	ComplianceInfo   *ComplianceInfo          `json:"compliance_info,omitempty"`
	RiskScore        int                      `json:"risk_score"`
	EnforcementLevel string                   `json:"enforcement_level,omitempty"`
}

PolicyEnhancedFinding extends Finding with policy information

type PolicyEvaluationSummary added in v0.0.4

type PolicyEvaluationSummary struct {
	TotalPolicies      int                    `json:"total_policies"`
	PoliciesEvaluated  int                    `json:"policies_evaluated"`
	PolicyViolations   int                    `json:"policy_violations"`
	BlockingViolations int                    `json:"blocking_violations"`
	ErrorViolations    int                    `json:"error_violations"`
	WarningViolations  int                    `json:"warning_violations"`
	ExceptionsApplied  int                    `json:"exceptions_applied"`
	ComplianceStatus   map[string]bool        `json:"compliance_status"`
	PolicyBreakdown    map[string]PolicyStats `json:"policy_breakdown"`
}

PolicyEvaluationSummary summarizes policy evaluation results

type PolicyRecommendation added in v0.0.4

type PolicyRecommendation struct {
	ID          string   `json:"id"`
	Title       string   `json:"title"`
	Description string   `json:"description"`
	Priority    string   `json:"priority"`
	Actions     []string `json:"actions"`
	Resources   []string `json:"resources"`
}

PolicyRecommendation provides actionable recommendations

type PolicyStats added in v0.0.4

type PolicyStats struct {
	PolicyID    string `json:"policy_id"`
	PolicyName  string `json:"policy_name"`
	Violations  int    `json:"violations"`
	Exceptions  int    `json:"exceptions"`
	Compliant   bool   `json:"compliant"`
	Enforcement string `json:"enforcement"`
}

PolicyStats provides statistics for individual policies

type ResultSummary

type ResultSummary struct {
	Critical int `json:"critical"`
	High     int `json:"high"`
	Medium   int `json:"medium"`
	Low      int `json:"low"`
	Info     int `json:"info"`
	Total    int `json:"total"`
}

ResultSummary provides a summary of the scan findings by severity

func CalculateSummary

func CalculateSummary(findings []rules.Finding) ResultSummary

CalculateSummary computes the summary statistics for scan findings

type ScanResult

type ScanResult struct {
	Repository      string          `json:"repository"`
	ScanTime        time.Time       `json:"scanTime"`
	Duration        time.Duration   `json:"duration"`
	WorkflowsCount  int             `json:"workflowsCount"`
	RulesCount      int             `json:"rulesCount"`
	Findings        []rules.Finding `json:"findings"`
	Summary         ResultSummary   `json:"summary"`
	SuppressedCount int             `json:"suppressedCount"`
	GeneratedByAST  int             `json:"astGeneratedCount"`
}

ScanResult represents the overall result of a security scan

type VulnerabilityIntelligence added in v0.0.4

type VulnerabilityIntelligence struct {
	Enabled              bool      `json:"enabled"`
	QueryTime            time.Time `json:"query_time"`
	QueriesPerformed     int       `json:"queries_performed"`
	VulnerabilitiesFound int       `json:"vulnerabilities_found"`
	HighRiskFindings     int       `json:"high_risk_findings"`
	CVEsFound            []string  `json:"cves_found"`
	DataSource           string    `json:"data_source"`
}

VulnerabilityIntelligence provides metadata about vulnerability correlation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL