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.
* 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{}
- func PrepareSharedWalk(ctx context.Context, fsp *provider.FileSystemSourceProvider, ...) error
- func SharedWalkProvider(services []*Service) (*provider.FileSystemSourceProvider, bool)
- 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 ¶
func PrepareScanDocument ¶
func PrepareScanDocument(ctx context.Context, body map[string]interface{}, kind model.FileKind) map[string]interface{}
PrepareScanDocument removes _dd_lines from payload and parses json filters. On a marshal failure it logs and returns the original body unchanged.
func PrepareSharedWalk ¶ added in v1.7.2
func PrepareSharedWalk(ctx context.Context, fsp *provider.FileSystemSourceProvider, services []*Service, scanID string, openAPIResolveReferences bool, maxResolverDepth int) error
PrepareSharedWalk walks once, renders each chart once, and dispatches files to parsers.
func SharedWalkProvider ¶ added in v1.7.2
func SharedWalkProvider(services []*Service) (*provider.FileSystemSourceProvider, bool)
SharedWalkProvider returns the disk provider when every service shares one.
Types ¶
type Service ¶
type Service struct {
SourceProvider provider.SourceProvider
Storage Storage
Parser *parser.Parser
Inspector *engine.Inspector
Tracker Tracker
Resolver *resolver.Resolver
MaxFileSize int
// Platforms is the scan's effective platform set, used to classify each
// parsed file's platform consistently with the analyzer so the engine can
// scope queries to their own platform's documents.
Platforms []string
// FilePlatform is the analyzer path → platform map, reused in the sink.
FilePlatform map[string]string
// 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 the scanner understands, an 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