Package-level declarations

Types

Link copied to clipboard
data class AnalysisCompletedResponse(val analysisType: List<String>)

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

Link copied to clipboard
data class ArtifactResponse(val checksum: String, val name: String, val names: List<String>)

Artifact describes a build product.

Link copied to clipboard
data class AssessmentResponse(val cve: String, val impacts: List<String>, val justification: JustificationResponse, val longDescription: String, val relatedUris: List<URIResponse>, val remediations: List<RemediationResponse>, val shortDescription: String, val state: String)

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

Link copied to clipboard
data class AttestationAuthorityHintResponse(val humanReadableName: String)

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.

Link copied to clipboard

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.

Link copied to clipboard
data class AttestationResponse(val pgpSignedAttestation: PgpSignedAttestationResponse)

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).

Link copied to clipboard
data class BasisResponse(val fingerprint: FingerprintResponse, val resourceUrl: String)

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

Link copied to clipboard
data class BindingResponse(val condition: ExprResponse, val members: List<String>, val role: String)

Associates members, or principals, with a role.

Link copied to clipboard
data class BuildDetailsResponse(val intotoProvenance: InTotoProvenanceResponse, val intotoStatement: InTotoStatementResponse, val provenance: BuildProvenanceResponse, val provenanceBytes: String)

Message encapsulating build provenance details.

Link copied to clipboard
Link copied to clipboard
data class BuildProvenanceResponse(val buildOptions: Map<String, String>, val builderVersion: String, val builtArtifacts: List<ArtifactResponse>, val commands: List<CommandResponse>, val createTime: String, val creator: String, val finishTime: String, val logsBucket: String, val project: String, val sourceProvenance: SourceResponse, val startTime: String, val triggerId: String)

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

Link copied to clipboard
data class BuildSignatureResponse(val keyId: String, val keyType: String, val publicKey: String, val signature: String)

Message encapsulating the signature of the verified build.

Link copied to clipboard
data class BuildTypeResponse(val builderVersion: String, val signature: BuildSignatureResponse)

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

Link copied to clipboard
data class CisBenchmarkResponse(val profileLevel: Int, val severity: String)

A compliance check that is a CIS benchmark.

Link copied to clipboard
data class CommandResponse(val args: List<String>, val dir: String, val env: List<String>, val name: String, val waitFor: List<String>)

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

Link copied to clipboard
data class CompletenessResponse(val arguments: Boolean, val environment: Boolean, val materials: Boolean)

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

Link copied to clipboard
data class ComplianceNoteResponse(val cisBenchmark: CisBenchmarkResponse, val description: String, val rationale: String, val remediation: String, val scanInstructions: String, val title: String, val version: List<ComplianceVersionResponse>)

ComplianceNote encapsulates all information about a specific compliance check.

Link copied to clipboard
data class ComplianceOccurrenceResponse(val nonComplianceReason: String, val nonCompliantFiles: List<NonCompliantFileResponse>)

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

Link copied to clipboard
data class ComplianceVersionResponse(val benchmarkDocument: String, val cpeUri: String, val version: String)

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

Link copied to clipboard
data class CVSSResponse(val attackComplexity: String, val attackVector: String, val authentication: String, val availabilityImpact: String, val baseScore: Double, val confidentialityImpact: String, val exploitabilityScore: Double, val impactScore: Double, val integrityImpact: String, val privilegesRequired: String, val scope: String, val userInteraction: String)

Common Vulnerability Scoring System. This message is compatible with CVSS v2 and v3. For CVSS v2 details, see https://www.first.org/cvss/v2/guide CVSS v2 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator For CVSS v3 details, see https://www.first.org/cvss/specification-document CVSS v3 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator

Link copied to clipboard
data class DeployableResponse(val resourceUri: List<String>)

An artifact that can be deployed in some runtime.

Link copied to clipboard
data class DeploymentResponse(val address: String, val config: String, val deployTime: String, val platform: String, val resourceUri: List<String>, val undeployTime: String, val userEmail: String)

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

Link copied to clipboard
data class DerivedResponse(val baseResourceUrl: String, val distance: Int, val fingerprint: FingerprintResponse, val layerInfo: List<LayerResponse>)

Derived describes the derived image portion (Occurrence) of the DockerImage relationship. This image would be produced from a Dockerfile with FROM .

Link copied to clipboard
data class DetailResponse(val cpeUri: String, val description: String, val fixedLocation: VulnerabilityLocationResponse, val isObsolete: Boolean, val maxAffectedVersion: VersionResponse, val minAffectedVersion: VersionResponse, val package: String, val packageType: String, val severityName: String, val source: String, val vendor: String)

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

Link copied to clipboard
data class DigestResponse(val algo: String, val digestBytes: String)

Digest information.

Link copied to clipboard
data class DiscoveredResponse(val analysisCompleted: AnalysisCompletedResponse, val analysisError: List<StatusResponse>, val analysisStatus: String, val analysisStatusError: StatusResponse, val archiveTime: String, val continuousAnalysis: String, val cpe: String, val lastScanTime: String, val operation: OperationResponse)

Provides information about the scan status of a discovered resource.

Link copied to clipboard
data class DiscoveryResponse(val analysisKind: String)

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.

Link copied to clipboard
data class DistributionResponse(val architecture: String, val cpeUri: String, val description: String, val latestVersion: VersionResponse, val maintainer: String, val url: String)

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

Link copied to clipboard
data class DocumentNoteResponse(val dataLicence: String, val spdxVersion: String)

DocumentNote represents an SPDX Document Creation Infromation section: https://spdx.github.io/spdx-spec/2-document-creation-information/

Link copied to clipboard
data class DocumentOccurrenceResponse(val createTime: String, val creatorComment: String, val creators: List<String>, val documentComment: String, val externalDocumentRefs: List<String>, val licenseListVersion: String, val namespace: String, val title: String)

DocumentOccurrence represents an SPDX Document Creation Information section: https://spdx.github.io/spdx-spec/2-document-creation-information/

Link copied to clipboard

A note describing an attestation

Link copied to clipboard

An occurrence describing an attestation on a resource

Link copied to clipboard
data class DSSEHintResponse(val humanReadableName: String)

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.

Link copied to clipboard
data class EnvelopeResponse(val payload: String, val payloadType: String, val signatures: List<EnvelopeSignatureResponse>)

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

Link copied to clipboard
data class EnvelopeSignatureResponse(val keyid: String, val sig: String)

A DSSE signature

Link copied to clipboard
data class ExprResponse(val description: String, val expression: String, val location: String, val title: String)

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

Link copied to clipboard
data class ExternalRefResponse(val category: String, val comment: String, val locator: String, val type: String)

An External Reference allows a Package to reference an external source of additional information, metadata, enumerations, asset identifiers, or downloadable content believed to be relevant to the Package

Link copied to clipboard
data class FileLocationResponse(val filePath: String)

Indicates the location at which a package was found.

Link copied to clipboard
data class FileNoteResponse(val checksum: List<String>, val fileType: String, val title: String)

FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/

Link copied to clipboard
data class FileOccurrenceResponse(val attributions: List<String>, val comment: String, val contributors: List<String>, val copyright: String, val filesLicenseInfo: List<String>, val licenseConcluded: LicenseResponse, val notice: String)

FileOccurrence represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/

Link copied to clipboard
data class FingerprintResponse(val v1Name: String, val v2Blob: List<String>, val v2Name: String)

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

Link copied to clipboard
data class GetNoteIamPolicyResult(val bindings: List<BindingResponse>, val etag: String, val version: Int)
Link copied to clipboard
data class GetNoteResult(val attestationAuthority: AttestationAuthorityResponse, val baseImage: BasisResponse, val buildType: BuildTypeResponse, val compliance: ComplianceNoteResponse, val createTime: String, val deployable: DeployableResponse, val discovery: DiscoveryResponse, val dsseAttestation: DSSEAttestationNoteResponse, val expirationTime: String, val kind: String, val longDescription: String, val name: String, val package: PackageResponse, val relatedUrl: List<RelatedUrlResponse>, val sbom: DocumentNoteResponse, val sbomReference: SBOMReferenceNoteResponse, val shortDescription: String, val spdxFile: FileNoteResponse, val spdxPackage: PackageInfoNoteResponse, val spdxRelationship: RelationshipNoteResponse, val updateTime: String, val upgrade: UpgradeNoteResponse, val vulnerabilityAssessment: VulnerabilityAssessmentNoteResponse, val vulnerabilityType: VulnerabilityTypeResponse)
Link copied to clipboard
data class GetOccurrenceIamPolicyResult(val bindings: List<BindingResponse>, val etag: String, val version: Int)
Link copied to clipboard
data class GetOccurrenceResult(val attestation: AttestationResponse, val buildDetails: BuildDetailsResponse, val compliance: ComplianceOccurrenceResponse, val createTime: String, val deployment: DeploymentResponse, val derivedImage: DerivedResponse, val discovered: DiscoveredResponse, val dsseAttestation: DSSEAttestationOccurrenceResponse, val envelope: EnvelopeResponse, val installation: InstallationResponse, val kind: String, val name: String, val noteName: String, val remediation: String, val resource: ResourceResponse, val resourceUrl: String, val sbom: DocumentOccurrenceResponse, val sbomReference: SBOMReferenceOccurrenceResponse, val spdxFile: FileOccurrenceResponse, val spdxPackage: PackageInfoOccurrenceResponse, val spdxRelationship: RelationshipOccurrenceResponse, val updateTime: String, val upgrade: UpgradeOccurrenceResponse, val vulnerabilityDetails: VulnerabilityDetailsResponse)
Link copied to clipboard
data class GetProviderNoteIamPolicyResult(val bindings: List<BindingResponse>, val etag: String, val version: Int)

An alias to a repo revision.

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

A SourceContext referring to a Gerrit project.

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

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

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

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

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

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

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.

Link copied to clipboard
data class HashResponse(val type: String, val value: String)

Container message for hash values.

Link copied to clipboard
data class IdentifierHelperResponse(val field: String, val genericUri: String)

Helps in identifying the underlying product. This should be treated like a one-of field. Only one field should be set in this proto. This is a workaround because spanner indexes on one-of fields restrict addition and deletion of fields.

Link copied to clipboard
data class InstallationResponse(val architecture: String, val cpeUri: String, val license: LicenseResponse, val location: List<LocationResponse>, val name: String, val packageType: String, val version: VersionResponse)

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

Link copied to clipboard
data class InTotoProvenanceResponse(val builderConfig: BuilderConfigResponse, val materials: List<String>, val metadata: MetadataResponse, val recipe: RecipeResponse)
Link copied to clipboard
data class InTotoStatementResponse(val predicateType: String, val provenance: InTotoProvenanceResponse, val slsaProvenance: SlsaProvenanceResponse, val slsaProvenanceZeroTwo: SlsaProvenanceZeroTwoResponse, val subject: List<SubjectResponse>, val type: String)

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".

Link copied to clipboard
data class JustificationResponse(val details: String, val justificationType: String)

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

Link copied to clipboard
data class LayerResponse(val arguments: String, val directive: String)

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

Link copied to clipboard
data class LicenseResponse(val comments: String, val expression: String)

License information.

Link copied to clipboard
data class LocationResponse(val cpeUri: String, val path: String, val version: VersionResponse)

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

Link copied to clipboard
data class MaterialResponse(val digest: Map<String, String>, val uri: String)

Material is a material used in the generation of the provenance

Link copied to clipboard
data class MetadataResponse(val buildFinishedOn: String, val buildInvocationId: String, val buildStartedOn: String, val completeness: CompletenessResponse, val reproducible: Boolean)

Other properties of the build.

Link copied to clipboard
data class NonCompliantFileResponse(val displayCommand: String, val path: String, val reason: String)

Details about files that caused a compliance check to fail.

Link copied to clipboard
data class OperationResponse(val done: Boolean, val error: StatusResponse, val metadata: Map<String, String>, val name: String, val response: Map<String, String>)

This resource represents a long-running operation that is the result of a network API call.

Link copied to clipboard
data class PackageInfoNoteResponse(val analyzed: Boolean, val attribution: String, val checksum: String, val copyright: String, val detailedDescription: String, val downloadLocation: String, val externalRefs: List<ExternalRefResponse>, val filesLicenseInfo: List<String>, val homePage: String, val licenseDeclared: LicenseResponse, val originator: String, val packageType: String, val summaryDescription: String, val supplier: String, val title: String, val verificationCode: String, val version: String)

PackageInfoNote represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/

Link copied to clipboard
data class PackageInfoOccurrenceResponse(val comment: String, val filename: String, val homePage: String, val licenseConcluded: LicenseResponse, val packageType: String, val sourceInfo: String, val summaryDescription: String, val title: String, val version: String)

PackageInfoOccurrence represents an SPDX Package Information section: https://spdx.github.io/spdx-spec/3-package-information/

Link copied to clipboard
data class PackageIssueResponse(val affectedLocation: VulnerabilityLocationResponse, val effectiveSeverity: String, val fixedLocation: VulnerabilityLocationResponse, val packageType: String, val severityName: String)

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

Link copied to clipboard
data class PackageResponse(val architecture: String, val cpeUri: String, val description: String, val digest: List<DigestResponse>, val distribution: List<DistributionResponse>, val license: LicenseResponse, val maintainer: String, val name: String, val packageType: String, val url: String, val version: VersionResponse)

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

Link copied to clipboard
data class PgpSignedAttestationResponse(val contentType: String, val pgpKeyId: String, val signature: String)

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.

Link copied to clipboard
data class ProductResponse(val identifierHelper: IdentifierHelperResponse, val name: String)

Product contains information about a product and how to uniquely identify it.

Link copied to clipboard
data class PublisherResponse(val issuingAuthority: String, val name: String, val publisherNamespace: String)

Publisher contains information about the publisher of this Note.

Link copied to clipboard
data class RecipeResponse(val arguments: List<Map<String, String>>, val definedInMaterial: String, val entryPoint: String, val environment: List<Map<String, String>>, val type: String)

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

Link copied to clipboard
data class RelatedUrlResponse(val label: String, val url: String)

Metadata for any related URL information

Link copied to clipboard
data class RelationshipNoteResponse(val type: String)

RelationshipNote represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/

Link copied to clipboard
data class RelationshipOccurrenceResponse(val comment: String, val source: String, val target: String, val type: String)

RelationshipOccurrence represents an SPDX Relationship section: https://spdx.github.io/spdx-spec/7-relationships-between-SPDX-elements/

Link copied to clipboard
data class RemediationResponse(val details: String, val remediationType: String, val remediationUri: URIResponse)

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

Link copied to clipboard
data class RepoSourceResponse(val branchName: String, val commitSha: String, val project: String, val repoName: String, val tagName: String)

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

Link copied to clipboard
data class ResourceResponse(val contentHash: HashResponse, val name: String, val uri: String)

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

Link copied to clipboard
data class SbomReferenceIntotoPayloadResponse(val predicate: SbomReferenceIntotoPredicateResponse, val predicateType: String, val subject: List<SubjectResponse>, val type: String)

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.

Link copied to clipboard
data class SbomReferenceIntotoPredicateResponse(val digest: Map<String, String>, val location: String, val mimeType: String, val referrerId: String)

A predicate which describes the SBOM being referenced.

Link copied to clipboard
data class SBOMReferenceNoteResponse(val format: String, val version: String)

The note representing an SBOM reference.

Link copied to clipboard

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.

Link copied to clipboard

SlsaBuilder encapsulates the identity of the builder of this provenance.

Link copied to clipboard
data class SlsaCompletenessResponse(val arguments: Boolean, val environment: Boolean, val materials: Boolean)

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

Link copied to clipboard
data class SlsaMetadataResponse(val buildFinishedOn: String, val buildInvocationId: String, val buildStartedOn: String, val completeness: SlsaCompletenessResponse, val reproducible: Boolean)

Other properties of the build.

Link copied to clipboard
data class SlsaProvenanceResponse(val builder: SlsaBuilderResponse, val materials: List<MaterialResponse>, val metadata: SlsaMetadataResponse, val recipe: SlsaRecipeResponse)

SlsaProvenance is the slsa provenance as defined by the slsa spec.

Link copied to clipboard

SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2.

Link copied to clipboard
data class SlsaRecipeResponse(val arguments: Map<String, String>, val definedInMaterial: String, val entryPoint: String, val environment: Map<String, String>, val type: String)

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

Link copied to clipboard
data class SourceResponse(val additionalContexts: List<GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse>, val artifactStorageSource: StorageSourceResponse, val context: GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse, val fileHashes: Map<String, String>, val repoSource: RepoSourceResponse, val storageSource: StorageSourceResponse)

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

Link copied to clipboard
data class StatusResponse(val code: Int, val details: List<Map<String, String>>, val message: String)

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

Link copied to clipboard
data class StorageSourceResponse(val bucket: String, val generation: String, val object: String)

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

Link copied to clipboard
data class SubjectResponse(val digest: Map<String, String>, val name: String)

Subject refers to the subject of the intoto statement

Link copied to clipboard
data class UpgradeDistributionResponse(val classification: String, val cpeUri: String, val cve: List<String>, val severity: String)

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.

Link copied to clipboard
data class UpgradeNoteResponse(val distributions: List<UpgradeDistributionResponse>, val package: String, val version: VersionResponse)

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 a Upgrade Note.

Link copied to clipboard
data class UpgradeOccurrenceResponse(val distribution: UpgradeDistributionResponse, val package: String, val parsedVersion: VersionResponse)

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).

Link copied to clipboard
data class URIResponse(val label: String, val uri: String)

An URI message.

Link copied to clipboard
data class VersionResponse(val epoch: Int, val inclusive: Boolean, val kind: String, val name: String, val revision: String)

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/

Link copied to clipboard
data class VexAssessmentResponse(val cve: String, val impacts: List<String>, val justification: JustificationResponse, val noteName: String, val relatedUris: List<URIResponse>, val remediations: List<RemediationResponse>, val state: String)

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

Link copied to clipboard
data class VulnerabilityAssessmentNoteResponse(val assessment: AssessmentResponse, val languageCode: String, val longDescription: String, val product: ProductResponse, val publisher: PublisherResponse, val shortDescription: String, val title: String)

A single VulnerabilityAssessmentNote represents one particular product's vulnerability assessment for one CVE. Multiple VulnerabilityAssessmentNotes together form a Vex statement. Please go/sds-vex-example for a sample Vex statement in the CSAF format.

Link copied to clipboard
data class VulnerabilityDetailsResponse(val cvssScore: Double, val cvssV2: CVSSResponse, val cvssV3: CVSSResponse, val cvssVersion: String, val effectiveSeverity: String, val packageIssue: List<PackageIssueResponse>, val severity: String, val type: String, val vexAssessment: VexAssessmentResponse)

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

Link copied to clipboard
data class VulnerabilityLocationResponse(val cpeUri: String, val fileLocation: List<FileLocationResponse>, val package: String, val version: VersionResponse)

The location of the vulnerability

Link copied to clipboard
data class VulnerabilityTypeResponse(val cvssScore: Double, val cvssV2: CVSSResponse, val cvssVersion: String, val cwe: List<String>, val details: List<DetailResponse>, val severity: String)

VulnerabilityType provides metadata about a security vulnerability.