scanner

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2025 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultSkipDirs = types.SliceSet[string]{
	"node_modules",
	".git",
}

Functions

func FindScanTargets

func FindScanTargets(initialTarget string, maxDepth uint) (map[string]*ScanTarget, error)

func NewDefaultScalibrRepoScanner

func NewDefaultScalibrRepoScanner() *scalibrRepoScanner

func NewSBOMScalibrRepoScanner

func NewSBOMScalibrRepoScanner() *scalibrRepoScanner

func NewWithFallbackScanner

func NewWithFallbackScanner(primaryScanner, fallbackScanner RepoScanner) *withFallbackScanner

func ScanObservations

func ScanObservations(config types.ScanConfig, observations builds.BuildObservations) (*cdx.BOM, error)

Types

type BinaryNameScanner

type BinaryNameScanner struct{}

func (*BinaryNameScanner) Id

func (s *BinaryNameScanner) Id() string

func (*BinaryNameScanner) IsAvailable

func (s *BinaryNameScanner) IsAvailable() bool

func (*BinaryNameScanner) Priority

func (s *BinaryNameScanner) Priority() int

func (*BinaryNameScanner) Scan

func (s *BinaryNameScanner) Scan(target *ScanTarget) error

type BuildObservationsScanner

type BuildObservationsScanner struct{}

func (*BuildObservationsScanner) Id

func (*BuildObservationsScanner) IsAvailable

func (s *BuildObservationsScanner) IsAvailable() bool

func (*BuildObservationsScanner) Priority

func (s *BuildObservationsScanner) Priority() int

func (*BuildObservationsScanner) Scan

func (s *BuildObservationsScanner) Scan(target *ScanTarget) error

type ConfigRepoScanner

type ConfigRepoScanner struct{}

func (*ConfigRepoScanner) Id

func (s *ConfigRepoScanner) Id() string

func (*ConfigRepoScanner) IsAvailable

func (s *ConfigRepoScanner) IsAvailable() bool

func (*ConfigRepoScanner) Priority

func (s *ConfigRepoScanner) Priority() int

func (*ConfigRepoScanner) Scan

func (s *ConfigRepoScanner) Scan(target *ScanTarget) error

type CrystalShardScanner

type CrystalShardScanner struct{}

CrystalShardScanner scans for Crystal shard.yml files and extracts the target's name and version.

func (*CrystalShardScanner) Id

func (s *CrystalShardScanner) Id() string

func (*CrystalShardScanner) IsAvailable

func (s *CrystalShardScanner) IsAvailable() bool

func (*CrystalShardScanner) Priority

func (s *CrystalShardScanner) Priority() int

func (*CrystalShardScanner) Scan

func (s *CrystalShardScanner) Scan(target *ScanTarget) error

type Ecosystem

type Ecosystem string
const EcosystemBuildObserver Ecosystem = "build-observer"
const EcosystemConan Ecosystem = "conan"
const EcosystemCrystal Ecosystem = "crystal"
const EcosystemDart Ecosystem = "dart"
const EcosystemElixir Ecosystem = "elixir"
const EcosystemGo Ecosystem = "go"
const EcosystemJava Ecosystem = "java"
const EcosystemJavaBinary Ecosystem = "java-binary"
const EcosystemNpm Ecosystem = "npm"
const EcosystemNuget Ecosystem = "nuget"
const EcosystemObserver Ecosystem = "observer"
const EcosystemPhp Ecosystem = "php"
const EcosystemPython Ecosystem = "python"
const EcosystemRuby Ecosystem = "ruby"
const EcosystemRust Ecosystem = "rust"
const EcosystemSBOM Ecosystem = "sbom"
const EcosystemSwift Ecosystem = "swift"
const EcosystemUnknown Ecosystem = "unknown"
const EcosystemUnknownBinary Ecosystem = "binary"
const EcosystemWindowsBinary Ecosystem = "windows-binary"

func IdentifyEcosystem

func IdentifyEcosystem(absolutePath string, relativePath string, fileName string) Ecosystem

type MissingScannerInstructions

type MissingScannerInstructions interface {
	LogInstructions()
}

type ModuleNameScanner

type ModuleNameScanner struct{}

func (*ModuleNameScanner) Id

func (s *ModuleNameScanner) Id() string

func (*ModuleNameScanner) IsAvailable

func (s *ModuleNameScanner) IsAvailable() bool

func (*ModuleNameScanner) Priority

func (s *ModuleNameScanner) Priority() int

func (*ModuleNameScanner) Scan

func (s *ModuleNameScanner) Scan(target *ScanTarget) error

type RepoScanner

type RepoScanner interface {
	Id() string
	Priority() int
	Scan(*ScanTarget) error
	IsAvailable() bool
}

func ScannersForTarget

func ScannersForTarget(target ScanTarget) []RepoScanner

type ScanTarget

type ScanTarget struct {
	Path    string
	Files   map[string]Ecosystem
	Config  types.ScanConfig
	Results []*cdx.BOM
	Merged  *cdx.BOM
}

type TrivyScanner

type TrivyScanner struct{}

func (*TrivyScanner) Id

func (s *TrivyScanner) Id() string

func (*TrivyScanner) IsAvailable

func (s *TrivyScanner) IsAvailable() bool

func (*TrivyScanner) LogInstructions

func (s *TrivyScanner) LogInstructions()

func (*TrivyScanner) Priority

func (s *TrivyScanner) Priority() int

func (*TrivyScanner) Scan

func (s *TrivyScanner) Scan(target *ScanTarget) error

type WindowsBinaryScanner

type WindowsBinaryScanner struct{}

func (*WindowsBinaryScanner) Id

func (s *WindowsBinaryScanner) Id() string

func (*WindowsBinaryScanner) IsAvailable

func (s *WindowsBinaryScanner) IsAvailable() bool

func (*WindowsBinaryScanner) Priority

func (s *WindowsBinaryScanner) Priority() int

func (*WindowsBinaryScanner) Scan

func (s *WindowsBinaryScanner) Scan(target *ScanTarget) error

Directories

Path Synopsis
Package scalibr extracts Crystal shard.lock files.
Package scalibr extracts Crystal shard.lock files.

Jump to

Keyboard shortcuts

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