violationutils

package
v1.25.0 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CveViolation

type CveViolation struct {
	ScaViolation
	CveVulnerability   cyclonedx.Vulnerability
	ContextualAnalysis *formats.Applicability        `json:"contextual_analysis,omitempty"`
	FixedVersions      *[]cyclonedx.AffectedVersions `json:"fixed_versions,omitempty"`
	// TODO: remove comment after information displayed in cyclonedx.Vulnerability
	JfrogResearchInformation *formats.JfrogResearchInformation `json:"jfrogResearchInformation,omitempty"`
}

func (*CveViolation) ShouldFailBuild

func (cv *CveViolation) ShouldFailBuild() bool

func (*CveViolation) ShouldFailPR

func (cv *CveViolation) ShouldFailPR() bool

type JasViolation

type JasViolation struct {
	Violation
	Rule     *sarif.ReportingDescriptor `json:"rule,omitempty"`
	Result   *sarif.Result              `json:"result,omitempty"`
	Location *sarif.Location            `json:"location,omitempty"`
}

type LicenseViolation

type LicenseViolation struct {
	ScaViolation
	LicenseKey  string `json:"license_key"`
	LicenseName string `json:"license_name"`
}

type OperationalRiskViolation

type OperationalRiskViolation struct {
	ScaViolation
	OperationalRiskViolationReadableData
}

type OperationalRiskViolationReadableData

type OperationalRiskViolationReadableData struct {
	RiskReason    string `json:"riskReason"`
	IsEol         string `json:"isEndOfLife"`
	EolMessage    string `json:"endOfLifeMessage"`
	Cadence       string `json:"cadence"`
	Commits       string `json:"commits"`
	Committers    string `json:"committers"`
	NewerVersions string `json:"newerVersions"`
	LatestVersion string `json:"latestVersion"`
}

func GetOperationalRiskViolationReadableData

func GetOperationalRiskViolationReadableData(riskReason string, isEol *bool, eolMsg string, cadence *float64, commits *int64, committers *int, latestVersion string, newerVersion *int) OperationalRiskViolationReadableData

type Policy

type Policy struct {
	PolicyName        string `json:"policy"`
	Rule              string `json:"rule"`
	FailBuild         bool   `json:"fail_build,omitempty"`
	FailPullRequest   bool   `json:"fail_pull_request,omitempty"`
	SkipNotApplicable bool   `json:"skip_not_applicable,omitempty"`
}

type ScaViolation

type ScaViolation struct {
	Violation
	ImpactedComponent cyclonedx.Component      `json:"impacted_component"`
	DirectComponents  []formats.ComponentRow   `json:"direct_components,omitempty"`
	ImpactPaths       [][]formats.ComponentRow `json:"impact_paths,omitempty"`
}

type ScaViolationIssueType

type ScaViolationIssueType string
const (
	ScaViolationTypeSecurity        ScaViolationIssueType = "security"
	ScaViolationTypeOperationalRisk ScaViolationIssueType = "operational_risk"
	ScaViolationTypeLicense         ScaViolationIssueType = "license"

	CustomLicenseViolationId = "custom_license_violation"
)

func (ScaViolationIssueType) String

func (v ScaViolationIssueType) String() string

type Violation

type Violation struct {
	ViolationId   string                 `json:"violation_id"`
	ViolationType ViolationIssueType     `json:"violation_type"`
	Severity      severityutils.Severity `json:"severity"`
	Watch         string                 `json:"watch_name"`
	Policies      []Policy               `json:"matched_policies,omitempty"`
}

func (*Violation) ShouldFailBuild

func (v *Violation) ShouldFailBuild() bool

func (*Violation) ShouldFailPR

func (v *Violation) ShouldFailPR() bool

func (*Violation) ShouldSkipNotApplicable

func (v *Violation) ShouldSkipNotApplicable() bool

type ViolationIssueType

type ViolationIssueType string
const (
	LicenseViolationType ViolationIssueType = "license"
	OperationalRiskType  ViolationIssueType = "operational_risk"
	CveViolationType     ViolationIssueType = "cve"
	SecretsViolationType ViolationIssueType = "secrets"
	IacViolationType     ViolationIssueType = "iac"
	SastViolationType    ViolationIssueType = "sast"
)

func (ViolationIssueType) String

func (v ViolationIssueType) String() string

type Violations

type Violations struct {
	Sca     []CveViolation             `json:"sca,omitempty"`
	License []LicenseViolation         `json:"license,omitempty"`
	OpRisk  []OperationalRiskViolation `json:"operational_risk,omitempty"`
	Secrets []JasViolation             `json:"secrets,omitempty"`
	Iac     []JasViolation             `json:"iac,omitempty"`
	Sast    []JasViolation             `json:"sast,omitempty"`
}

func (*Violations) Count

func (vs *Violations) Count() int

func (*Violations) HasViolations

func (vs *Violations) HasViolations() bool

func (*Violations) ShouldFailBuild

func (vs *Violations) ShouldFailBuild() bool

func (*Violations) ShouldFailPR

func (vs *Violations) ShouldFailPR() bool

func (*Violations) String

func (vs *Violations) String() string

Jump to

Keyboard shortcuts

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