xref: /aosp_15_r20/external/googleapis/grafeas/v1/cvss.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2019 The Grafeas Authors. All rights reserved.
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//    http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage grafeas.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
20*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
21*d5c09012SAndroid Build Coastguard Workeroption java_package = "io.grafeas.v1";
22*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GRA";
23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "CVSSProto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Worker// Common Vulnerability Scoring System version 3.
26*d5c09012SAndroid Build Coastguard Worker// For details, see https://www.first.org/cvss/specification-document
27*d5c09012SAndroid Build Coastguard Workermessage CVSSv3 {
28*d5c09012SAndroid Build Coastguard Worker  // The base score is a function of the base metric scores.
29*d5c09012SAndroid Build Coastguard Worker  float base_score = 1;
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker  float exploitability_score = 2;
32*d5c09012SAndroid Build Coastguard Worker
33*d5c09012SAndroid Build Coastguard Worker  float impact_score = 3;
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker  // Base Metrics
36*d5c09012SAndroid Build Coastguard Worker  // Represents the intrinsic characteristics of a vulnerability that are
37*d5c09012SAndroid Build Coastguard Worker  // constant over time and across user environments.
38*d5c09012SAndroid Build Coastguard Worker  AttackVector attack_vector = 5;
39*d5c09012SAndroid Build Coastguard Worker  AttackComplexity attack_complexity = 6;
40*d5c09012SAndroid Build Coastguard Worker  PrivilegesRequired privileges_required = 7;
41*d5c09012SAndroid Build Coastguard Worker  UserInteraction user_interaction = 8;
42*d5c09012SAndroid Build Coastguard Worker  Scope scope = 9;
43*d5c09012SAndroid Build Coastguard Worker  Impact confidentiality_impact = 10;
44*d5c09012SAndroid Build Coastguard Worker  Impact integrity_impact = 11;
45*d5c09012SAndroid Build Coastguard Worker  Impact availability_impact = 12;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  enum AttackVector {
48*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_UNSPECIFIED = 0;
49*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_NETWORK = 1;
50*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_ADJACENT = 2;
51*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_LOCAL = 3;
52*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_PHYSICAL = 4;
53*d5c09012SAndroid Build Coastguard Worker  }
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker  enum AttackComplexity {
56*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_UNSPECIFIED = 0;
57*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_LOW = 1;
58*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_HIGH = 2;
59*d5c09012SAndroid Build Coastguard Worker  }
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker  enum PrivilegesRequired {
62*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
63*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_NONE = 1;
64*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_LOW = 2;
65*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_HIGH = 3;
66*d5c09012SAndroid Build Coastguard Worker  }
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker  enum UserInteraction {
69*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_UNSPECIFIED = 0;
70*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_NONE = 1;
71*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_REQUIRED = 2;
72*d5c09012SAndroid Build Coastguard Worker  }
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker  enum Scope {
75*d5c09012SAndroid Build Coastguard Worker    SCOPE_UNSPECIFIED = 0;
76*d5c09012SAndroid Build Coastguard Worker    SCOPE_UNCHANGED = 1;
77*d5c09012SAndroid Build Coastguard Worker    SCOPE_CHANGED = 2;
78*d5c09012SAndroid Build Coastguard Worker  }
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  enum Impact {
81*d5c09012SAndroid Build Coastguard Worker    IMPACT_UNSPECIFIED = 0;
82*d5c09012SAndroid Build Coastguard Worker    IMPACT_HIGH = 1;
83*d5c09012SAndroid Build Coastguard Worker    IMPACT_LOW = 2;
84*d5c09012SAndroid Build Coastguard Worker    IMPACT_NONE = 3;
85*d5c09012SAndroid Build Coastguard Worker  }
86*d5c09012SAndroid Build Coastguard Worker}
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker// Common Vulnerability Scoring System.
89*d5c09012SAndroid Build Coastguard Worker// For details, see https://www.first.org/cvss/specification-document
90*d5c09012SAndroid Build Coastguard Worker// This is a message we will try to use for storing various versions of CVSS
91*d5c09012SAndroid Build Coastguard Worker// rather than making a separate proto for storing a specific version.
92*d5c09012SAndroid Build Coastguard Workermessage CVSS {
93*d5c09012SAndroid Build Coastguard Worker  // The base score is a function of the base metric scores.
94*d5c09012SAndroid Build Coastguard Worker  float base_score = 1;
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  float exploitability_score = 2;
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  float impact_score = 3;
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker  // Base Metrics
101*d5c09012SAndroid Build Coastguard Worker  // Represents the intrinsic characteristics of a vulnerability that are
102*d5c09012SAndroid Build Coastguard Worker  // constant over time and across user environments.
103*d5c09012SAndroid Build Coastguard Worker  AttackVector attack_vector = 4;
104*d5c09012SAndroid Build Coastguard Worker  AttackComplexity attack_complexity = 5;
105*d5c09012SAndroid Build Coastguard Worker  Authentication authentication = 6;
106*d5c09012SAndroid Build Coastguard Worker  PrivilegesRequired privileges_required = 7;
107*d5c09012SAndroid Build Coastguard Worker  UserInteraction user_interaction = 8;
108*d5c09012SAndroid Build Coastguard Worker  Scope scope = 9;
109*d5c09012SAndroid Build Coastguard Worker  Impact confidentiality_impact = 10;
110*d5c09012SAndroid Build Coastguard Worker  Impact integrity_impact = 11;
111*d5c09012SAndroid Build Coastguard Worker  Impact availability_impact = 12;
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  enum AttackVector {
114*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_UNSPECIFIED = 0;
115*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_NETWORK = 1;
116*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_ADJACENT = 2;
117*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_LOCAL = 3;
118*d5c09012SAndroid Build Coastguard Worker    ATTACK_VECTOR_PHYSICAL = 4;
119*d5c09012SAndroid Build Coastguard Worker  }
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  enum AttackComplexity {
122*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_UNSPECIFIED = 0;
123*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_LOW = 1;
124*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_HIGH = 2;
125*d5c09012SAndroid Build Coastguard Worker    ATTACK_COMPLEXITY_MEDIUM = 3;
126*d5c09012SAndroid Build Coastguard Worker  }
127*d5c09012SAndroid Build Coastguard Worker
128*d5c09012SAndroid Build Coastguard Worker  enum Authentication {
129*d5c09012SAndroid Build Coastguard Worker    AUTHENTICATION_UNSPECIFIED = 0;
130*d5c09012SAndroid Build Coastguard Worker    AUTHENTICATION_MULTIPLE = 1;
131*d5c09012SAndroid Build Coastguard Worker    AUTHENTICATION_SINGLE = 2;
132*d5c09012SAndroid Build Coastguard Worker    AUTHENTICATION_NONE = 3;
133*d5c09012SAndroid Build Coastguard Worker  }
134*d5c09012SAndroid Build Coastguard Worker
135*d5c09012SAndroid Build Coastguard Worker  enum PrivilegesRequired {
136*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
137*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_NONE = 1;
138*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_LOW = 2;
139*d5c09012SAndroid Build Coastguard Worker    PRIVILEGES_REQUIRED_HIGH = 3;
140*d5c09012SAndroid Build Coastguard Worker  }
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker  enum UserInteraction {
143*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_UNSPECIFIED = 0;
144*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_NONE = 1;
145*d5c09012SAndroid Build Coastguard Worker    USER_INTERACTION_REQUIRED = 2;
146*d5c09012SAndroid Build Coastguard Worker  }
147*d5c09012SAndroid Build Coastguard Worker
148*d5c09012SAndroid Build Coastguard Worker  enum Scope {
149*d5c09012SAndroid Build Coastguard Worker    SCOPE_UNSPECIFIED = 0;
150*d5c09012SAndroid Build Coastguard Worker    SCOPE_UNCHANGED = 1;
151*d5c09012SAndroid Build Coastguard Worker    SCOPE_CHANGED = 2;
152*d5c09012SAndroid Build Coastguard Worker  }
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker  enum Impact {
155*d5c09012SAndroid Build Coastguard Worker    IMPACT_UNSPECIFIED = 0;
156*d5c09012SAndroid Build Coastguard Worker    IMPACT_HIGH = 1;
157*d5c09012SAndroid Build Coastguard Worker    IMPACT_LOW = 2;
158*d5c09012SAndroid Build Coastguard Worker    IMPACT_NONE = 3;
159*d5c09012SAndroid Build Coastguard Worker    IMPACT_PARTIAL = 4;
160*d5c09012SAndroid Build Coastguard Worker    IMPACT_COMPLETE = 5;
161*d5c09012SAndroid Build Coastguard Worker  }
162*d5c09012SAndroid Build Coastguard Worker}
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker// CVSS Version.
165*d5c09012SAndroid Build Coastguard Workerenum CVSSVersion {
166*d5c09012SAndroid Build Coastguard Worker  CVSS_VERSION_UNSPECIFIED = 0;
167*d5c09012SAndroid Build Coastguard Worker  CVSS_VERSION_2 = 1;
168*d5c09012SAndroid Build Coastguard Worker  CVSS_VERSION_3 = 2;
169*d5c09012SAndroid Build Coastguard Worker}
170