scan

package
v0.94.1 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2024 License: MIT Imports: 20 Imported by: 220

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CheckFunc

type CheckFunc func(s *state.State) (results Results)

type Code added in v0.51.0

type Code struct {
	Lines []Line
}

func (*Code) IsCauseMultiline added in v0.51.0

func (c *Code) IsCauseMultiline() bool

type CodeOption added in v0.57.3

type CodeOption func(*codeSettings)

func OptionCodeWithDarkTheme added in v0.57.3

func OptionCodeWithDarkTheme() CodeOption

func OptionCodeWithHighlighted added in v0.58.0

func OptionCodeWithHighlighted(include bool) CodeOption

func OptionCodeWithLightTheme added in v0.57.3

func OptionCodeWithLightTheme() CodeOption

func OptionCodeWithMaxLines added in v0.58.0

func OptionCodeWithMaxLines(lines int) CodeOption

func OptionCodeWithTheme added in v0.57.3

func OptionCodeWithTheme(theme string) CodeOption

func OptionCodeWithTruncation added in v0.57.3

func OptionCodeWithTruncation(truncate bool) CodeOption

type CustomChecks

type CustomChecks struct {
	Terraform *TerraformCustomCheck
}

type EngineMetadata

type EngineMetadata struct {
	GoodExamples        []string `json:"good_examples,omitempty"`
	BadExamples         []string `json:"bad_examples,omitempty"`
	RemediationMarkdown string   `json:"remediation_markdown,omitempty"`
	Links               []string `json:"links,omitempty"`
}

type FlatRange

type FlatRange struct {
	Filename  string `json:"filename"`
	StartLine int    `json:"start_line"`
	EndLine   int    `json:"end_line"`
}

type FlatResult

type FlatResult struct {
	RuleID          string             `json:"rule_id"`
	LongID          string             `json:"long_id"`
	RuleSummary     string             `json:"rule_description"`
	RuleProvider    providers.Provider `json:"rule_provider"`
	RuleService     string             `json:"rule_service"`
	Impact          string             `json:"impact"`
	Resolution      string             `json:"resolution"`
	Links           []string           `json:"links"`
	Description     string             `json:"description"`
	RangeAnnotation string             `json:"-"`
	Severity        severity.Severity  `json:"severity"`
	Warning         bool               `json:"warning"`
	Status          Status             `json:"status"`
	Resource        string             `json:"resource"`
	Occurrences     []Occurrence       `json:"occurrences,omitempty"`
	Location        FlatRange          `json:"location"`
}

type Line added in v0.51.0

type Line struct {
	Number      int    `json:"Number"`
	Content     string `json:"Content"`
	IsCause     bool   `json:"IsCause"`
	Annotation  string `json:"Annotation"`
	Truncated   bool   `json:"Truncated"`
	Highlighted string `json:"Highlighted,omitempty"`
	FirstCause  bool   `json:"FirstCause"`
	LastCause   bool   `json:"LastCause"`
}

type MetadataProvider

type MetadataProvider interface {
	GetMetadata() defsecTypes.Metadata
	GetRawValue() interface{}
}

type Occurrence added in v0.91.0

type Occurrence struct {
	Resource  string `json:"resource"`
	Filename  string `json:"filename"`
	StartLine int    `json:"start_line"`
	EndLine   int    `json:"end_line"`
}

type Result

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

func (*Result) AbsolutePath added in v0.52.0

func (r *Result) AbsolutePath(fsRoot string, metadata defsecTypes.Metadata) string

func (Result) Annotation

func (r Result) Annotation() string

func (Result) Description

func (r Result) Description() string

func (*Result) Flatten

func (r *Result) Flatten() FlatResult

func (*Result) GetCode added in v0.51.0

func (r *Result) GetCode(opts ...CodeOption) (*Code, error)

nolint

func (*Result) IsWarning added in v0.38.0

func (r *Result) IsWarning() bool

func (Result) Metadata

func (r Result) Metadata() defsecTypes.Metadata

func (*Result) Occurrences added in v0.91.0

func (r *Result) Occurrences() []Occurrence

func (*Result) OverrideAnnotation

func (r *Result) OverrideAnnotation(annotation string)

func (*Result) OverrideDescription

func (r *Result) OverrideDescription(description string)

func (*Result) OverrideMetadata

func (r *Result) OverrideMetadata(metadata defsecTypes.Metadata)

func (*Result) OverrideSeverity

func (r *Result) OverrideSeverity(s severity.Severity)

func (*Result) OverrideStatus

func (r *Result) OverrideStatus(status Status)

func (Result) Range

func (r Result) Range() defsecTypes.Range

func (Result) RegoNamespace

func (r Result) RegoNamespace() string

func (Result) RegoRule

func (r Result) RegoRule() string

func (*Result) RelativePathTo added in v0.52.0

func (r *Result) RelativePathTo(fsRoot, to string, metadata defsecTypes.Metadata) string

func (Result) Rule

func (r Result) Rule() Rule

func (*Result) SetRule

func (r *Result) SetRule(ru Rule)

func (Result) Severity

func (r Result) Severity() severity.Severity

func (Result) Status

func (r Result) Status() Status

func (Result) Traces added in v0.39.0

func (r Result) Traces() []string

type Results

type Results []Result

func (*Results) Add

func (r *Results) Add(description string, source interface{})

func (*Results) AddIgnored

func (r *Results) AddIgnored(source interface{}, descriptions ...string)

func (*Results) AddPassed

func (r *Results) AddPassed(source interface{}, descriptions ...string)

func (*Results) AddPassedRego added in v0.47.1

func (r *Results) AddPassedRego(namespace string, rule string, traces []string, source interface{})

func (*Results) AddRego

func (r *Results) AddRego(description string, namespace string, rule string, traces []string, source MetadataProvider)

func (Results) Flatten

func (r Results) Flatten() []FlatResult

func (*Results) GetFailed

func (r *Results) GetFailed() Results

func (*Results) GetIgnored

func (r *Results) GetIgnored() Results

func (*Results) GetPassed

func (r *Results) GetPassed() Results

func (*Results) SetRule

func (r *Results) SetRule(rule Rule)

func (*Results) SetSourceAndFilesystem

func (r *Results) SetSourceAndFilesystem(source string, f fs.FS, logicalSource bool)

type Rule

type Rule struct {
	AVDID          string                           `json:"avd_id"`
	Aliases        []string                         `json:"aliases"`
	ShortCode      string                           `json:"short_code"`
	Summary        string                           `json:"summary"`
	Explanation    string                           `json:"explanation"`
	Impact         string                           `json:"impact"`
	Resolution     string                           `json:"resolution"`
	Provider       providers.Provider               `json:"provider"`
	Service        string                           `json:"service"`
	Links          []string                         `json:"links"`
	Severity       severity.Severity                `json:"severity"`
	Terraform      *EngineMetadata                  `json:"terraform,omitempty"`
	CloudFormation *EngineMetadata                  `json:"cloud_formation,omitempty"`
	CustomChecks   CustomChecks                     `json:"-"`
	RegoPackage    string                           `json:"-"`
	Frameworks     map[framework.Framework][]string `json:"frameworks"`
	Check          CheckFunc                        `json:"-"`
}

func (Rule) CanCheck added in v0.94.0

func (r Rule) CanCheck() bool

func (Rule) Evaluate added in v0.94.0

func (r Rule) Evaluate(s *state.State) Results

func (Rule) HasID added in v0.69.0

func (r Rule) HasID(id string) bool

func (Rule) LongID

func (r Rule) LongID() string

func (Rule) ServiceDisplayName

func (r Rule) ServiceDisplayName() string

func (Rule) ShortCodeDisplayName

func (r Rule) ShortCodeDisplayName() string

type Status

type Status uint8
const (
	StatusFailed Status = iota
	StatusPassed
	StatusIgnored
)

type TerraformCustomCheck

type TerraformCustomCheck struct {
	RequiredTypes   []string
	RequiredLabels  []string
	RequiredSources []string
	Check           func(*terraform.Block, *terraform.Module) Results
}

Jump to

Keyboard shortcuts

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