package google.devtools.containeranalysis.v1alpha1

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

service ContainerAnalysis

containeranalysis.proto:50

Retrieves the results of vulnerability scanning of cloud components such as container images. The Container Analysis API is an implementation of the [Grafeas](grafeas.io) API. The vulnerability results are stored as a series of Occurrences. An `Occurrence` contains information about a specific vulnerability in a resource. An `Occurrence` references a `Note`. A `Note` contains details about the vulnerability and is stored in a stored in a separate project. Multiple `Occurrences` can reference the same `Note`. For example, an SSL vulnerability could affect multiple packages in an image. In this case, there would be one `Note` for the vulnerability and an `Occurrence` for each package with the vulnerability referencing that `Note`.

message AliasContext

source_context.proto:46

An alias to a repo revision.

Used in: CloudRepoSourceContext, GerritSourceContext

enum AliasContext.Kind

source_context.proto:48

The type of an alias.

Used in: AliasContext

message Artifact

provenance.proto:198

Artifact describes a build product.

Used in: BuildProvenance

message AttestationAuthority

containeranalysis.proto:644

Note kind that represents a logical attestation "role" or "authority". For example, an organization might have one `AttestationAuthority` 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 AttestationAuthority.Attestation

containeranalysis.proto:665

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 AttestationAuthority to which this Attestation is attached is primarily useful for look-up (how to find this Attestation if you already know the Authority and artifact to be verified) and intent (which authority was this attestation intended to sign for).

Used in: Occurrence

message AttestationAuthority.AttestationAuthorityHint

containeranalysis.proto:652

This submessage provides human-readable hints about the purpose of the AttestationAuthority. 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 AttestationAuthorities in security sensitive contexts, such as when looking up Attestations to verify.

Used in: AttestationAuthority

message BuildDetails

containeranalysis.proto:678

Message encapsulating build provenance details.

Used in: Occurrence

message BuildProvenance

provenance.proto:30

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

Used in: BuildDetails

message BuildSignature

containeranalysis.proto:532

Message encapsulating the signature of the verified build.

Used in: BuildType

enum BuildSignature.KeyType

containeranalysis.proto:534

Public key formats

Used in: BuildSignature

message BuildType

containeranalysis.proto:522

Note holding the version of the provider's builder and the signature of the provenance message in linked BuildDetails.

Used in: Note

message CloudRepoSourceContext

source_context.proto:72

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

Used in: SourceContext

message Command

provenance.proto:174

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

Used in: BuildProvenance

message Deployable

containeranalysis.proto:429

An artifact that can be deployed in some runtime.

Used in: Note

message Deployable.Deployment

containeranalysis.proto:431

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

Used in: Occurrence

enum Deployable.Deployment.Platform

containeranalysis.proto:433

Types of platforms.

Used in: Deployment

message Discovery

containeranalysis.proto:479

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. The occurrence's operation will indicate the status of the analysis. Absence of an occurrence linked to this note for a resource indicates that analysis hasn't started.

Used in: Note

message Discovery.Discovered

containeranalysis.proto:481

Provides information about the scan status of a discovered resource.

Used in: Occurrence

enum Discovery.Discovered.AnalysisStatus

containeranalysis.proto:483

Analysis status for a resource.

Used in: Discovered

message DockerImage

image_basis.proto:28

DockerImage holds types defining base image notes and derived image occurrences.

(message has no fields)

message DockerImage.Basis

image_basis.proto:118

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 DockerImage.Derived

image_basis.proto:130

Derived describes the derived image portion (Occurrence) of the DockerImage relationship. This image would be produced from a Dockerfile with FROM <DockerImage.Basis in attached Note>.

Used in: Occurrence

message DockerImage.Fingerprint

image_basis.proto:96

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

Used in: Basis, Derived

message DockerImage.Layer

image_basis.proto:30

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

Used in: Derived

enum DockerImage.Layer.Directive

image_basis.proto:32

Instructions from dockerfile

Used in: Layer

message FileHashes

provenance.proto:112

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 GerritSourceContext

source_context.proto:88

A SourceContext referring to a Gerrit project.

Used in: SourceContext

message GetVulnzOccurrencesSummaryResponse.SeverityCount

containeranalysis.proto:938

The number of occurrences created for a specific severity.

Used in: GetVulnzOccurrencesSummaryResponse

message GitSourceContext

source_context.proto:110

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

Used in: SourceContext

message Hash

provenance.proto:118

Container message for hash values.

Used in: FileHashes, Resource

enum Hash.HashType

provenance.proto:120

Specifies the hash algorithm, if any.

Used in: Hash

message Note

containeranalysis.proto:337

Provides a detailed description of a `Note`.

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

Used as field type in: CreateNoteRequest, ListNotesResponse, UpdateNoteRequest

enum Note.Kind

containeranalysis.proto:349

This must be 1:1 with members of our oneofs, it can be used for filtering Note and Occurrence on their kind.

Used in: Discovery, ListOccurrencesRequest, Note, Occurrence

message Note.RelatedUrl

containeranalysis.proto:339

Metadata for any related URL information

Used in: Note

message Occurrence

containeranalysis.proto:266

`Occurrence` includes information about analysis occurrences for an image.

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

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

message OperationMetadata

containeranalysis.proto:916

Metadata for all operations used and required for all operations that created by Container Analysis Providers

message PackageManager

bill_of_materials.proto:28

PackageManager provides metadata about available / installed packages.

(message has no fields)

enum PackageManager.Architecture

bill_of_materials.proto:92

Instruction set architectures supported by various package managers.

Used in: Distribution

message PackageManager.Distribution

bill_of_materials.proto:31

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

Used in: Package

message PackageManager.Installation

bill_of_materials.proto:82

This represents how a particular software package may be installed on a system.

Used in: Occurrence

message PackageManager.Location

bill_of_materials.proto:57

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: Installation

message PackageManager.Package

bill_of_materials.proto:72

This represents a particular package that is distributed over various channels. e.g. glibc (aka libc6) is distributed by many, at various versions.

Used in: Note

message PgpSignedAttestation

containeranalysis.proto:577

An attestation wrapper with a PGP-compatible signature. This message only supports `ATTACHED` signatures, where the payload that is signed is included alongside the signature itself in the same file.

Used in: AttestationAuthority.Attestation

enum PgpSignedAttestation.ContentType

containeranalysis.proto:579

Type (for example schema) of the attestation payload that was signed.

Used in: PgpSignedAttestation

message ProjectRepoId

source_context.proto:134

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 RepoId

source_context.proto:120

A unique identifier for a Cloud Repo.

Used in: CloudRepoSourceContext

message RepoSource

provenance.proto:152

RepoSource describes the location of the source in a Google Cloud Source Repository.

Used in: Source

message Resource

containeranalysis.proto:324

Resource is an entity that can have metadata. E.g., a Docker image.

Used in: Occurrence

message ScanConfig

containeranalysis.proto:697

Indicates various scans and whether they are turned on or off.

Used as response type in: ContainerAnalysis.GetScanConfig, ContainerAnalysis.UpdateScanConfig

Used as field type in: ListScanConfigsResponse, UpdateScanConfigRequest

message Source

provenance.proto:75

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

Used in: BuildProvenance

message SourceContext

source_context.proto:28

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 StorageSource

provenance.proto:137

StorageSource describes the location of the source in an archive file in Google Cloud Storage.

Used in: Source

message VulnerabilityType

package_vulnerability.proto:27

VulnerabilityType provides metadata about a security vulnerability.

Used in: Note

message VulnerabilityType.Detail

package_vulnerability.proto:66

Identifies all occurrences of this vulnerability in the package for a specific distro/location For example: glibc in cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2

Used in: VulnerabilityType

message VulnerabilityType.PackageIssue

package_vulnerability.proto:124

This message wraps a location affected by a vulnerability and its associated fix (if one is available).

Used in: VulnerabilityDetails

enum VulnerabilityType.Severity

package_vulnerability.proto:151

Note provider-assigned severity/impact ranking

Used in: GetVulnzOccurrencesSummaryResponse.SeverityCount, VulnerabilityType, VulnerabilityDetails

message VulnerabilityType.Version

package_vulnerability.proto:33

Version contains structured information about the version of the package. For a discussion of this in Debian/Ubuntu: http://serverfault.com/questions/604541/debian-packages-version-convention For a discussion of this in Redhat/Fedora/Centos: http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/

Used in: PackageManager.Distribution, PackageManager.Location, Detail, VulnerabilityLocation

enum VulnerabilityType.Version.VersionKind

package_vulnerability.proto:36

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

Used in: Version

message VulnerabilityType.VulnerabilityDetails

package_vulnerability.proto:104

Used by Occurrence to point to where the vulnerability exists and how to fix it.

Used in: Occurrence

message VulnerabilityType.VulnerabilityLocation

package_vulnerability.proto:136

The location of the vulnerability

Used in: Detail, PackageIssue