diff --git a/ee/elastic/docs/20250929100948_add_risk_score_field_to_vulnerability.yml b/ee/elastic/docs/20250929100948_add_risk_score_field_to_vulnerability.yml new file mode 100644 index 0000000000000000000000000000000000000000..89da2695294a2007b89d5d500758dce46fe2d42c --- /dev/null +++ b/ee/elastic/docs/20250929100948_add_risk_score_field_to_vulnerability.yml @@ -0,0 +1,11 @@ +--- +name: AddRiskScoreFieldToVulnerability +version: '20250929100948' +description: Adds the vulnerability risk score field to the Vulnerability index. + The risk score will synced from vulnerability_finding_risk_scores table +group: group::security infrastructure +milestone: '18.5' +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/206657 +obsolete: false +marked_obsolete_by_url: +marked_obsolete_in_milestone: diff --git a/ee/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability.rb b/ee/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability.rb new file mode 100644 index 0000000000000000000000000000000000000000..0c16b8f43030bce5f0898f7354fe2e2d7dcc1a4f --- /dev/null +++ b/ee/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddRiskScoreFieldToVulnerability < Elastic::Migration + include ::Search::Elastic::MigrationUpdateMappingsHelper + + DOCUMENT_TYPE = Vulnerability + + private + + def new_mappings + { + risk_score: { + type: 'float' + } + } + end +end diff --git a/ee/lib/search/elastic/types/vulnerability.rb b/ee/lib/search/elastic/types/vulnerability.rb index 6eebc4f429d0e7edd99ec46840295127f345b7e9..9866d03ffa2590f2ad1f045ddf1f990966599bf5 100644 --- a/ee/lib/search/elastic/types/vulnerability.rb +++ b/ee/lib/search/elastic/types/vulnerability.rb @@ -72,6 +72,7 @@ def base_mappings epss_scores: { type: 'float' }, reachability: { type: 'short' }, # enum token_status: { type: 'short' }, # enum + risk_score: { type: 'float' }, schema_version: { type: 'short' } } end diff --git a/ee/spec/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability_spec.rb b/ee/spec/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..291a32dadf7ae1747500587f9b446b5a3d98c450 --- /dev/null +++ b/ee/spec/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability_spec.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +require 'spec_helper' +require File.expand_path('ee/elastic/migrate/20250929100948_add_risk_score_field_to_vulnerability.rb') + +RSpec.describe AddRiskScoreFieldToVulnerability, :elastic, feature_category: :vulnerability_management do + let(:version) { 20250929100948 } + + include_examples 'migration adds mapping' +end diff --git a/ee/spec/lib/search/elastic/types/vulnerability_spec.rb b/ee/spec/lib/search/elastic/types/vulnerability_spec.rb index 235db7dee6e05e99b197982bd60a19b2ad9736b4..8b818c4a430339dae6e4d21582dded4128725709 100644 --- a/ee/spec/lib/search/elastic/types/vulnerability_spec.rb +++ b/ee/spec/lib/search/elastic/types/vulnerability_spec.rb @@ -34,6 +34,7 @@ :epss_scores, :reachability, :token_status, + :risk_score, :schema_version] end