cvss.proto 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // Copyright 2018 The Grafeas Authors. All rights reserved.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package grafeas.v1beta1.vulnerability;
  16. option go_package = "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1/cvss;cvss";
  17. option java_multiple_files = true;
  18. option java_package = "io.grafeas.v1beta1.vulnerability";
  19. option objc_class_prefix = "GRA";
  20. // Common Vulnerability Scoring System version 3.
  21. // For details, see https://www.first.org/cvss/specification-document
  22. message CVSSv3 {
  23. // The base score is a function of the base metric scores.
  24. float base_score = 1;
  25. float exploitability_score = 2;
  26. float impact_score = 3;
  27. // Base Metrics
  28. // Represents the intrinsic characteristics of a vulnerability that are
  29. // constant over time and across user environments.
  30. AttackVector attack_vector = 5;
  31. AttackComplexity attack_complexity = 6;
  32. PrivilegesRequired privileges_required = 7;
  33. UserInteraction user_interaction = 8;
  34. Scope scope = 9;
  35. Impact confidentiality_impact = 10;
  36. Impact integrity_impact = 11;
  37. Impact availability_impact = 12;
  38. enum AttackVector {
  39. ATTACK_VECTOR_UNSPECIFIED = 0;
  40. ATTACK_VECTOR_NETWORK = 1;
  41. ATTACK_VECTOR_ADJACENT = 2;
  42. ATTACK_VECTOR_LOCAL = 3;
  43. ATTACK_VECTOR_PHYSICAL = 4;
  44. }
  45. enum AttackComplexity {
  46. ATTACK_COMPLEXITY_UNSPECIFIED = 0;
  47. ATTACK_COMPLEXITY_LOW = 1;
  48. ATTACK_COMPLEXITY_HIGH = 2;
  49. }
  50. enum PrivilegesRequired {
  51. PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
  52. PRIVILEGES_REQUIRED_NONE = 1;
  53. PRIVILEGES_REQUIRED_LOW = 2;
  54. PRIVILEGES_REQUIRED_HIGH = 3;
  55. }
  56. enum UserInteraction {
  57. USER_INTERACTION_UNSPECIFIED = 0;
  58. USER_INTERACTION_NONE = 1;
  59. USER_INTERACTION_REQUIRED = 2;
  60. }
  61. enum Scope {
  62. SCOPE_UNSPECIFIED = 0;
  63. SCOPE_UNCHANGED = 1;
  64. SCOPE_CHANGED = 2;
  65. }
  66. enum Impact {
  67. IMPACT_UNSPECIFIED = 0;
  68. IMPACT_HIGH = 1;
  69. IMPACT_LOW = 2;
  70. IMPACT_NONE = 3;
  71. }
  72. }