Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Service ¶
type Service struct {
SourceProvider SourceProvider
Storage Storage
Parser *parser.Parser
Inspector *engine.Inspector
Tracker Tracker
}
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) GetScanSummary ¶
func (s *Service) GetScanSummary(ctx context.Context, scanIDs []string) ([]model.SeveritySummary, error)
GetScanSummary returns how many vulnerabilities of each severity was found
func (*Service) GetVulnerabilities ¶
func (s *Service) GetVulnerabilities(ctx context.Context, scanID string) ([]model.Vulnerability, error)
GetVulnerabilities returns a list of scan detected vulnerabilities
type SourceProvider ¶
type SourceProvider interface {
GetBasePath() string
GetSources(ctx context.Context, scanID string, extensions model.Extensions, sink source.Sink) error
}
SourceProvider is the interface that wraps the basic GetSources method. GetBasePath returns base path of FileSystemSourceProvider GetSources receives context, receive ID, extensions supported and a sink function to save sources
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)
GetScanSummary(ctx context.Context, scanIDs []string) ([]model.SeveritySummary, error)
}
Storage is the interface that wraps following basic methods: SaveFile, SaveVulnerability, GetVulnerability and GetScanSummary 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 GetScanSummary should return a list of summaries based on their scan IDs
type Tracker ¶
type Tracker interface {
TrackFileFound()
TrackFileParse()
}
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