Documentation
¶
Overview ¶
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. * * This product includes software developed at Datadog (https://www.datadoghq.com) Copyright 2024 Datadog, Inc.
Index ¶
- func GetCountTerraformResources(fileContent []byte) int
- func PrepareScanDocument(ctx context.Context, body map[string]interface{}, kind model.FileKind) map[string]interface{}
- type Content
- type Service
- func (s *Service) GetVulnerabilities(ctx context.Context, scanID string) ([]model.Vulnerability, error)
- func (s *Service) PrepareSources(ctx context.Context, scanID string, openAPIResolveReferences bool, ...)
- func (s *Service) StartScan(ctx context.Context, scanID string, errCh chan<- error, wg *sync.WaitGroup)
- type Storage
- type Tracker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Service ¶
type Service struct {
SourceProvider provider.SourceProvider
Storage Storage
Parser *parser.Parser
Inspector *engine.Inspector
Tracker Tracker
Resolver *resolver.Resolver
MaxFileSize int
// contains filtered or unexported fields
}
Service is a struct that contains a SourceProvider to receive sources, a storage to save and retrieve scanning informations a parser to parse and provide files in format that KICS understand, a inspector that runs the scanning and a tracker to update scanning numbers
func (*Service) GetVulnerabilities ¶
func (s *Service) GetVulnerabilities(ctx context.Context, scanID string) ([]model.Vulnerability, error)
GetVulnerabilities returns a list of scan detected vulnerabilities
func (*Service) PrepareSources ¶
func (s *Service) PrepareSources(ctx context.Context, scanID string, openAPIResolveReferences bool, maxResolverDepth int, wg *sync.WaitGroup, errCh chan<- error, flagEvaluator featureflags.FlagEvaluator)
PrepareSources will prepare the sources to be scanned
type Storage ¶
type Storage interface {
SaveFile(ctx context.Context, metadata *model.FileMetadata) error
SaveVulnerabilities(ctx context.Context, vulnerabilities []model.Vulnerability) error
GetVulnerabilities(ctx context.Context, scanID string) ([]model.Vulnerability, error)
}
Storage is the interface that wraps following basic methods: SaveFile, SaveVulnerabilities, and GetVulnerabilities SaveFile should append metadata to a file SaveVulnerabilities should append vulnerabilities list to current storage GetVulnerabilities should returns all vulnerabilities associated to a scan ID
type Tracker ¶
type Tracker interface {
TrackFileFound(path string)
TrackFileParse(path string)
TrackFileFoundCountLines(countLines int)
TrackFileParseCountLines(countLines int)
TrackFileIgnoreCountLines(countLines int)
TrackFileFoundCountResources(countResources int)
}
Tracker is the interface that wraps the basic methods: TrackFileFound and TrackFileParse TrackFileFound should increment the number of files to be scanned TrackFileParse should increment the number of files parsed successfully to be scanned TrackFileFoundCountResources should increment the number of resources to be scanned