list

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2025 License: Apache-2.0 Imports: 57 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 (

	// C++ extractors.
	Cpp []filesystem.Extractor = []filesystem.Extractor{conanlock.Extractor{}}
	// Java extractors.
	Java []filesystem.Extractor = []filesystem.Extractor{
		gradlelockfile.Extractor{},
		gradleverificationmetadataxml.Extractor{},
		javaarchive.New(javaarchive.DefaultConfig()),
		pomxml.Extractor{},
	}
	// Javascript extractors.
	Javascript []filesystem.Extractor = []filesystem.Extractor{
		packagejson.New(packagejson.DefaultConfig()),
		packagelockjson.New(packagelockjson.DefaultConfig()),
		&pnpmlock.Extractor{},
		&yarnlock.Extractor{},
		&bunlock.Extractor{},
	}
	// Python extractors.
	Python []filesystem.Extractor = []filesystem.Extractor{
		wheelegg.New(wheelegg.DefaultConfig()),
		requirements.New(requirements.DefaultConfig()),
		pipfilelock.Extractor{},
		pdmlock.Extractor{},
		poetrylock.Extractor{},
		condameta.Extractor{},
		uvlock.Extractor{},
	}
	// Go extractors.
	Go []filesystem.Extractor = []filesystem.Extractor{
		gobinary.New(gobinary.DefaultConfig()),
		&gomod.Extractor{},
	}
	// Dart extractors.
	Dart []filesystem.Extractor = []filesystem.Extractor{pubspec.Extractor{}}
	// Erlang extractors.
	Erlang []filesystem.Extractor = []filesystem.Extractor{mixlock.Extractor{}}
	// Elixir extractors.
	Elixir []filesystem.Extractor = []filesystem.Extractor{elixir.Extractor{}}
	// Haskell extractors.
	Haskell []filesystem.Extractor = []filesystem.Extractor{stacklock.New(stacklock.DefaultConfig()), cabal.New(cabal.DefaultConfig())}
	// R extractors
	R []filesystem.Extractor = []filesystem.Extractor{renvlock.Extractor{}}
	// Ruby extractors.
	Ruby []filesystem.Extractor = []filesystem.Extractor{gemspec.New(gemspec.DefaultConfig()), &gemfilelock.Extractor{}}
	// Rust extractors.
	Rust []filesystem.Extractor = []filesystem.Extractor{
		cargolock.Extractor{},
		cargoauditable.New(cargoauditable.DefaultConfig()),
	}
	// SBOM extractors.
	SBOM []filesystem.Extractor = []filesystem.Extractor{&cdx.Extractor{}, &spdx.Extractor{}}
	// Dotnet (.NET) extractors.
	Dotnet []filesystem.Extractor = []filesystem.Extractor{
		depsjson.New(depsjson.DefaultConfig()),
		packageslockjson.New(packageslockjson.DefaultConfig()),
	}
	// PHP extractors.
	PHP []filesystem.Extractor = []filesystem.Extractor{&composerlock.Extractor{}}

	Swift []filesystem.Extractor = []filesystem.Extractor{
		packageresolved.New(packageresolved.DefaultConfig()),
		podfilelock.New(podfilelock.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()),
		nix.New(),
		module.New(module.DefaultConfig()),
		vmlinuz.New(vmlinuz.DefaultConfig()),
		pacman.New(pacman.DefaultConfig()),
		portage.New(portage.DefaultConfig()),
		flatpak.New(flatpak.DefaultConfig()),
		homebrew.Extractor{},
		macapps.New(macapps.DefaultConfig())}

	// Default extractors that are recommended to be enabled.
	Default []filesystem.Extractor = slices.Concat(Java, Javascript, Python, Go, OS)
	// All extractors available from SCALIBR.
	All []filesystem.Extractor = slices.Concat(
		Cpp,
		Java,
		Javascript,
		Python,
		Go,
		Dart,
		Erlang,
		Elixir,
		Haskell,
		PHP,
		R,
		Ruby,
		Rust,
		Dotnet,
		SBOM,
		Swift,
		OS,
		Containers,
	)
)

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.

func FilterByCapabilities added in v0.1.4

func FilterByCapabilities(exs []filesystem.Extractor, capabs *plugin.Capabilities) []filesystem.Extractor

FilterByCapabilities returns all extractors from the given list that can run under the specified capabilities (OS, direct filesystem access, network access, etc.) of the scanning environment.

func FromCapabilities added in v0.1.3

func FromCapabilities(capabs *plugin.Capabilities) []filesystem.Extractor

FromCapabilities returns all extractors that can run under the specified capabilities (OS, direct filesystem access, network access, etc.) of the scanning environment.

Types

This section is empty.

Jump to

Keyboard shortcuts

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