Help us shape the future of Go! Take the 2026 Go Developer Survey

scan

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: EUPL-1.2 Imports: 6 Imported by: 0

Documentation

Overview

Package scan rapproche les composants des SBOM de la base OSV et applique le VEX du dossier.

Index

Constants

View Source
const (
	StatusOpen        = "open"
	StatusNotAffected = "not_affected"
	StatusFixed       = "fixed"
	StatusToVerify    = "to_verify"
)

Statuts d'un constat après application du VEX.

Variables

This section is empty.

Functions

This section is empty.

Types

type Finding

type Finding struct {
	osv.Finding
	Status string `json:"status"`
	// Conflict : le VEX dit « fixed » alors qu'OSV classe la version exacte du SBOM comme affectée.
	Conflict bool `json:"conflict,omitempty"`
}

Finding est un constat OSV avec son statut VEX.

func (Finding) ConflictMessage

func (f Finding) ConflictMessage() string

ConflictMessage décrit le conflit VEX/OSV pour l'affichage.

func (Finding) String

func (f Finding) String() string

String aide au débogage des tests.

type NoDBError

type NoDBError struct{ Ecosystem string }

NoDBError signale qu'aucune archive OSV n'existe pour un écosystème des SBOM : ses composants ne peuvent pas être vérifiés.

func (*NoDBError) Error

func (e *NoDBError) Error() string

func (*NoDBError) Unwrap

func (e *NoDBError) Unwrap() error

Unwrap permet errors.Is(err, osv.ErrNoArchive).

type Result

type Result struct {
	SBOMs       int       `json:"sboms"`
	Components  int       `json:"components"`
	Findings    []Finding `json:"findings"`
	Open        int       `json:"open"`
	ToVerify    int       `json:"to_verify"`
	NotAffected int       `json:"not_affected"`
	Fixed       int       `json:"fixed"`
	DBDate      time.Time `json:"db_date"`
	Conflicts   int       `json:"conflicts"`
	Unchecked   int       `json:"unchecked"`
	// UncheckedComponents : composants sans purl exploitable ou de type non pris en charge.
	UncheckedComponents []sbom.Component `json:"unchecked_components"`
}

Result est le résultat d'un scan. Les noms JSON (snake_case) sont stables : sortie de « tenon cra scan --json ».

func Run

func Run(d dossier.Dossier, boms []sbom.BOM, db *osv.DB) (Result, error)

Run apparie les composants de tous les SBOM à la base et applique le VEX du dossier. Un écosystème sans archive est une erreur (*NoDBError), jamais un résultat « propre ».

Jump to

Keyboard shortcuts

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