Get desktop application:
View/edit binary Protocol Buffers messages
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`.
Returns the requested `Occurrence`.
Request to get a Occurrence.
The name of the occurrence of the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
Lists active `Occurrences` for a given project matching the filters.
Request to list occurrences.
The name field contains the project Id. For example: "projects/{project_id} @Deprecated
This contains the project Id for example: projects/{project_id}.
The filter expression.
Number of occurrences to return in the list.
Token to provide to skip to a particular spot in the list.
The kind of occurrences to filter on.
Response including listed active occurrences.
The occurrences requested.
The next pagination token in the list response. It should be used as `page_token` for the following request. An empty value means no more results.
Deletes the given `Occurrence` from the system. Use this when an `Occurrence` is no longer applicable for the given resource.
Request to delete a occurrence
The name of the occurrence in the form of "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
Creates a new `Occurrence`. Use this method to create `Occurrences` for a resource.
Request to insert a new occurrence.
The name of the project. Should be of the form "projects/{project_id}". @Deprecated
This field contains the project Id for example: "projects/{project_id}"
The occurrence to be inserted
Updates an existing occurrence.
Request to update an existing occurrence
The name of the occurrence. Should be of the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}".
The updated occurrence.
The fields to update.
Gets the `Note` attached to the given `Occurrence`.
Request to get the note to which this occurrence is attached.
The name of the occurrence in the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
Returns the requested `Note`.
Request to get a Note.
The name of the note in the form of "providers/{provider_id}/notes/{NOTE_ID}"
Lists all `Notes` for a given project.
Request to list notes.
The name field will contain the project Id for example: "providers/{provider_id} @Deprecated
This field contains the project Id for example: "projects/{PROJECT_ID}".
The filter expression.
Number of notes to return in the list.
Token to provide to skip to a particular spot in the list.
Response including listed notes.
The occurrences requested
The next pagination token in the list response. It should be used as page_token for the following request. An empty value means no more result.
Deletes the given `Note` from the system.
Request to delete a note
The name of the note in the form of "providers/{provider_id}/notes/{NOTE_ID}"
Creates a new `Note`.
Request to insert a new note
The name of the project. Should be of the form "providers/{provider_id}". @Deprecated
This field contains the project Id for example: "projects/{project_id}
The ID to use for this note.
The Note to be inserted
Updates an existing `Note`.
Request to update an existing note
The name of the note. Should be of the form "projects/{provider_id}/notes/{note_id}".
The updated note.
The fields to update.
Lists `Occurrences` referencing the specified `Note`. Use this method to get all occurrences referencing your `Note` across all your customer projects.
Request to list occurrences.
The name field will contain the note name for example: "provider/{provider_id}/notes/{note_id}"
The filter expression.
Number of notes to return in the list.
Token to provide to skip to a particular spot in the list.
Response including listed occurrences for a note.
The occurrences attached to the specified note.
Token to receive the next page of notes.
Gets a summary of the number and severity of occurrences.
Request to get the vulnz summary for some set of vulnerability Occurrences.
This contains the project Id for example: projects/{project_id}
The filter expression.
A summary of how many vulnz occurrences there are per severity type. counts by groups, or if we should have different summary messages like this.
A map of how many occurrences were found for each severity.
Sets the access control policy on the specified `Note` or `Occurrence`. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a `Note` or an `Occurrence`, respectively. Attempting to call this method without these permissions will result in a ` `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has `containeranalysis.notes.list` permission on a `Note` or `containeranalysis.occurrences.list` on an `Occurrence`, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{projectid}/occurrences/{occurrenceid}` for occurrences and projects/{projectid}/notes/{noteid} for notes
Gets the access control policy for a note or an `Occurrence` resource. Requires `containeranalysis.notes.setIamPolicy` or `containeranalysis.occurrences.setIamPolicy` permission if the resource is a note or occurrence, respectively. Attempting to call this method on a resource without the required permission will result in a `PERMISSION_DENIED` error. Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for occurrences and projects/{PROJECT_ID}/notes/{NOTE_ID} for notes
Returns the permissions that a caller has on the specified note or occurrence resource. Requires list permission on the project (for example, "storage.objects.list" on the containing bucket for testing permission of an object). Attempting to call this method on a non-existent resource will result in a `NOT_FOUND` error if the user has list permission on the project, or a `PERMISSION_DENIED` error otherwise. The resource takes the following formats: `projects/{PROJECT_ID}/occurrences/{OCCURRENCE_ID}` for `Occurrences` and `projects/{PROJECT_ID}/notes/{NOTE_ID}` for `Notes`
Creates a new `Operation`.
Request for creating an operation
The project Id that this operation should be created under.
The ID to use for this operation.
The operation to create.
Updates an existing operation returns an error if operation does not exist. The only valid operations are to update mark the done bit change the result.
Request for updating an existing operation
The name of the Operation. Should be of the form "projects/{provider_id}/operations/{operation_id}".
The operation to create.
Gets a specific scan configuration for a project.
Request to get a ScanConfig.
The name of the ScanConfig in the form projects/{project_id}/scan_configs/{ScanConfig_id} instead.
Lists scan configurations for a project.
Request to list the available scan configurations.
This containers the project Id i.e.: projects/{project_id} instead.
The filter expression.
The number of items to return.
The page token to use for the next request.
A list of ScanConfigs for the project.
The set of scan configs
A page token to pass in order to get more scans.
Updates the scan configuration to a new value.
A request to update a ScanConfig.
The scan config to update of the form projects/{project_id}/scan_configs/{ScanConfig_id} instead.
The new scan configuration
An alias to a repo revision.
Used in:
,The alias kind.
The alias name.
The type of an alias.
Used in:
Unknown.
Git tag.
Git branch.
Used to specify non-standard aliases. For example, if a Git repo has a ref named "refs/foo/bar".
Artifact describes a build product.
Used in:
Name of the artifact. This may be the path to a binary or jar file, or in the case of a container build, the name used to push the container image to Google Container Registry, as presented to `docker push`. This field is deprecated in favor of the plural `names` field; it continues to exist here to allow existing BuildProvenance serialized to json in google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to deserialize back into proto.
Hash or checksum value of a binary, or Docker Registry 2.0 digest of a container.
Artifact ID, if any; for container images, this will be a URL by digest like gcr.io/projectID/imagename@sha256:123456
Related artifact names. This may be the path to a binary or jar file, or in the case of a container build, the name used to push the container image to Google Container Registry, as presented to `docker push`. Note that a single Artifact ID can have multiple names, for example if two tags are applied to one image.
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:
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:
The signature, generally over the `resource_url`, that verifies this attestation. The semantics of the signature veracity are ultimately determined by the verification engine.
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:
The human readable name of this Attestation Authority, for example "qa".
Message encapsulating build provenance details.
Used in:
The actual provenance
Serialized JSON representation of the provenance, used in generating the `BuildSignature` in the corresponding Result. After verifying the signature, `provenance_bytes` can be unmarshalled and compared to the provenance to confirm that it is unchanged. A base64-encoded string representation of the provenance bytes is used for the signature in order to interoperate with openssl which expects this format for signature verification. The serialized form is captured both to avoid ambiguity in how the provenance is marshalled to json as well to prevent incompatibilities with future changes.
Provenance of a build. Contains all information needed to verify the full details about the build from source to completion.
Used in:
Unique identifier of the build.
ID of the project.
Commands requested by the build.
Output of the build.
Time at which the build was created.
Time at which execution of the build was started.
Time at which execution of the build was finished.
E-mail address of the user who initiated this build. Note that this was the user's e-mail address at the time the build was initiated; this address may not represent the same end-user for all time.
Google Cloud Storage bucket where logs were written.
Details of the Source input to the build.
Trigger identifier if the build was triggered automatically; empty if not.
Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details.
Version string of the builder at the time this build was executed.
Message encapsulating the signature of the verified build.
Used in:
Public key of the builder which can be used to verify that the related findings are valid and unchanged. If `key_type` is empty, this defaults to PEM encoded public keys. This field may be empty if `key_id` references an external key. For Cloud Build based signatures, this is a PEM encoded public key. To verify the Cloud Build signature, place the contents of this field into a file (public.pem). The signature field is base64-decoded into its binary representation in signature.bin, and the provenance bytes from `BuildDetails` are base64-decoded into a binary representation in signed.bin. OpenSSL can then verify the signature: `openssl sha256 -verify public.pem -signature signature.bin signed.bin`
Signature of the related `BuildProvenance`, encoded in a base64 string.
An Id for the key used to sign. This could be either an Id for the key stored in `public_key` (such as the Id or fingerprint for a PGP key, or the CN for a cert), or a reference to an external key (such as a reference to a key in Cloud Key Management Service).
The type of the key, either stored in `public_key` or referenced in `key_id`
Public key formats
Used in:
`KeyType` is not set.
`PGP ASCII Armored` public key.
`PKIX PEM` public key.
Note holding the version of the provider's builder and the signature of the provenance message in linked BuildDetails.
Used in:
Version of the builder which produced this Note.
Signature of the build in Occurrences pointing to the Note containing this `BuilderDetails`.
A CloudRepoSourceContext denotes a particular revision in a Google Cloud Source Repo.
Used in:
The ID of the repo.
A revision in a Cloud Repo can be identified by either its revision ID or its alias.
A revision ID.
An alias, which may be a branch or tag.
Command describes a step performed as part of the build pipeline.
Used in:
Name of the command, as presented on the command line, or if the command is packaged as a Docker container, as presented to `docker pull`.
Environment variables set before running this Command.
Command-line arguments used when executing this Command.
Working directory (relative to project source root) used when running this Command.
Optional unique identifier for this Command, used in wait_for to reference this Command as a dependency.
The ID(s) of the Command(s) that this Command depends on.
An artifact that can be deployed in some runtime.
Used in:
Resource URI for the artifact being deployed.
The period during which some deployable was active in a runtime.
Used in:
Identity of the user that triggered this deployment.
Beginning of the lifetime of this deployment.
End of the lifetime of this deployment.
Configuration used to create this deployment.
Address of the runtime element hosting this deployment.
Output only. Resource URI for the artifact being deployed taken from the deployable field with the same name.
Platform hosting this deployment.
Types of platforms.
Used in:
Unknown
Google Container Engine
Google App Engine: Flexible Environment
Custom user-defined platform
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:
The kind of analysis that is handled by this discovery.
Provides information about the scan status of a discovered resource.
Used in:
Output only. An operation that indicates the status of the current scan.
The status of discovery for the resource.
When an error is encountered this will contain a LocalizedMessage under details to show to the user. The LocalizedMessage output only and populated by the API.
Analysis status for a resource.
Used in:
Unknown
Resource is known but no action has been taken yet.
Resource is being analyzed.
Analysis has finished successfully.
Analysis has finished unsuccessfully, the analysis itself is in a bad state.
Analysis will not happen, the resource is not supported.
DockerImage holds types defining base image notes and derived image occurrences.
(message has no fields)
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:
The resource_url for the resource representing the basis of associated occurrence images.
The fingerprint of the base image.
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:
The fingerprint of the derived image.
Output only. The number of layers by which this image differs from the associated image basis.
This contains layer-specific metadata, if populated it has length "distance" and is ordered with [distance] being the layer immediately following the base image and [1] being the final layer.
Output only. This contains the base image URL for the derived image occurrence.
A set of properties that uniquely identify a given Docker image.
Used in:
,The layer-id of the final layer in the Docker image's v1 representation. This field can be used as a filter in list requests.
The ordered list of v2 blobs that represent a given image.
Output only. The name of the image's v2 blobs computed via: [bottom] := v2_blob[bottom] [N] := sha256(v2_blob[N] + " " + v2_name[N+1]) Only the name of the final blob is kept. This field can be used as a filter in list requests.
Layer holds metadata specific to a layer of a Docker image.
Used in:
The recovered Dockerfile directive used to construct this layer.
The recovered arguments to the Dockerfile directive.
Instructions from dockerfile
Used in:
Default value for unsupported/missing directive
https://docs.docker.com/reference/builder/#maintainer
https://docs.docker.com/reference/builder/#run
https://docs.docker.com/reference/builder/#cmd
https://docs.docker.com/reference/builder/#label
https://docs.docker.com/reference/builder/#expose
https://docs.docker.com/reference/builder/#env
https://docs.docker.com/reference/builder/#add
https://docs.docker.com/reference/builder/#copy
https://docs.docker.com/reference/builder/#entrypoint
https://docs.docker.com/reference/builder/#volume
https://docs.docker.com/reference/builder/#user
https://docs.docker.com/reference/builder/#workdir
https://docs.docker.com/reference/builder/#arg
https://docs.docker.com/reference/builder/#onbuild
https://docs.docker.com/reference/builder/#stopsignal
https://docs.docker.com/reference/builder/#healthcheck
https://docs.docker.com/reference/builder/#shell
Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build.
Used in:
Collection of file hashes.
A SourceContext referring to a Gerrit project.
Used in:
The URI of a running Gerrit instance.
The full project name within the host. Projects may be nested, so "project/subproject" is a valid project name. The "repo name" is the hostURI/project.
A revision in a Gerrit project can be identified by either its revision ID or its alias.
A revision (commit) ID.
An alias, which may be a branch or tag.
The number of occurrences created for a specific severity.
Used in:
The severity of the occurrences.
The number of occurrences with the severity.
A GitSourceContext denotes a particular revision in a third party Git repository (e.g., GitHub).
Used in:
Git repository URL.
Required. Git commit hash.
Container message for hash values.
Used in:
,The type of hash that was performed.
The hash value.
Specifies the hash algorithm, if any.
Used in:
No hash requested.
A sha256 hash.
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:
, ,The name of the note in the form "providers/{provider_id}/notes/{NOTE_ID}"
A one sentence description of this `Note`.
A detailed description of this `Note`.
Output only. This explicitly denotes which kind of note is specified. This field can be used as a filter in list requests.
The type of note.
A package vulnerability type of note.
Build provenance type for a verifiable build.
A note describing a base image.
A note describing a package hosted by various package managers.
A note describing something that can be deployed.
A note describing a provider/analysis type.
A note describing an attestation role.
URLs associated with this note
Time of expiration for this note, null if note does not expire.
Output only. The time this note was created. This field can be used as a filter in list requests.
Output only. The time this note was last updated. This field can be used as a filter in list requests.
This must be 1:1 with members of our oneofs, it can be used for filtering Note and Occurrence on their kind.
Used in:
, , ,Unknown
The note and occurrence represent a package vulnerability.
The note and occurrence assert build provenance.
This represents an image basis relationship.
This represents a package installed via a package manager.
The note and occurrence track deployment events.
The note and occurrence track the initial discovery status of a resource.
This represents a logical "role" that can attest to artifacts.
Metadata for any related URL information
Used in:
Specific URL to associate with the note
Label to describe usage of the URL
`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:
, , ,Output only. The name of the `Occurrence` in the form "projects/{project_id}/occurrences/{OCCURRENCE_ID}"
The unique URL of the image or the container for which the `Occurrence` applies. For example, https://gcr.io/project/image@sha256:foo This field can be used as a filter in list requests.
The resource for which the `Occurrence` applies.
An analysis note associated with this image, in the form "providers/{provider_id}/notes/{NOTE_ID}" This field can be used as a filter in list requests.
Output only. This explicitly denotes which of the `Occurrence` details are specified. This field can be used as a filter in list requests.
Describes the details of the vulnerability `Note` found in this resource.
Details of a security vulnerability note.
Build details for a verifiable build.
Describes how this resource derives from the basis in the associated note.
Describes the installation of a package on the linked resource.
Describes the deployment of an artifact on a runtime.
Describes the initial scan status for this resource.
Describes an attestation of an artifact.
A description of actions that can be taken to remedy the `Note`
Output only. The time this `Occurrence` was created.
Output only. The time this `Occurrence` was last updated.
Metadata for all operations used and required for all operations that created by Container Analysis Providers
Output only. The time this operation was created.
Output only. The time that this operation was marked completed or failed.
PackageManager provides metadata about available / installed packages.
(message has no fields)
Instruction set architectures supported by various package managers.
Used in:
Unknown architecture
X86 architecture
X64 architecture
This represents a particular channel of distribution for a given package. e.g. Debian's jessie-backports dpkg mirror
Used in:
The cpe_uri in [cpe format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.
The CPU architecture for which packages in this distribution channel were built
The latest available version of this package in this distribution channel.
A freeform string denoting the maintainer of this package.
The distribution channel-specific homepage for this package.
The distribution channel-specific description of this package.
This represents how a particular software package may be installed on a system.
Used in:
Output only. The name of the installed package.
All of the places within the filesystem versions of this package have been found.
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:
The cpe_uri in [cpe format](https://cpe.mitre.org/specification/) denoting the package manager version distributing a package.
The version installed at this location.
The path from which we gathered that this package/version is installed.
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:
The name of the package.
The various channels by which a package is distributed.
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:
The raw content of the signature, as output by GNU Privacy Guard (GPG) or equivalent. Since this message only supports attached signatures, the payload that was signed must be attached. While the signature format supported is dependent on the verification implementation, currently only ASCII-armored (`--armor` to gpg), non-clearsigned (`--sign` rather than `--clearsign` to gpg) are supported. Concretely, `gpg --sign --armor --output=signature.gpg payload.json` will create the signature content expected in this field in `signature.gpg` for the `payload.json` attestation payload.
Type (for example schema) of the attestation payload that was signed. The verifier must ensure that the provided type is one that the verifier supports, and that the attestation payload is a valid instantiation of that type (for example by validating a JSON schema).
This field is used by verifiers to select the public key used to validate the signature. Note that the policy of the verifier ultimately determines which public keys verify a signature based on the context of the verification. There is no guarantee validation will succeed if the verifier has no key matching this ID, even if it has a key under a different ID that would verify the signature. Note that this ID should also be present in the signature content above, but that is not expected to be used by the verifier.
The cryptographic fingerprint of the key used to generate the signature, as output by, e.g. `gpg --list-keys`. This should be the version 4, full 160-bit fingerprint, expressed as a 40 character hexadecimal string. See https://tools.ietf.org/html/rfc4880#section-12.2 for details. Implementations may choose to acknowledge "LONG", "SHORT", or other abbreviated key IDs, but only the full fingerprint is guaranteed to work. In gpg, the full fingerprint can be retrieved from the `fpr` field returned when calling --list-keys with --with-colons. For example: ``` gpg --with-colons --with-fingerprint --force-v4-certs \ --list-keys attester@example.com tru::1:1513631572:0:3:1:5 pub:...<SNIP>... fpr:::::::::24FF6481B76AC91E66A00AC657A93A81EF3AE6FB: ``` Above, the fingerprint is `24FF6481B76AC91E66A00AC657A93A81EF3AE6FB`.
Type (for example schema) of the attestation payload that was signed.
Used in:
`ContentType` is not set.
Atomic format attestation signature. See https://github.com/containers/image/blob/8a5d2f82a6e3263290c8e0276c3e0f64e77723e7/docs/atomic-signature.md The payload extracted from `signature` is a JSON blob conforming to the linked schema.
Selects a repo using a Google Cloud Platform project ID (e.g., winged-cargo-31) and a repo name within that project.
Used in:
The ID of the project.
The name of the repo. Leave empty for the default repo.
A unique identifier for a Cloud Repo.
Used in:
A cloud repo can be identified by either its project ID and repository name combination, or its globally unique identifier.
A combination of a project ID and a repo name.
A server-assigned, globally unique identifier.
RepoSource describes the location of the source in a Google Cloud Source Repository.
Used in:
ID of the project that owns the repo.
Name of the repo.
A revision within the source repository must be specified in one of these ways.
Name of the branch to build.
Name of the tag to build.
Explicit commit SHA to build.
Resource is an entity that can have metadata. E.g., a Docker image.
Used in:
The name of the resource. E.g., the name of a Docker image - "Debian".
The unique URI of the resource. E.g., "https://gcr.io/project/image@sha256:foo" for a Docker image.
The hash of the resource content. E.g., the Docker digest.
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:
,Output only. The name of the ScanConfig in the form “projects/{project_id}/ScanConfigs/{ScanConfig_id}".
Output only. A human-readable description of what the `ScanConfig` does.
Indicates whether the Scan is enabled.
Source describes the location of the source used for the build.
Used in:
Source location information.
If provided, get the source from this location in in Google Cloud Storage.
If provided, get source from this location in a Cloud Repo.
If provided, the input binary artifacts for the build came from this location.
Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file.
If provided, the source code used for the build came from this location.
If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field.
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:
A SourceContext can refer any one of the following types of repositories.
A SourceContext referring to a revision in a Google Cloud Source Repo.
A SourceContext referring to a Gerrit project.
A SourceContext referring to any third party Git repo (e.g., GitHub).
Labels with user defined metadata.
StorageSource describes the location of the source in an archive file in Google Cloud Storage.
Used in:
Google Cloud Storage bucket containing source (see [Bucket Name Requirements] (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
Google Cloud Storage object containing source.
Google Cloud Storage generation for the object.
VulnerabilityType provides metadata about a security vulnerability.
Used in:
The CVSS score for this Vulnerability.
Note provider assigned impact of the vulnerability
All information about the package to specifically identify this vulnerability. One entry per (version range and cpe_uri) the package vulnerability has manifested in.
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:
The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) in which the vulnerability manifests. Examples include distro or storage location for vulnerable jar. This field can be used as a filter in list requests.
The name of the package where the vulnerability was found. This field can be used as a filter in list requests.
The min version of the package in which the vulnerability exists.
The max version of the package in which the vulnerability exists. This field can be used as a filter in list requests.
The severity (eg: distro assigned severity) for this vulnerability.
A vendor-specific description of this note.
The fix for this specific package version.
The type of package; whether native or non native(ruby gems, node.js packages etc)
Whether this Detail is obsolete. Occurrences are expected not to point to obsolete details.
This message wraps a location affected by a vulnerability and its associated fix (if one is available).
Used in:
The location of the vulnerability.
The location of the available fix for vulnerability.
The severity (eg: distro assigned severity) for this vulnerability.
Note provider-assigned severity/impact ranking
Used in:
, ,Unknown Impact
Minimal Impact
Low Impact
Medium Impact
High Impact
Critical Impact
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:
, , ,Used to correct mistakes in the version numbering scheme.
The main part of the version name.
The iteration of the package build from the above version.
Distinguish between sentinel MIN/MAX versions and normal versions. If kind is not NORMAL, then the other fields are ignored.
Whether this is an ordinary package version or a sentinel MIN/MAX version.
Used in:
A standard package version, defined by the other fields.
A special version representing negative infinity, other fields are ignored.
A special version representing positive infinity, other fields are ignored.
Used by Occurrence to point to where the vulnerability exists and how to fix it.
Used in:
The type of package; whether native or non native(ruby gems, node.js packages etc)
Output only. The note provider assigned Severity of the vulnerability.
Output only. The CVSS score of this vulnerability. CVSS score is on a scale of 0-10 where 0 indicates low severity and 10 indicates high severity.
The set of affected locations and their fixes (if available) within the associated resource.
The location of the vulnerability
Used in:
,The cpe_uri in [cpe format] (https://cpe.mitre.org/specification/) format. Examples include distro or storage location for vulnerable jar. This field can be used as a filter in list requests.
The package being described.
The version of the package being described. This field can be used as a filter in list requests.