diff --git a/ee/spec/requests/api/vulnerabilities_spec.rb b/ee/spec/requests/api/vulnerabilities_spec.rb
index 4de0c264654d03174261f4526671afc3f0b6f720..30835cbeb89192921780787b43110b6075da5172 100644
--- a/ee/spec/requests/api/vulnerabilities_spec.rb
+++ b/ee/spec/requests/api/vulnerabilities_spec.rb
@@ -24,7 +24,7 @@
         project.add_developer(user)
       end
 
-      it 'returns all vulnerabilities of a project' do
+      it 'returns all vulnerabilities of a project', :aggregate_failures do
         get_vulnerabilities
 
         expect(response).to have_gitlab_http_status(:ok)
@@ -36,7 +36,7 @@
       context 'with pagination' do
         let(:project_vulnerabilities_path) { "#{super()}?page=3&per_page=1" }
 
-        it 'paginates the vulnerabilities according to the pagination params' do
+        it 'paginates the vulnerabilities according to the pagination params', :aggregate_failures do
           low_severity_vulnerability = create(:vulnerability, :with_finding, project: project, severity: :low)
 
           get_vulnerabilities
@@ -49,7 +49,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { get_vulnerabilities }.to be_allowed_for(:admin) }
       it { expect { get_vulnerabilities }.to be_allowed_for(:owner).of(project) }
       it { expect { get_vulnerabilities }.to be_allowed_for(:maintainer).of(project) }
@@ -75,7 +75,7 @@
         project.add_developer(user)
       end
 
-      it 'returns the desired vulnerability' do
+      it 'returns the desired vulnerability', :aggregate_failures do
         get_vulnerability
 
         expect(response).to have_gitlab_http_status(:ok)
@@ -83,7 +83,7 @@
         expect(json_response['id']).to eq vulnerability_id
       end
 
-      it 'returns the desired findings' do
+      it 'returns the desired findings', :aggregate_failures do
         get_vulnerability
 
         expect(response).to have_gitlab_http_status(:ok)
@@ -95,7 +95,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { get_vulnerability }.to be_allowed_for(:admin) }
       it { expect { get_vulnerability }.to be_allowed_for(:owner).of(project) }
       it { expect { get_vulnerability }.to be_allowed_for(:maintainer).of(project) }
@@ -122,7 +122,7 @@
         project.add_developer(user)
       end
 
-      it 'creates a vulnerability from finding and attaches it to the vulnerability' do
+      it 'creates a vulnerability from finding and attaches it to the vulnerability', :aggregate_failures do
         expect { subject }.to change { project.vulnerabilities.count }.by(1)
         expect(project.vulnerabilities.last).to(
           have_attributes(
@@ -143,7 +143,7 @@
       context 'when finding id is unknown' do
         let(:finding_id) { 0 }
 
-        it 'responds with expected error' do
+        it 'responds with expected error', :aggregate_failures do
           subject
 
           expect(response).to have_gitlab_http_status(:bad_request)
@@ -156,7 +156,7 @@
           create(:vulnerability, findings: [finding], project: finding.project)
         end
 
-        it 'rejects creation of a new vulnerability from this finding' do
+        it 'rejects creation of a new vulnerability from this finding', :aggregate_failures do
           subject
 
           expect(response).to have_gitlab_http_status(:bad_request)
@@ -167,7 +167,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { create_vulnerability }.to be_allowed_for(:admin) }
       it { expect { create_vulnerability }.to be_allowed_for(:owner).of(project) }
       it { expect { create_vulnerability }.to be_allowed_for(:maintainer).of(project) }
@@ -202,7 +202,7 @@
           stub_feature_flags(deprecate_vulnerabilities_feedback: false)
         end
 
-        it 'dismisses a vulnerability and its associated findings' do
+        it 'dismisses a vulnerability and its associated findings', :aggregate_failures do
           freeze_time do
             dismiss_vulnerability
 
@@ -240,7 +240,7 @@
           Grape::Endpoint.before_each nil
         end
 
-        it 'responds with error' do
+        it 'responds with error', :aggregate_failures do
           dismiss_vulnerability
 
           expect(response).to have_gitlab_http_status(:bad_request)
@@ -261,7 +261,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { dismiss_vulnerability }.to be_allowed_for(:admin) }
       it { expect { dismiss_vulnerability }.to be_allowed_for(:owner).of(project) }
       it { expect { dismiss_vulnerability }.to be_allowed_for(:maintainer).of(project) }
@@ -291,7 +291,7 @@
         project.add_developer(user)
       end
 
-      it 'resolves a vulnerability and its associated findings' do
+      it 'resolves a vulnerability and its associated findings', :aggregate_failures do
         freeze_time do
           resolve_vulnerability
 
@@ -311,7 +311,7 @@
           post api("/vulnerabilities/#{vulnerability_id}/resolve", user), params: { comment: comment }
         end
 
-        it 'adds the comment to the vulnerability state transition' do
+        it 'adds the comment to the vulnerability state transition', :aggregate_failures do
           resolve_vulnerability
 
           expect(response).to have_gitlab_http_status(:created)
@@ -336,7 +336,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { resolve_vulnerability }.to be_allowed_for(:admin) }
       it { expect { resolve_vulnerability }.to be_allowed_for(:owner).of(project) }
       it { expect { resolve_vulnerability }.to be_allowed_for(:maintainer).of(project) }
@@ -371,7 +371,7 @@
         project.add_developer(user)
       end
 
-      it 'confirms a vulnerability and its associated findings' do
+      it 'confirms a vulnerability and its associated findings', :aggregate_failures do
         freeze_time do
           confirm_vulnerability
 
@@ -400,7 +400,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { confirm_vulnerability }.to be_allowed_for(:admin) }
       it { expect { confirm_vulnerability }.to be_allowed_for(:owner).of(project) }
       it { expect { confirm_vulnerability }.to be_allowed_for(:maintainer).of(project) }
@@ -473,7 +473,7 @@
           Grape::Endpoint.before_each nil
         end
 
-        it 'responds with error' do
+        it 'responds with error', :aggregate_failures do
           revert_vulnerability_to_detected
 
           expect(response).to have_gitlab_http_status(:bad_request)
@@ -494,7 +494,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { revert_vulnerability_to_detected }.to be_allowed_for(:admin) }
       it { expect { revert_vulnerability_to_detected }.to be_allowed_for(:owner).of(project) }
       it { expect { revert_vulnerability_to_detected }.to be_allowed_for(:maintainer).of(project) }
diff --git a/ee/spec/requests/api/vulnerability_exports_spec.rb b/ee/spec/requests/api/vulnerability_exports_spec.rb
index 41f49df55649afcc54a3f48a200cf245975a7ae7..a8a6c931870ee2e490403dd6e041d081fc05f12e 100644
--- a/ee/spec/requests/api/vulnerability_exports_spec.rb
+++ b/ee/spec/requests/api/vulnerability_exports_spec.rb
@@ -22,7 +22,7 @@
     context 'when the request does not fulfill the requirements' do
       let(:format) { 'exif' }
 
-      it 'responds with bad_request' do
+      it 'responds with bad_request', :aggregate_failures do
         create_vulnerability_export
 
         expect(response).to have_gitlab_http_status(:bad_request)
@@ -54,7 +54,7 @@
         context 'when the export creation succeeds' do
           let(:vulnerability_export) { create(:vulnerability_export) }
 
-          it 'returns information about new vulnerability export' do
+          it 'returns information about new vulnerability export', :aggregate_failures do
             create_vulnerability_export
 
             expect(response).to have_gitlab_http_status(:created)
@@ -66,7 +66,7 @@
           let(:errors) { instance_double(ActiveModel::Errors, any?: true, messages: ['foo']) }
           let(:vulnerability_export) { instance_double(Vulnerabilities::Export, persisted?: false, errors: errors) }
 
-          it 'returns the error message' do
+          it 'returns the error message', :aggregate_failures do
             create_vulnerability_export
 
             expect(response).to have_gitlab_http_status(:bad_request)
@@ -89,7 +89,7 @@
       let(:deny_setup) { project.add_guest(user) }
       let(:permission_setup) { project.add_developer(user) }
 
-      describe 'permissions' do
+      describe 'permissions', :enable_admin_mode do
         it { expect { create_vulnerability_export }.to be_allowed_for(:admin) }
         it { expect { create_vulnerability_export }.to be_allowed_for(:owner).of(project) }
         it { expect { create_vulnerability_export }.to be_allowed_for(:maintainer).of(project) }
@@ -132,7 +132,7 @@
       end
 
       context 'when export is finished' do
-        it 'returns information about vulnerability export' do
+        it 'returns information about vulnerability export', :aggregate_failures do
           get_vulnerability_export
 
           expect(response).to have_gitlab_http_status(:ok)
@@ -150,7 +150,7 @@
       context 'when export is running' do
         let_it_be(:vulnerability_export) { create(:vulnerability_export, :running, :csv, project: project, author: user) }
 
-        it 'returns information about vulnerability export' do
+        it 'returns information about vulnerability export', :aggregate_failures do
           get_vulnerability_export
 
           expect(response).to have_gitlab_http_status(:accepted)
@@ -166,7 +166,7 @@
       end
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       context 'for export author' do
         before do
           project.add_developer(user)
@@ -200,7 +200,7 @@
       context 'when export is running' do
         let!(:vulnerability_export) { create(:vulnerability_export, :running, :csv, project: project, author: user) }
 
-        it 'renders 404' do
+        it 'renders 404', :aggregate_failures do
           download_vulnerability_export
 
           expect(response).to have_gitlab_http_status(:not_found)
@@ -220,7 +220,7 @@
       end
 
       context 'when export is finished' do
-        it 'renders 200 with CSV file' do
+        it 'renders 200 with CSV file', :aggregate_failures do
           download_vulnerability_export
 
           expect(response).to have_gitlab_http_status(:ok)
@@ -231,7 +231,7 @@
     end
 
     describe 'permissions' do
-      context 'for export author' do
+      context 'for export author', :enable_admin_mode do
         before do
           project.add_developer(user)
         end
diff --git a/ee/spec/requests/api/vulnerability_findings_spec.rb b/ee/spec/requests/api/vulnerability_findings_spec.rb
index 028fec78d9795fc1efdbcffdad327dff359ae04c..a139c793a8723a37e1631a7f64f81fb578acd3ef 100644
--- a/ee/spec/requests/api/vulnerability_findings_spec.rb
+++ b/ee/spec/requests/api/vulnerability_findings_spec.rb
@@ -58,7 +58,7 @@
       # That's why the page size is 40.
       let(:pagination) { { per_page: 40 } }
 
-      it 'returns all non-dismissed vulnerabilities' do
+      it 'returns all non-dismissed vulnerabilities', :aggregate_failures do
         # all findings except one that was dismissed
         finding_count = (sast_report.findings.count + ds_report.findings.count - 1).to_s
 
@@ -77,7 +77,7 @@
           stub_feature_flags(deprecate_vulnerabilities_feedback: false)
         end
 
-        it 'returns all non-dismissed vulnerabilities' do
+        it 'returns all non-dismissed vulnerabilities', :aggregate_failures do
           # all findings except one that was dismissed
           finding_count = (sast_report.findings.count + ds_report.findings.count - 1).to_s
 
@@ -119,7 +119,7 @@
         context 'when the `Security::PureFindingsFinder` is not available' do
           let(:pure_finder_available?) { false }
 
-          it 'uses the `Security::FindingsFinder`' do
+          it 'uses the `Security::FindingsFinder`', :aggregate_failures do
             expect(mock_pure_findings_finder).not_to have_received(:execute)
             expect(mock_findings_finder).to have_received(:execute)
           end
@@ -128,7 +128,7 @@
         context 'when the `Security::PureFindingsFinder` is available' do
           let(:pure_finder_available?) { true }
 
-          it 'uses the `Security::FindingsFinder`' do
+          it 'uses the `Security::FindingsFinder`', :aggregate_failures do
             expect(mock_pure_findings_finder).to have_received(:execute)
             expect(mock_findings_finder).not_to have_received(:execute)
           end
@@ -136,7 +136,7 @@
       end
 
       describe 'filtering' do
-        it 'returns vulnerabilities with sast report_type' do
+        it 'returns vulnerabilities with sast report_type', :aggregate_failures do
           finding_count = (sast_report.findings.count - 1).to_s # all SAST findings except one that was dismissed
 
           get api(project_vulnerability_findings_path, user), params: { report_type: 'sast' }
@@ -152,7 +152,7 @@
           expect(json_response.first['name']).to eq 'ECB mode is insecure'
         end
 
-        it 'returns vulnerabilities with dependency_scanning report_type' do
+        it 'returns vulnerabilities with dependency_scanning report_type', :aggregate_failures do
           finding_count = ds_report.findings.count.to_s
 
           get api(project_vulnerability_findings_path, user), params: { report_type: 'dependency_scanning' }
@@ -174,7 +174,7 @@
           expect(response).to have_gitlab_http_status(:bad_request)
         end
 
-        it 'returns dismissed vulnerabilities with `all` scope' do
+        it 'returns dismissed vulnerabilities with `all` scope', :aggregate_failures do
           finding_count = (sast_report.findings.count + ds_report.findings.count).to_s
 
           get api(project_vulnerability_findings_path, user), params: { scope: 'all' }.merge(pagination)
@@ -184,7 +184,7 @@
           expect(response.headers['X-Total']).to eq finding_count
         end
 
-        it 'returns vulnerabilities with low severity' do
+        it 'returns vulnerabilities with low severity', :aggregate_failures do
           get api(project_vulnerability_findings_path, user), params: { severity: 'low' }.merge(pagination)
 
           expect(response).to have_gitlab_http_status(:ok)
@@ -198,7 +198,7 @@
           expect(response).to have_gitlab_http_status(:bad_request)
         end
 
-        it 'returns vulnerabilities with high confidence' do
+        it 'returns vulnerabilities with high confidence', :aggregate_failures do
           get api(project_vulnerability_findings_path, user), params: { confidence: 'high' }.merge(pagination)
 
           expect(response).to have_gitlab_http_status(:ok)
@@ -213,7 +213,7 @@
         end
 
         context 'when pipeline_id is supplied' do
-          it 'returns vulnerabilities from supplied pipeline' do
+          it 'returns vulnerabilities from supplied pipeline', :aggregate_failures do
             finding_count = (sast_report.findings.count + ds_report.findings.count - 1).to_s
 
             get api(project_vulnerability_findings_path, user), params: { pipeline_id: pipeline.id }.merge(pagination)
@@ -254,7 +254,7 @@
       end
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       subject(:get_vulnerability_findings) { get api(project_vulnerability_findings_path, user) }
 
       it { expect { get_vulnerability_findings }.to be_allowed_for(:admin) }
diff --git a/ee/spec/requests/api/vulnerability_issue_links_spec.rb b/ee/spec/requests/api/vulnerability_issue_links_spec.rb
index b8164f1f49b1983908dd450fad7a309da666ba5d..527fb3c4d4933bf4629e4a2e3f6c5d035aa8a15c 100644
--- a/ee/spec/requests/api/vulnerability_issue_links_spec.rb
+++ b/ee/spec/requests/api/vulnerability_issue_links_spec.rb
@@ -49,7 +49,7 @@
 
         include_examples 'responds with list of only visible issue links'
 
-        it 'does not return confidential issue in the response' do
+        it 'does not return confidential issue in the response', :aggregate_failures do
           get_issue_links
 
           expect(json_response.map { |link| link['id'] }).not_to include(confidential_issue.id)
@@ -64,7 +64,7 @@
 
         include_examples 'responds with list of only visible issue links'
 
-        it 'does not return issue from inaccessible project' do
+        it 'does not return issue from inaccessible project', :aggregate_failures do
           get_issue_links
 
           expect(json_response.map { |link| link['id'] }).not_to include(private_issue.id)
@@ -77,7 +77,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { get_issue_links }.to be_allowed_for(:admin) }
       it { expect { get_issue_links }.to be_allowed_for(:owner).of(project) }
       it { expect { get_issue_links }.to be_allowed_for(:maintainer).of(project) }
@@ -108,7 +108,7 @@
       end
 
       context 'with valid params' do
-        it 'creates a new vulnerability-issue link' do
+        it 'creates a new vulnerability-issue link', :aggregate_failures do
           create_issue_link
 
           expect(response).to have_gitlab_http_status(:created)
@@ -149,7 +149,7 @@
             other_issue.project.add_developer(user)
           end
 
-          it 'creates a new vulnerability-issue link' do
+          it 'creates a new vulnerability-issue link', :aggregate_failures do
             create_issue_link
 
             expect(response).to have_gitlab_http_status(:created)
@@ -176,7 +176,7 @@
           create(:vulnerabilities_issue_link, vulnerability: vulnerability, issue: issue)
         end
 
-        it 'responds with "conflict" status code and specific error message' do
+        it 'responds with "conflict" status code and specific error message', :aggregate_failures do
           create_issue_link
 
           expect(response).to have_gitlab_http_status(:unprocessable_entity)
@@ -191,7 +191,7 @@
 
         let(:params) { super().merge(link_type: 'created') }
 
-        it 'responds with "conflict" status code and specific error message' do
+        it 'responds with "conflict" status code and specific error message', :aggregate_failures do
           create_issue_link
 
           expect(response).to have_gitlab_http_status(:unprocessable_entity)
@@ -214,7 +214,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { create_issue_link }.to be_allowed_for(:admin) }
       it { expect { create_issue_link }.to be_allowed_for(:owner).of(project) }
       it { expect { create_issue_link }.to be_allowed_for(:maintainer).of(project) }
@@ -243,7 +243,7 @@
       end
 
       context 'with valid params' do
-        it 'deletes the specified vulnerability-issue link' do
+        it 'deletes the specified vulnerability-issue link', :aggregate_failures do
           delete_issue_link
 
           expect(response).to have_gitlab_http_status(:ok)
@@ -259,7 +259,7 @@
           let_it_be(:issue) { create(:issue, project: private_project) }
           let_it_be(:vulnerability_issue_link) { create(:vulnerabilities_issue_link, vulnerability: vulnerability, issue: issue) }
 
-          it 'deletes the link without disclosing the linked issue' do
+          it 'deletes the link without disclosing the linked issue', :aggregate_failures do
             delete_issue_link
 
             expect(response).to have_gitlab_http_status(:ok)
@@ -285,7 +285,7 @@
       it_behaves_like 'forbids access to vulnerability API endpoint in case of disabled features'
     end
 
-    describe 'permissions' do
+    describe 'permissions', :enable_admin_mode do
       it { expect { delete_issue_link }.to be_allowed_for(:admin) }
       it { expect { delete_issue_link }.to be_allowed_for(:owner).of(project) }
       it { expect { delete_issue_link }.to be_allowed_for(:maintainer).of(project) }
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 3b50d821b4c2a22b6fd0a74430afdd9e759acfe6..bde160b03cd32ea51dd771dfaa0bc747c4c9ce69 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -415,10 +415,6 @@
       ./ee/spec/requests/api/projects_spec.rb
       ./ee/spec/requests/api/settings_spec.rb
       ./ee/spec/requests/api/users_spec.rb
-      ./ee/spec/requests/api/vulnerabilities_spec.rb
-      ./ee/spec/requests/api/vulnerability_exports_spec.rb
-      ./ee/spec/requests/api/vulnerability_findings_spec.rb
-      ./ee/spec/requests/api/vulnerability_issue_links_spec.rb
       ./ee/spec/support/shared_examples/requests/api/project_approval_rules_api_shared_examples.rb
     ]