scanner

package
v1.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 22, 2025 License: Apache-2.0 Imports: 27 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMalysisMalwareEnricher added in v1.9.0

func NewMalysisMalwareEnricher(cc *grpc.ClientConn,
	config MalysisMalwareEnricherConfig) (*malysisMalwareEnricher, error)

func NewPackageManifestScanner

func NewPackageManifestScanner(config Config,
	readers []readers.PackageManifestReader,
	enrichers []PackageMetaEnricher,
	analyzers []analyzer.Analyzer,
	reporters []reporter.Reporter) *packageManifestScanner

Types

type Config

type Config struct {
	ExcludePatterns    []string
	ConcurrentAnalyzer int
	TransitiveAnalysis bool
	TransitiveDepth    int
	Experimental       bool
}

type InsightsBasedPackageMetaEnricherConfig added in v1.4.0

type InsightsBasedPackageMetaEnricherConfig struct {
	ApiUrl     string
	ApiAuthKey string
}

type MalysisMalwareEnricherConfig added in v1.9.0

type MalysisMalwareEnricherConfig struct {
	// Timeout for the enricher starting from the time of initialization.
	// This includes the time taken to submit the package for analysis and
	// waiting for the analysis to complete.
	Timeout time.Duration

	// Timeout for the gRPC operation to the Malysis service. This timeout
	// is for a single gRPC operation.
	GrpcOperationTimeout time.Duration

	// Number of workers to poll the analysis results
	QueryWorkerCount int

	// Maximum number of retries for querying the analysis results for a given
	// analysis identifier.
	MaxQueryRetries int
}

func DefaultMalysisMalwareEnricherConfig added in v1.9.0

func DefaultMalysisMalwareEnricherConfig() MalysisMalwareEnricherConfig

type PackageDependencyCallbackFn

type PackageDependencyCallbackFn func(pkg *models.Package) error

Callback to receive a discovery package dependency

type PackageMetaEnricher

type PackageMetaEnricher interface {
	// Name of the enricher
	Name() string

	// Enrich the package with meta information
	Enrich(pkg *models.Package, cb PackageDependencyCallbackFn) error

	// Wait for all the enrichments to complete
	Wait() error
}

Enrich meta information associated with the package

func NewInsightBasedPackageEnricherV2 added in v1.8.3

func NewInsightBasedPackageEnricherV2(cc *grpc.ClientConn) (PackageMetaEnricher, error)

NewInsightBasedPackageEnricherV2 creates a new instance of the enricher using Insights API v2. It requires a pre-configured gRPC client connection.

type ScannerCallbackErrArgFn

type ScannerCallbackErrArgFn func(error)

type ScannerCallbackNoArgFn

type ScannerCallbackNoArgFn func()

type ScannerCallbackOnManifestFn

type ScannerCallbackOnManifestFn func(manifest *models.PackageManifest)

type ScannerCallbackOnPackageFn

type ScannerCallbackOnPackageFn func(pkg *models.Package)

type ScannerCallbacks

type ScannerCallbacks struct {
	OnStartEnumerateManifest ScannerCallbackNoArgFn      // Manifest enumeration is starting
	OnEnumerateManifest      ScannerCallbackOnManifestFn // A manifest is read by reader
	OnStart                  ScannerCallbackNoArgFn      // Manifest scan phase is starting
	OnStartManifest          ScannerCallbackOnManifestFn // A manifest is starting to be scanned
	OnStartPackage           ScannerCallbackOnPackageFn  // A package analysis is starting
	OnAddTransitivePackage   ScannerCallbackOnPackageFn  // A transitive dependency is discovered
	OnDonePackage            ScannerCallbackOnPackageFn  // A package analysis is finished
	OnDoneManifest           ScannerCallbackOnManifestFn // A manifest analysis is finished
	BeforeFinish             ScannerCallbackNoArgFn      // Scan is about to finish
	OnStop                   ScannerCallbackErrArgFn     // Scan is finished
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL