Documentation ¶
Index ¶
- Constants
- type Attribution
- type ClearlyDefinedPredicate
- type ClearlyDefinedStatement
- type Coordinates
- type DB
- type Definition
- type Described
- type Discovered
- type Facets
- type Hashes
- type Invocation
- type Meta
- type Metadata
- type Result
- type Scanner
- type Score
- type Scores
- type SourceLocation
- type ToolScore
- type Urls
- type VulnerabilityPredicate
- type VulnerabilityStatement
Constants ¶
const (
PredicateClearlyDefined = "https://in-toto.io/attestation/clearlydefined/v0.1"
)
PredicateVuln This is a new predicate type for vulnerabilities based off https://github.com/sigstore/cosign/blob/main/specs/COSIGN_VULN_ATTESTATION_SPEC.md. This is used by the certifier to attest to vulnerabilities in an artifact. Currently, the predicate is defined here but the intention is to upstream this to https://github.com/in-toto/attestation in the near future once the quirks are worked out.
const (
PredicateVuln = "https://in-toto.io/attestation/vuln/v0.1"
)
PredicateVuln This is a new predicate type for vulnerabilities based off https://github.com/sigstore/cosign/blob/main/specs/COSIGN_VULN_ATTESTATION_SPEC.md. This is used by the certifier to attest to vulnerabilities in an artifact. Currently, the predicate is defined here but the intention is to upstream this to https://github.com/in-toto/attestation in the near future once the quirks are worked out.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Attribution ¶ added in v0.8.2
Attribution struct
type ClearlyDefinedPredicate ¶ added in v0.8.0
type ClearlyDefinedPredicate struct { Definition Definition `json:"definition,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
ClearlyDefinedPredicate defines predicate definition of the license attestation
type ClearlyDefinedStatement ¶ added in v0.8.0
type ClearlyDefinedStatement struct { attestationv1.Statement // Predicate contains type specific metadata. Predicate ClearlyDefinedPredicate `json:"predicate"` }
ClearlyDefinedStatement defines the statement header and the license predicate
type Coordinates ¶ added in v0.8.2
type Coordinates struct { Type string `json:"type"` Provider string `json:"provider"` Namespace string `json:"namespace"` Name string `json:"name"` Revision string `json:"revision"` }
Coordinates struct
type Definition ¶ added in v0.8.0
type Definition struct { Licensed struct { Declared string `json:"declared"` ToolScore ToolScore `json:"toolScore"` Facets Facets `json:"facets"` Score Score `json:"score"` } `json:"licensed"` Described Described `json:"described"` Coordinates Coordinates `json:"coordinates"` Meta Meta `json:"_meta"` Scores Scores `json:"scores"` }
Definition represents the structure of the data returned by the API Definition struct
type Described ¶ added in v0.8.2
type Described struct { ReleaseDate string `json:"releaseDate"` Urls Urls `json:"urls"` Hashes Hashes `json:"hashes"` Files int `json:"files"` Tools []string `json:"tools"` ToolScore ToolScore `json:"toolScore"` SourceLocation *SourceLocation `json:"sourceLocation"` Score Score `json:"score"` }
Described struct
type Discovered ¶ added in v0.8.2
Discovered struct
type Facets ¶ added in v0.8.2
type Facets struct { Core struct { Attribution Attribution `json:"attribution"` Discovered Discovered `json:"discovered"` Files int `json:"files"` } `json:"core"` }
Facets struct
type Invocation ¶
type Invocation struct { Parameters []string `json:"parameters,omitempty"` Uri string `json:"uri,omitempty"` EventID string `json:"event_id,omitempty"` ProducerID string `json:"producer_id,omitempty"` }
Invocation defines how the scan was initiated and by which producer
type Result ¶
type Result struct { VulnerabilityId string `json:"vulnerability_id,omitempty"` Aliases []string `json:"aliases,omitempty"` }
Result defines the Vulnerability ID and its alias. There can be multiple results per artifact
type Scanner ¶
type Scanner struct { Uri string `json:"uri,omitempty"` Version string `json:"version,omitempty"` Database DB `json:"db,omitempty"` Result []Result `json:"result,omitempty"` }
Scanner defines the scanner that was used to scan the artifacts and the resulting vulnerabilities found
type SourceLocation ¶ added in v0.8.2
type SourceLocation struct { Type string `json:"type"` Provider string `json:"provider"` Namespace string `json:"namespace"` Name string `json:"name"` Revision string `json:"revision"` URL string `json:"url"` }
SourceLocation struct
type ToolScore ¶ added in v0.8.2
type ToolScore struct { Total int `json:"total"` Declared int `json:"declared"` Discovered int `json:"discovered"` Consistency int `json:"consistency"` Spdx int `json:"spdx"` Texts int `json:"texts"` }
ToolScore struct
type Urls ¶ added in v0.8.2
type Urls struct { Registry string `json:"registry"` Version string `json:"version"` Download string `json:"download"` }
Urls struct
type VulnerabilityPredicate ¶
type VulnerabilityPredicate struct { Invocation Invocation `json:"invocation,omitempty"` Scanner Scanner `json:"scanner,omitempty"` Metadata Metadata `json:"metadata,omitempty"` }
VulnerabilityPredicate defines predicate definition of the vulnerability attestation
type VulnerabilityStatement ¶
type VulnerabilityStatement struct { attestationv1.Statement // Predicate contains type specific metadata. Predicate VulnerabilityPredicate `json:"predicate"` }
VulnerabilityStatement defines the statement header and the vulnerability predicate