Documentation
¶
Overview ¶
Package extractor provides the common interface for standalone and filesystem extractors.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Extractor ¶ added in v0.1.1
type Extractor interface {
plugin.Plugin
// ToPURL converts an inventory created by this extractor into a PURL.
ToPURL(i *Inventory) (*purl.PackageURL, error)
// ToCPEs converts an inventory created by this extractor into CPEs, if supported.
ToCPEs(i *Inventory) ([]string, error)
}
Extractor is the common interface of inventory extraction plugins..
type Inventory ¶
type Inventory struct {
// A human-readable name representation of the package. Note that this field
// should only be used for things like logging as different packages can have
// multiple different types of names (e.g. .deb packages have a source name
// and a binary name), in which case we arbitrarily pick one of them to use here.
// In cases when the exact name type used is important (e.g. when matching
// against vuln feeds) you should use the specific name field from the Metadata.
Name string
// The version of this package.
Version string
// Paths or source of files related to the package.
Locations []string
// The Extractor that found this software instance. Set by the core library.
Extractor Extractor
// The additional data found in the package.
Metadata any
}
Inventory is an instance of a software package or library found by the extractor.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package filesystem provides the interface for inventory extraction plugins.
|
Package filesystem provides the interface for inventory extraction plugins. |
|
internal
Package internal contains miscellaneous functions and objects useful within Scalibr
|
Package internal contains miscellaneous functions and objects useful within Scalibr |
|
internal/units
Package units provides constants for common units.
|
Package units provides constants for common units. |
|
language/dotnet/packageslockjson
Package packageslockjson extracts packages.lock.json files.
|
Package packageslockjson extracts packages.lock.json files. |
|
language/golang/gobinary
Package gobinary extracts packages from buildinfo inside go binaries files.
|
Package gobinary extracts packages from buildinfo inside go binaries files. |
|
language/java/archive
Package archive extracts Java archive files.
|
Package archive extracts Java archive files. |
|
language/javascript/packagejson
Package packagejson extracts package.json files.
|
Package packagejson extracts package.json files. |
|
language/javascript/packagelockjson
Package packagelockjson extracts package-lock.json files.
|
Package packagelockjson extracts package-lock.json files. |
|
language/python/requirements
Package requirements extracts requirements files.
|
Package requirements extracts requirements files. |
|
language/python/wheelegg
Package wheelegg extracts wheel and egg files.
|
Package wheelegg extracts wheel and egg files. |
|
language/ruby/gemspec
Package gemspec extracts *.gemspec files.
|
Package gemspec extracts *.gemspec files. |
|
list
Package list provides a public list of SCALIBR-internal extraction plugins.
|
Package list provides a public list of SCALIBR-internal extraction plugins. |
|
os/apk
Package apk extracts packages from the APK database.
|
Package apk extracts packages from the APK database. |
|
os/cos
Package cos extracts OS packages from Container Optimized OSes (go/cos).
|
Package cos extracts OS packages from Container Optimized OSes (go/cos). |
|
os/dpkg
Package dpkg extracts packages from dpkg database.
|
Package dpkg extracts packages from dpkg database. |
|
os/osrelease
Package osrelease parses the os-release file.
|
Package osrelease parses the os-release file. |
|
os/rpm
Package rpm extracts packages from rpm database.
|
Package rpm extracts packages from rpm database. |
|
osv
Package osv provides a Wrapper for osv plugins.
|
Package osv provides a Wrapper for osv plugins. |
|
sbom/spdx
Package spdx extracts software dependencies from an SPDX SBOM.
|
Package spdx extracts software dependencies from an SPDX SBOM. |
|
Package standalone provides a way to extract in a standalone mode (e.g.
|
Package standalone provides a way to extract in a standalone mode (e.g. |
|
list
Package list contains the list of all standalone extractors.
|
Package list contains the list of all standalone extractors. |
|
windows/common/winproducts
Package winproducts contains information about Windows products.
|
Package winproducts contains information about Windows products. |
|
windows/dismpatch/dismparser
Package dismparser has methods that can be used to parse DISM output
|
Package dismparser has methods that can be used to parse DISM output |
Click to show internal directories.
Click to hide internal directories.