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