package grafeas.v1

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service Grafeas

grafeas.proto:64

[Grafeas](https://grafeas.io) API. Retrieves analysis results of Cloud components such as Docker container images. Analysis results are stored as a series of occurrences. An `Occurrence` contains information about a specific analysis instance on a resource. An occurrence refers to a `Note`. A note contains details describing the analysis and is generally stored in a separate project, called a `Provider`. Multiple occurrences can refer to the same note. For example, an SSL vulnerability could affect multiple images. In this case, there would be one note for the vulnerability and an occurrence for each image with the vulnerability referring to that note.

message AliasContext

provenance.proto:175

An alias to a repo revision.

Used in: CloudRepoSourceContext, GerritSourceContext

enum AliasContext.Kind

provenance.proto:177

The type of an alias.

Used in: AliasContext

enum Architecture

package.proto:28

Instruction set architectures supported by various package managers.

Used in: Distribution, PackageNote, PackageOccurrence

message Artifact

provenance.proto:138

Artifact describes a build product.

Used in: BuildProvenance

message AttestationNote

attestation.proto:38

Note kind that represents a logical attestation "role" or "authority". For example, an organization might have one `Authority` for "QA" and one for "build". This note is intended to act strictly as a grouping mechanism for the attached occurrences (Attestations). This grouping mechanism also provides a security boundary, since IAM ACLs gate the ability for a principle to attach an occurrence to a given note. It also provides a single point of lookup to find all attached attestation occurrences, even if they don't all live in the same project.

Used in: Note

message AttestationNote.Hint

attestation.proto:46

This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.

Used in: AttestationNote

message AttestationOccurrence

attestation.proto:71

Occurrence that represents a single "attestation". The authenticity of an attestation can be verified using the attached signature. If the verifier trusts the public key of the signer, then verifying the signature is sufficient to establish trust. In this circumstance, the authority to which this attestation is attached is primarily useful for lookup (how to find this attestation if you already know the authority and artifact to be verified) and intent (for which authority this attestation was intended to sign.

Used in: google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest, Occurrence

message BaseImage

common.proto:140

BaseImage describes a base image of a container image.

Used in: LayerDetails

message BuildNote

build.proto:30

Note holding the version of the provider's builder and the signature of the provenance message in the build details occurrence.

Used in: Note

message BuildOccurrence

build.proto:36

Details of a build occurrence.

Used in: Occurrence

message BuildProvenance

provenance.proto:28

Provenance of a build. Contains all information needed to verify the full details about the build from source to completion.

Used in: BuildOccurrence

message BuilderConfig

intoto_provenance.proto:96

Used in: InTotoProvenance

message CVSS

cvss.proto:92

Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version.

Used in: VulnerabilityNote, VulnerabilityOccurrence

enum CVSS.AttackComplexity

cvss.proto:121

Used in: CVSS

enum CVSS.AttackVector

cvss.proto:113

Used in: CVSS

enum CVSS.Authentication

cvss.proto:128

Used in: CVSS

enum CVSS.Impact

cvss.proto:154

Used in: CVSS

enum CVSS.PrivilegesRequired

cvss.proto:135

Used in: CVSS

enum CVSS.Scope

cvss.proto:148

Used in: CVSS

enum CVSS.UserInteraction

cvss.proto:142

Used in: CVSS

enum CVSSVersion

cvss.proto:165

CVSS Version.

Used in: VulnerabilityNote, VulnerabilityOccurrence

message CVSSv3

cvss.proto:27

Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document

Used in: VulnerabilityNote

enum CVSSv3.AttackComplexity

cvss.proto:55

Used in: CVSSv3

enum CVSSv3.AttackVector

cvss.proto:47

Used in: CVSSv3

enum CVSSv3.Impact

cvss.proto:80

Used in: CVSSv3

enum CVSSv3.PrivilegesRequired

cvss.proto:61

Used in: CVSSv3

enum CVSSv3.Scope

cvss.proto:74

Used in: CVSSv3

enum CVSSv3.UserInteraction

cvss.proto:68

Used in: CVSSv3

message CloudRepoSourceContext

provenance.proto:198

A CloudRepoSourceContext denotes a particular revision in a Google Cloud Source Repo.

Used in: SourceContext

message Command

provenance.proto:114

Command describes a step performed as part of the build pipeline.

Used in: BuildProvenance

message Completeness

intoto_provenance.proto:66

Indicates that the builder claims certain fields in this message to be complete.

Used in: Metadata

message ComplianceNote

compliance.proto:26

Used in: Note

message ComplianceNote.CisBenchmark

compliance.proto:38

A compliance check that is a CIS benchmark.

Used in: ComplianceNote

message ComplianceOccurrence

compliance.proto:69

An indication that the compliance checks in the associated ComplianceNote were not satisfied for particular resources or a specified reason.

Used in: Occurrence

message ComplianceVersion

compliance.proto:55

Describes the CIS benchmark version that is applicable to a given OS and os version.

Used in: ComplianceNote, ComplianceOccurrence

message DSSEAttestationNote

dsse_attestation.proto:26

Used in: Note

message DSSEAttestationNote.DSSEHint

dsse_attestation.proto:34

This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.

Used in: DSSEAttestationNote

message DSSEAttestationOccurrence

dsse_attestation.proto:45

Deprecated. Prefer to use a regular Occurrence, and populate the Envelope at the top level of the Occurrence.

Used in: Occurrence

message DeploymentNote

deployment.proto:27

An artifact that can be deployed in some runtime.

Used in: Note

message DeploymentOccurrence

deployment.proto:33

The period during which some deployable was active in a runtime.

Used in: Occurrence

enum DeploymentOccurrence.Platform

deployment.proto:54

Types of platforms.

Used in: DeploymentOccurrence

message Digest

common.proto:179

Digest information.

Used in: PackageNote

message DiscoveryNote

discovery.proto:32

A note that indicates a type of analysis a provider would perform. This note exists in a provider's project. A `Discovery` occurrence is created in a consumer's project at the start of analysis.

Used in: Note

message DiscoveryOccurrence

discovery.proto:39

Provides information about the analysis status of a discovered resource.

Used in: Occurrence

message DiscoveryOccurrence.AnalysisCompleted

discovery.proto:80

Indicates which analysis completed successfully. Multiple types of analysis can be performed on a single resource.

Used in: DiscoveryOccurrence

enum DiscoveryOccurrence.AnalysisStatus

discovery.proto:55

Analysis status for a resource. Currently for initial analysis only (not updated in continuous analysis).

Used in: DiscoveryOccurrence

enum DiscoveryOccurrence.ContinuousAnalysis

discovery.proto:41

Whether the resource is continuously analyzed.

Used in: DiscoveryOccurrence

message DiscoveryOccurrence.SBOMStatus

discovery.proto:106

The status of an SBOM generation.

Used in: DiscoveryOccurrence

enum DiscoveryOccurrence.SBOMStatus.SBOMState

discovery.proto:108

An enum indicating the progress of the SBOM generation.

Used in: SBOMStatus

message DiscoveryOccurrence.VulnerabilityAttestation

discovery.proto:128

The status of an vulnerability attestation generation.

Used in: DiscoveryOccurrence

enum DiscoveryOccurrence.VulnerabilityAttestation.VulnerabilityAttestationState

discovery.proto:130

An enum indicating the state of the attestation generation.

Used in: VulnerabilityAttestation

message Distribution

package.proto:39

This represents a particular channel of distribution for a given package. E.g., Debian's jessie-backports dpkg mirror.

Used in: PackageNote

message Envelope

common.proto:118

MUST match https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An authenticated message of arbitrary type.

Used in: DSSEAttestationOccurrence, Occurrence

message EnvelopeSignature

common.proto:124

Used in: Envelope, SBOMReferenceOccurrence

message FileHashes

provenance.proto:100

Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.

Used in: Source

message FileLocation

common.proto:130

Indicates the location at which a package was found.

Used in: SecretLocation, VulnerabilityOccurrence.PackageIssue

message Fingerprint

image.proto:35

A set of properties that uniquely identify a given Docker image.

Used in: ImageNote, ImageOccurrence

message GerritSourceContext

provenance.proto:214

A SourceContext referring to a Gerrit project.

Used in: SourceContext

message GitSourceContext

provenance.proto:236

A GitSourceContext denotes a particular revision in a third party Git repository (e.g., GitHub).

Used in: SourceContext

message Hash

provenance.proto:106

Container message for hash values.

Used in: FileHashes

message ImageNote

image.proto:55

Basis describes the base image portion (Note) of the DockerImage relationship. Linked occurrences are derived from this or an equivalent image via: FROM <Basis.resource_url> Or an equivalent reference, e.g., a tag of the resource_url.

Used in: Note

message ImageOccurrence

image.proto:67

Details of the derived image portion of the DockerImage relationship. This image would be produced from a Dockerfile with FROM <DockerImage.Basis in attached Note>.

Used in: Occurrence

message InTotoProvenance

intoto_provenance.proto:100

Used in: BuildOccurrence, InTotoStatement

message InTotoSlsaProvenanceV1

intoto_statement.proto:56

Used in: BuildOccurrence

message InTotoSlsaProvenanceV1.BuildDefinition

intoto_statement.proto:72

Used in: SlsaProvenanceV1

message InTotoSlsaProvenanceV1.BuildMetadata

intoto_statement.proto:101

Used in: RunDetails

message InTotoSlsaProvenanceV1.ProvenanceBuilder

intoto_statement.proto:95

Used in: RunDetails

message InTotoSlsaProvenanceV1.ResourceDescriptor

intoto_statement.proto:79

Used in: BuildDefinition, ProvenanceBuilder, RunDetails

message InTotoSlsaProvenanceV1.RunDetails

intoto_statement.proto:89

Used in: SlsaProvenanceV1

message InTotoSlsaProvenanceV1.SlsaProvenanceV1

intoto_statement.proto:67

Keep in sync with schema at https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto Builder renamed to ProvenanceBuilder because of Java conflicts.

Used in: InTotoSlsaProvenanceV1

message InTotoStatement

intoto_statement.proto:35

Spec defined at https://github.com/in-toto/attestation/tree/main/spec#statement The serialized InTotoStatement will be stored as Envelope.payload. Envelope.payloadType is always "application/vnd.in-toto+json".

Used in: BuildOccurrence, DSSEAttestationOccurrence

message Jwt

attestation.proto:56

Used in: AttestationOccurrence

message Layer

image.proto:25

Layer holds metadata specific to a layer of a Docker image.

Used in: ImageOccurrence

message LayerDetails

common.proto:150

Details about the layer a package was found in.

Used in: FileLocation

message License

common.proto:166

License information.

Used in: PackageNote, PackageOccurrence

message Location

package.proto:63

An occurrence of a particular package installation found within a system's filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.

Used in: PackageOccurrence

message Metadata

intoto_provenance.proto:79

Other properties of the build.

Used in: InTotoProvenance

message NonCompliantFile

compliance.proto:77

Details about files that caused a compliance check to fail.

display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using 'path'.

Used in: ComplianceOccurrence

message Note

grafeas.proto:309

A type of analysis that can be done for a resource.

Used as response type in: Grafeas.CreateNote, Grafeas.GetNote, Grafeas.GetOccurrenceNote, Grafeas.UpdateNote

Used as field type in: BatchCreateNotesRequest, BatchCreateNotesResponse, CreateNoteRequest, ListNotesResponse, UpdateNoteRequest

enum NoteKind

common.proto:25

Kind represents the kinds of notes supported.

Used in: DiscoveryNote, Note, Occurrence

message Occurrence

grafeas.proto:241

An instance of an analysis type that has been found on a resource.

Used as response type in: Grafeas.CreateOccurrence, Grafeas.GetOccurrence, Grafeas.UpdateOccurrence

Used as field type in: BatchCreateOccurrencesRequest, BatchCreateOccurrencesResponse, CreateOccurrenceRequest, ListNoteOccurrencesResponse, ListOccurrencesResponse, UpdateOccurrenceRequest

message PackageNote

package.proto:77

PackageNote represents a particular package version.

Used in: Note

message PackageOccurrence

package.proto:122

Details on how a particular software package was installed on a system.

Used in: Occurrence

message ProjectRepoId

provenance.proto:259

Selects a repo using a Google Cloud Platform project ID (e.g., winged-cargo-31) and a repo name within that project.

Used in: RepoId

message Recipe

intoto_provenance.proto:34

Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.

Used in: InTotoProvenance

message RelatedUrl

common.proto:57

Metadata for any related URL information.

Used in: Note, VulnerabilityAssessmentNote.Assessment, VulnerabilityAssessmentNote.Assessment.Remediation, VulnerabilityOccurrence, VulnerabilityOccurrence.VexAssessment

message RepoId

provenance.proto:245

A unique identifier for a Cloud Repo.

Used in: CloudRepoSourceContext

message SBOMReferenceNote

sbom.proto:28

The note representing an SBOM reference.

Used in: Note

message SBOMReferenceOccurrence

sbom.proto:40

The occurrence representing an SBOM reference as applied to a specific resource. The occurrence follows the DSSE specification. See https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more details.

Used in: Occurrence

message SbomReferenceIntotoPayload

sbom.proto:55

The actual payload that contains the SBOM Reference data. The payload follows the intoto statement specification. See https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md for more details.

Used in: SBOMReferenceOccurrence

message SbomReferenceIntotoPredicate

sbom.proto:69

A predicate which describes the SBOM being referenced.

Used in: SbomReferenceIntotoPayload

enum SecretKind

secret.proto:82

Kind of secret.

Used in: SecretOccurrence

message SecretLocation

secret.proto:45

The location of the secret.

Used in: SecretOccurrence

message SecretNote

secret.proto:29

The note representing a secret.

Used in: Note

(message has no fields)

message SecretOccurrence

secret.proto:32

The occurrence provides details of a secret.

Used in: Occurrence

message SecretStatus

secret.proto:54

The status of the secret with a timestamp.

Used in: SecretOccurrence

enum SecretStatus.Status

secret.proto:56

The status of the secret.

Used in: SecretStatus

enum Severity

severity.proto:25

Note provider assigned severity/impact ranking.

Used in: google.devtools.containeranalysis.v1.VulnerabilityOccurrencesSummary.FixableTotalByDigest, ComplianceNote.CisBenchmark, VulnerabilityNote, VulnerabilityOccurrence, VulnerabilityOccurrence.PackageIssue

message Signature

common.proto:86

Verifiers (e.g. Kritis implementations) MUST verify signatures with respect to the trust anchors defined in policy (e.g. a Kritis policy). Typically this means that the verifier has been configured with a map from `public_key_id` to public key material (and any required parameters, e.g. signing algorithm). In particular, verification implementations MUST NOT treat the signature `public_key_id` as anything more than a key lookup hint. The `public_key_id` DOES NOT validate or authenticate a public key; it only provides a mechanism for quickly selecting a public key ALREADY CONFIGURED on the verifier through a trusted channel. Verification implementations MUST reject signatures in any of the following circumstances: * The `public_key_id` is not recognized by the verifier. * The public key that `public_key_id` refers to does not verify the signature with respect to the payload. The `signature` contents SHOULD NOT be "attached" (where the payload is included with the serialized `signature` bytes). Verifiers MUST ignore any "attached" payload and only verify signatures with respect to explicitly provided payload (e.g. a `payload` field on the proto message that holds this Signature, or the canonical serialization of the proto message that holds this signature).

Used in: AttestationOccurrence

message SlsaProvenance

slsa_provenance.proto:28

Used in: InTotoStatement

message SlsaProvenance.Material

slsa_provenance.proto:98

Used in: SlsaProvenance

message SlsaProvenance.SlsaBuilder

slsa_provenance.proto:94

Used in: SlsaProvenance

message SlsaProvenance.SlsaCompleteness

slsa_provenance.proto:64

Indicates that the builder claims certain fields in this message to be complete.

Used in: SlsaMetadata

message SlsaProvenance.SlsaMetadata

slsa_provenance.proto:77

Other properties of the build.

Used in: SlsaProvenance

message SlsaProvenance.SlsaRecipe

slsa_provenance.proto:32

Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.

Used in: SlsaProvenance

message SlsaProvenanceZeroTwo

slsa_provenance_zero_two.proto:28

See full explanation of fields at slsa.dev/provenance/v0.2.

Used in: InTotoStatement

message SlsaProvenanceZeroTwo.SlsaBuilder

slsa_provenance_zero_two.proto:33

Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.

Used in: SlsaProvenanceZeroTwo

message SlsaProvenanceZeroTwo.SlsaCompleteness

slsa_provenance_zero_two.proto:70

Indicates that the builder claims certain fields in this message to be complete.

Used in: SlsaMetadata

message SlsaProvenanceZeroTwo.SlsaConfigSource

slsa_provenance_zero_two.proto:53

Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.

Used in: SlsaInvocation

message SlsaProvenanceZeroTwo.SlsaInvocation

slsa_provenance_zero_two.proto:45

Identifies the event that kicked off the build.

Used in: SlsaProvenanceZeroTwo

message SlsaProvenanceZeroTwo.SlsaMaterial

slsa_provenance_zero_two.proto:39

The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.

Used in: SlsaProvenanceZeroTwo

message SlsaProvenanceZeroTwo.SlsaMetadata

slsa_provenance_zero_two.proto:60

Other properties of the build.

Used in: SlsaProvenanceZeroTwo

message Source

provenance.proto:73

Source describes the location of the source used for the build.

Used in: BuildProvenance

message SourceContext

provenance.proto:157

A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.

Used in: Source

message Subject

intoto_statement.proto:47

Used in: InTotoSlsaProvenanceV1, InTotoStatement, SbomReferenceIntotoPayload

message UpgradeDistribution

upgrade.proto:46

The Upgrade Distribution represents metadata about the Upgrade for each operating system (CPE). Some distributions have additional metadata around updates, classifying them into various categories and severities.

Used in: UpgradeNote, UpgradeOccurrence

message UpgradeNote

upgrade.proto:31

An Upgrade Note represents a potential upgrade of a package to a given version. For each package version combination (i.e. bash 4.0, bash 4.1, bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field represents the information related to the update.

Used in: Note

message UpgradeOccurrence

upgrade.proto:102

An Upgrade Occurrence represents that a specific resource_url could install a specific upgrade. This presence is supplied via local sources (i.e. it is present in the mirror and the running system has noticed its availability). For Windows, both distribution and windows_update contain information for the Windows update.

Used in: Occurrence

message Version

package.proto:154

Version contains structured information about the version of a package.

Used in: Distribution, Location, PackageNote, PackageOccurrence, UpgradeNote, UpgradeOccurrence, VulnerabilityNote.Detail, VulnerabilityOccurrence.PackageIssue

enum Version.VersionKind

package.proto:174

Whether this is an ordinary package version or a sentinel MIN/MAX version.

Used in: Version

message VulnerabilityAssessmentNote

vex.proto:28

A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE.

Used in: Note

message VulnerabilityAssessmentNote.Assessment

vex.proto:91

Assessment provides all information that is related to a single vulnerability for this product.

Used in: VulnerabilityAssessmentNote

message VulnerabilityAssessmentNote.Assessment.Justification

vex.proto:137

Justification provides the justification when the state of the assessment if NOT_AFFECTED.

Used in: Assessment, VulnerabilityOccurrence.VexAssessment

enum VulnerabilityAssessmentNote.Assessment.Justification.JustificationType

vex.proto:139

Provides the type of justification.

Used in: Justification

message VulnerabilityAssessmentNote.Assessment.Remediation

vex.proto:175

Specifies details on how to handle (and presumably, fix) a vulnerability.

Used in: Assessment, VulnerabilityOccurrence.VexAssessment

enum VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType

vex.proto:177

The type of remediation that can be applied.

Used in: Remediation

enum VulnerabilityAssessmentNote.Assessment.State

vex.proto:114

Provides the state of this Vulnerability assessment.

Used in: Assessment, VulnerabilityOccurrence.VexAssessment

message VulnerabilityAssessmentNote.Product

vex.proto:70

Product contains information about a product and how to uniquely identify it. (-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Product is not a separate resource. --)

Used in: VulnerabilityAssessmentNote

message VulnerabilityAssessmentNote.Publisher

vex.proto:46

Publisher contains information about the publisher of this Note. (-- api-linter: core::0123::resource-annotation=disabled aip.dev/not-precedent: Publisher is not a separate resource. --)

Used in: VulnerabilityAssessmentNote

message VulnerabilityNote

vulnerability.proto:33

A security vulnerability that can be found in resources.

Used in: Note

message VulnerabilityNote.Detail

vulnerability.proto:46

A detail for a distro and package affected by this vulnerability and its associated fix (if one is available).

Used in: VulnerabilityNote

message VulnerabilityNote.WindowsDetail

vulnerability.proto:122

Used in: VulnerabilityNote

message VulnerabilityNote.WindowsDetail.KnowledgeBase

vulnerability.proto:139

Used in: WindowsDetail

message VulnerabilityOccurrence

vulnerability.proto:163

An occurrence of a severity vulnerability on a resource.

Used in: Occurrence

message VulnerabilityOccurrence.PackageIssue

vulnerability.proto:185

A detail for a distro and package this vulnerability occurrence was found in and its associated fix (if one is available).

Used in: VulnerabilityOccurrence

message VulnerabilityOccurrence.VexAssessment

vulnerability.proto:259

VexAssessment provides all publisher provided Vex information that is related to this vulnerability.

Used in: VulnerabilityOccurrence

message WindowsUpdate

upgrade.proto:65

Windows Update represents the metadata about the update for the Windows operating system. The fields in this message come from the Windows Update API documented at https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate.

Used in: UpgradeNote, UpgradeOccurrence

message WindowsUpdate.Category

upgrade.proto:80

The category to which the update belongs.

Used in: WindowsUpdate

message WindowsUpdate.Identity

upgrade.proto:67

The unique identifier of the update.

Used in: WindowsUpdate