You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
3.4 KiB
102 lines
3.4 KiB
// Copyright 2018 Google Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.devtools.containeranalysis.v1alpha1;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/devtools/containeranalysis/v1alpha1/package_vulnerability.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1alpha1;containeranalysis";
|
|
option java_multiple_files = true;
|
|
option java_package = "com.google.containeranalysis.v1alpha1";
|
|
option objc_class_prefix = "GCA";
|
|
|
|
// PackageManager provides metadata about available / installed packages.
|
|
message PackageManager {
|
|
// This represents a particular channel of distribution for a given package.
|
|
// e.g. Debian's jessie-backports dpkg mirror
|
|
message Distribution {
|
|
// The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
|
|
// denoting the package manager version distributing a package.
|
|
string cpe_uri = 1;
|
|
|
|
// The CPU architecture for which packages in this distribution
|
|
// channel were built
|
|
Architecture architecture = 2;
|
|
|
|
// The latest available version of this package in
|
|
// this distribution channel.
|
|
VulnerabilityType.Version latest_version = 3;
|
|
|
|
// A freeform string denoting the maintainer of this package.
|
|
string maintainer = 4;
|
|
|
|
// The distribution channel-specific homepage for this package.
|
|
string url = 6;
|
|
|
|
// The distribution channel-specific description of this package.
|
|
string description = 7;
|
|
}
|
|
|
|
// An occurrence of a particular package installation found within a
|
|
// system's filesystem.
|
|
// e.g. glibc was found in /var/lib/dpkg/status
|
|
message Location {
|
|
// The cpe_uri in [cpe format](https://cpe.mitre.org/specification/)
|
|
// denoting the package manager version distributing a package.
|
|
string cpe_uri = 1;
|
|
|
|
// The version installed at this location.
|
|
VulnerabilityType.Version version = 2;
|
|
|
|
// The path from which we gathered that this package/version is installed.
|
|
string path = 3;
|
|
}
|
|
|
|
// This represents a particular package that is distributed over
|
|
// various channels.
|
|
// e.g. glibc (aka libc6) is distributed by many, at various versions.
|
|
message Package {
|
|
// The name of the package.
|
|
string name = 1;
|
|
|
|
// The various channels by which a package is distributed.
|
|
repeated Distribution distribution = 10;
|
|
}
|
|
|
|
// This represents how a particular software package may be installed on
|
|
// a system.
|
|
message Installation {
|
|
// Output only. The name of the installed package.
|
|
string name = 1;
|
|
|
|
// All of the places within the filesystem versions of this package
|
|
// have been found.
|
|
repeated Location location = 2;
|
|
}
|
|
|
|
// Instruction set architectures supported by various package managers.
|
|
enum Architecture {
|
|
// Unknown architecture
|
|
ARCHITECTURE_UNSPECIFIED = 0;
|
|
|
|
// X86 architecture
|
|
X86 = 1;
|
|
|
|
// X64 architecture
|
|
X64 = 2;
|
|
}
|
|
}
|
|
|