pkgscan

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const APKPackageList = "lib/apk/db/installed"
View Source
const DNFPackageList = "var/cache/dnf/packages.db"
View Source
const DPKGPackageList = "/var/lib/dpkg/status"

Variables

This section is empty.

Functions

This section is empty.

Types

type APKListReader

type APKListReader struct {
	// contains filtered or unexported fields
}

func NewAPKListReader

func NewAPKListReader(list io.Reader) *APKListReader

func (*APKListReader) Next

func (this *APKListReader) Next() (Package, error)

type DNFListReader

type DNFListReader struct {
	// contains filtered or unexported fields
}

func NewDNFListReader

func NewDNFListReader(list *sql.Rows) *DNFListReader

func (*DNFListReader) Next

func (this *DNFListReader) Next() (Package, error)

type DPKGListReader

type DPKGListReader struct {
	// contains filtered or unexported fields
}

func NewDPKGListReader

func NewDPKGListReader(list io.Reader) *DPKGListReader

func (*DPKGListReader) Next

func (this *DPKGListReader) Next() (Package, error)

type Database

type Database interface {
	CheckPackage(Package) (*Vulnerability, error)
}

type NPMListReader

type NPMListReader struct {
	// contains filtered or unexported fields
}

func NewNPMListReader

func NewNPMListReader(packageLock io.Reader) (*NPMListReader, error)

func (*NPMListReader) Next

func (this *NPMListReader) Next() (Package, error)

type Package

type Package struct {
	Name       string
	Version    string
	Release    string
	Repository string
}

func ParsePackage

func ParsePackage(input string) Package

func (Package) String

func (this Package) String() string

type PackageReader

type PackageReader interface {
	// Next returns the next package in the reader. It must return io.EOF
	// if it has reached the end of the list.
	Next() (Package, error)
}

PackageReader provides sequential access to a list of installed packages.

type Vulnerability

type Vulnerability struct {
	// The vulnerable package
	Package Package
	// Where the vulnerability was mentioned
	Source string
	// Description of the vulnerability
	Reason string
}

func Scan

func Scan(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanAPK

func ScanAPK(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanAPT

func ScanAPT(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanDNF

func ScanDNF(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanFlatpak

func ScanFlatpak(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanNPM

func ScanNPM(packageLock io.Reader, database Database) ([]Vulnerability, error)

func ScanPackageManager

func ScanPackageManager(
	filesystem fs.FS,
	database Database,
	pm pmdetect.PackageManager,
) (
	[]Vulnerability,
	error,
)

ScanPackageManager scans for vulnerabilities in packages installed by the specified package manager.

func ScanPackageReader

func ScanPackageReader(reader PackageReader, database Database) ([]Vulnerability, error)

ScanPackageReader scans a package reader until it returns io.EOF.

func ScanPacman

func ScanPacman(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanSnap

func ScanSnap(filesystem fs.FS, database Database) ([]Vulnerability, error)

func ScanXBPS

func ScanXBPS(filesystem fs.FS, database Database) ([]Vulnerability, error)

func (Vulnerability) String

func (this Vulnerability) String() string

Jump to

Keyboard shortcuts

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