Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ScanImage ¶
func ScanImage(task model.PharosScanTask2, scanEngine *TrivyScanner, kvc *cache.PharosCache, logger *zerolog.Logger) (model.PharosScanResult, []byte, []byte, error)
execute scan with grype scanner
Types ¶
type TrivySbomCreator ¶
type TrivySbomCreator struct {
Generator string
HomeDir string
GeneratorBin string
Timeout time.Duration
// contains filtered or unexported fields
}
Create cyclonedx from artifact
func NewTrivySbomCreator ¶
create new sbom generator using syft
func (*TrivySbomCreator) CreateSbom ¶
func (rx *TrivySbomCreator) CreateSbom(task model.PharosScanTask2, format string) (trivytype.TrivySbomType, []byte, error)
download image, create sbom in chosen format, e.g. "cyclonedx"
type TrivyScanner ¶
type TrivyScanner struct {
Engine string
HomeDir string
ScannerBin string
ScanTimeout time.Duration
// version / status
ScannerVersion string
DatabaseVersion string
DatabaseUpdated time.Time
// contains filtered or unexported fields
}
trivy vulnerability scanner
func NewTrivyScanner ¶
func NewTrivyScanner(scanTimeout time.Duration, updateDb bool, vulnDbDir string, logger *zerolog.Logger) (*TrivyScanner, error)
create trivy scanner
func (*TrivyScanner) GetVersion ¶
func (rx *TrivyScanner) GetVersion() error
check trivy local database status, update DbState
func (*TrivyScanner) ScannerName ¶
func (rx *TrivyScanner) ScannerName() string
func (*TrivyScanner) UpdateDatabase ¶
func (rx *TrivyScanner) UpdateDatabase() error
run trivy database update check online if an update is available and download it if required
func (*TrivyScanner) VulnScanSbom ¶
func (rx *TrivyScanner) VulnScanSbom(sbom []byte) (trivytype.TrivyScanType, []byte, error)
scan cyclondex sbom with trivy
type TrivyVersion ¶
type TrivyVersion struct {
Version string `json:"version"`
VulnerabilityDb struct {
Version int `json:"version"`
NextUpdate time.Time `json:"NextUpdate"`
UpdatedAt time.Time `json:"UpdatedAt"`
DownloadedAt time.Time `json:"DownloadedAt"`
} `json:"VulnerabilityDB"`
}
trivy version
func (*TrivyVersion) FromBytes ¶
func (rx *TrivyVersion) FromBytes(input []byte) error
Click to show internal directories.
Click to hide internal directories.