list

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 24 Imported by: 3

Documentation

Overview

Package list provides a public list of SCALIBR-internal extraction plugins.

Index

Constants

This section is empty.

Variables

View Source
var (

	// Java extractors.
	Java []filesystem.Extractor = []filesystem.Extractor{javaarchive.New(javaarchive.DefaultConfig())}
	// Javascript extractors.
	Javascript []filesystem.Extractor = []filesystem.Extractor{packagejson.New(packagejson.DefaultConfig()), packagelockjson.New(packagelockjson.DefaultConfig())}
	// Python extractors.
	Python []filesystem.Extractor = []filesystem.Extractor{wheelegg.New(wheelegg.DefaultConfig()), requirements.New(requirements.DefaultConfig())}
	// Go extractors.
	Go []filesystem.Extractor = []filesystem.Extractor{gobinary.New(gobinary.DefaultConfig())}
	// Ruby extractors.
	Ruby []filesystem.Extractor = []filesystem.Extractor{gemspec.New(gemspec.DefaultConfig())}
	// SBOM extractors.
	SBOM []filesystem.Extractor = []filesystem.Extractor{&spdx.Extractor{}}
	// Dotnet (.NET) extractors.
	Dotnet []filesystem.Extractor = []filesystem.Extractor{packageslockjson.New(packageslockjson.DefaultConfig())}
	// Containers extractors.
	Containers []filesystem.Extractor = []filesystem.Extractor{containerd.New(containerd.DefaultConfig())}

	// OS extractors.
	OS []filesystem.Extractor = []filesystem.Extractor{
		dpkg.New(dpkg.DefaultConfig()),
		apk.New(apk.DefaultConfig()),
		rpm.New(rpm.DefaultConfig()),
		cos.New(cos.DefaultConfig()),
		snap.New(snap.DefaultConfig()),
		flatpak.New(flatpak.DefaultConfig()),
	}

	// Default extractors that are recommended to be enabled.
	Default []filesystem.Extractor = concat(Java, Javascript, Python, Go, OS)
	// All extractors available from SCALIBR. These don't include the untested extractors which can be enabled manually.
	All []filesystem.Extractor = concat(
		Java,
		Javascript,
		Python,
		Go,
		Ruby,
		Dotnet,
		SBOM,
		OS,
		Containers,
	)

	// Untested extractors are OSV extractors without tests.
	// TODO(b/307735923): Add tests for these and move them into All.
	Untested []filesystem.Extractor = []filesystem.Extractor{
		osv.Wrapper{ExtractorName: "cpp/conan", ExtractorVersion: 0, PURLType: purl.TypeConan, Extractor: lockfile.ConanLockExtractor{}},
		osv.Wrapper{ExtractorName: "dart/pubspec", ExtractorVersion: 0, PURLType: purl.TypePub, Extractor: lockfile.PubspecLockExtractor{}},
		osv.Wrapper{ExtractorName: "go/gomod", ExtractorVersion: 0, PURLType: purl.TypeGolang, Extractor: lockfile.GoLockExtractor{}},
		osv.Wrapper{ExtractorName: "java/gradle", ExtractorVersion: 0, PURLType: purl.TypeMaven, Extractor: lockfile.GradleLockExtractor{}},
		osv.Wrapper{ExtractorName: "java/pomxml", ExtractorVersion: 0, PURLType: purl.TypeMaven, Extractor: lockfile.MavenLockExtractor{}},
		osv.Wrapper{ExtractorName: "javascript/pnpm", ExtractorVersion: 0, PURLType: purl.TypeNPM, Extractor: lockfile.PnpmLockExtractor{}},
		osv.Wrapper{ExtractorName: "javascript/yarn", ExtractorVersion: 0, PURLType: purl.TypeNPM, Extractor: lockfile.YarnLockExtractor{}},
		osv.Wrapper{ExtractorName: "php/composer", ExtractorVersion: 0, PURLType: purl.TypeComposer, Extractor: lockfile.ComposerLockExtractor{}},
		osv.Wrapper{ExtractorName: "python/Pipfile", ExtractorVersion: 0, PURLType: purl.TypePyPi, Extractor: lockfile.PipenvLockExtractor{}},
		osv.Wrapper{ExtractorName: "python/poetry", ExtractorVersion: 0, PURLType: purl.TypePyPi, Extractor: lockfile.PoetryLockExtractor{}},
		osv.Wrapper{ExtractorName: "ruby/gemfile", ExtractorVersion: 0, PURLType: purl.TypeGem, Extractor: lockfile.GemfileLockExtractor{}},
		osv.Wrapper{ExtractorName: "rust/cargo", ExtractorVersion: 0, PURLType: purl.TypeCargo, Extractor: lockfile.CargoLockExtractor{}},
	}
)

LINT.IfChange

Functions

func ExtractorFromName

func ExtractorFromName(name string) (filesystem.Extractor, error)

ExtractorFromName returns a single extractor based on its exact name.

func ExtractorsFromNames

func ExtractorsFromNames(names []string) ([]filesystem.Extractor, error)

ExtractorsFromNames returns a deduplicated list of extractors from a list of names.

Types

This section is empty.

Jump to

Keyboard shortcuts

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