Documentation ¶
Overview ¶
Package scanner provides an interface and primitives for implementing scanners that check Kubernetes resources for various issues, such as security vulnerabilities, misconfigurations, and best practices.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Issue ¶
type Issue struct { // Scanner is the name of the scanner that discovered the issue. Scanner string `json:"scanner" yaml:"scanner"` // Severity indicates how critical the issue is, using the IssueSeverityLevel constants. Severity IssueSeverityLevel `json:"severity" yaml:"severity"` // Title is a brief summary of the issue. Title string `json:"title" yaml:"title"` // Message provides a detailed human-readable description of the issue. Message string `json:"message" yaml:"message"` }
Issue represents a particular finding or problem discovered by a scanner. It encapsulates the details of the issue such as the scanner's name, its severity, and a human-readable title and message.
type IssueSeverityLevel ¶
type IssueSeverityLevel int
IssueSeverityLevel represents the severity level of an issue.
const ( Safe IssueSeverityLevel = 0 // Safe indicates the absence of any security risk or an informational finding that does not require action. Low IssueSeverityLevel = 1 // Low indicates a minor issue that should be addressed. Medium IssueSeverityLevel = 2 // Medium indicates a potential issue that may have a moderate impact. High IssueSeverityLevel = 3 // High indicates a serious issue that has a significant impact. Critical IssueSeverityLevel = 5 // Critical indicates an extremely serious issue that must be addressed immediately. )
IssueSeverityLevel defines the severity levels for issues identified by scanners.
func (IssueSeverityLevel) MarshalJSON ¶
func (s IssueSeverityLevel) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface for IssueSeverityLevel.
func (IssueSeverityLevel) String ¶
func (s IssueSeverityLevel) String() string
String returns the string representation of the IssueSeverityLevel.
type KubeScanner ¶
type KubeScanner interface { Name() string // Name returns the name of the scanner. Scan(ctx context.Context, noCache bool, resources ...*storage.Resource) (ScanResult, error) // Scan accepts one or more Kubernetes resources and returns a slice of issues found. }
KubeScanner is an interface for scanners that analyze Kubernetes resources. Each scanner should implement this interface to provide scanning functionality.
type ResourceList ¶
ResourceList is a slice of storage resources.
type ScanResult ¶
type ScanResult interface { ByIssue() map[Issue]ResourceList ByResource() map[entity.ResourceGroupHash]IssueList IssueTotal() int MergeFrom(result ScanResult) }
ScanResult defines the interface for the result of a scan.
Directories ¶
Path | Synopsis |
---|---|
Package kubeaudit wraps the kubeaudit library to provide a scanner.KubeScanner implementation for auditing Kubernetes resources against common security concerns.
|
Package kubeaudit wraps the kubeaudit library to provide a scanner.KubeScanner implementation for auditing Kubernetes resources against common security concerns. |