Documentation
¶
Index ¶
- func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error)
- func MaskSecrets(evidence string) string
- func SortFindingsBySeverity(findings []rules.Finding) []rules.Finding
- type ComplianceInfo
- type EnhancedFinding
- type EnhancedFormatter
- func (ef *EnhancedFormatter) AddFinding(finding rules.Finding, findingNumber int)
- func (ef *EnhancedFormatter) FormatAll() string
- func (ef *EnhancedFormatter) FormatBoxedFinding(finding rules.Finding, number int) string
- func (ef *EnhancedFormatter) FormatFinding(enhanced EnhancedFinding) string
- func (ef *EnhancedFormatter) PrintCompactFinding(finding rules.Finding, number int) string
- type Generator
- type IntelligenceGenerator
- type IntelligenceReport
- type IntelligenceSummary
- type PolicyAwareReport
- type PolicyAwareReportGenerator
- func (parg *PolicyAwareReportGenerator) GenerateReport(findings []rules.Finding, context config.PolicyContext, outputFormat string) (*PolicyAwareReport, error)
- func (parg *PolicyAwareReportGenerator) PolicyAwareCLIReport(findings []rules.Finding, context config.PolicyContext) string
- func (parg *PolicyAwareReportGenerator) PolicyAwareJSONReport(findings []rules.Finding, context config.PolicyContext) (string, error)
- type PolicyEnhancedFinding
- type PolicyEvaluationSummary
- type PolicyRecommendation
- type PolicyStats
- type ResultSummary
- type ScanResult
- type VulnerabilityIntelligence
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MarshalIndent ¶ added in v0.0.4
MarshalIndent is a placeholder for json.MarshalIndent to avoid import conflicts
func MaskSecrets ¶
MaskSecrets masks sensitive information in the evidence field of a finding
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
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