Documentation
¶
Overview ¶
Package gobinary extracts packages from buildinfo inside go binaries files.
Index ¶
- Constants
- func NewDefault() filesystem.Extractor
- type Config
- type Extractor
- func (Extractor) Ecosystem(p *extractor.Package) string
- func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) (inventory.Inventory, error)
- func (e Extractor) FileRequired(api filesystem.FileAPI) bool
- func (e Extractor) Name() string
- func (e Extractor) Requirements() *plugin.Capabilities
- func (e Extractor) ToPURL(p *extractor.Package) *purl.PackageURL
- func (e Extractor) Version() int
Constants ¶
const (
// Name is the unique name of this extractor.
Name = "go/binary"
)
Variables ¶
This section is empty.
Functions ¶
func NewDefault ¶ added in v0.1.7
func NewDefault() filesystem.Extractor
NewDefault returns an extractor with the default config settings.
Types ¶
type Config ¶ added in v0.1.2
type Config struct { // Stats is a stats collector for reporting metrics. Stats stats.Collector // MaxFileSizeBytes is the maximum size of a file that can be extracted. // If this limit is greater than zero and a file is encountered that is larger // than this limit, the file is ignored by returning false for `FileRequired`. MaxFileSizeBytes int64 // VersionFromContent enables extracting the module version from the binary content. // This is off by default because the operation is expensive as it uses a regexp to parse the // binary content. VersionFromContent bool }
Config is the configuration for the Extractor.
func DefaultConfig ¶ added in v0.1.2
func DefaultConfig() Config
DefaultConfig returns a default configuration for the extractor.
type Extractor ¶
type Extractor struct { // VersionFromBinary enables extracting the module version from the binary content. // This operation is expensive because it uses a regexp to parse the binary content. VersionFromContent bool // contains filtered or unexported fields }
Extractor extracts packages from buildinfo inside go binaries files.
func New ¶ added in v0.1.2
New returns a Go binary extractor.
For most use cases, initialize with: ``` e := New(DefaultConfig()) ```
func (Extractor) Ecosystem ¶ added in v0.1.3
Ecosystem returns the OSV Ecosystem of the software extracted by this extractor.
func (Extractor) Extract ¶
func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) (inventory.Inventory, error)
Extract returns a list of installed third party dependencies in a Go binary.
func (Extractor) FileRequired ¶
func (e Extractor) FileRequired(api filesystem.FileAPI) bool
FileRequired returns true if the specified file is marked executable.
func (Extractor) Requirements ¶ added in v0.1.3
func (e Extractor) Requirements() *plugin.Capabilities
Requirements of the extractor.