diff --git a/doc/development/rake_tasks.md b/doc/development/rake_tasks.md
index 44893ef9a6d4c55ea50d2e9b73e75201414c7b25..816a918f34e920baec960f93444cfa67c6b2dd76 100644
--- a/doc/development/rake_tasks.md
+++ b/doc/development/rake_tasks.md
@@ -166,6 +166,12 @@ bundle exec rake "gitlab:seed:project_environments[flightjs/Flight]"
 bundle exec rake "gitlab:seed:project_environments[flightjs/Flight, 25, FLIGHT_ENV_]"
 ```
 
+#### Seed a group with dependencies
+
+```shell
+bundle exec rake gitlab:seed:dependencies
+```
+
 #### Seed CI variables
 
 You can seed a project, group, or instance with [CI variables](../ci/variables/index.md).
diff --git a/ee/lib/quality/seeders/dependencies.rb b/ee/lib/quality/seeders/dependencies.rb
new file mode 100644
index 0000000000000000000000000000000000000000..34841a0fc41a5f570e61ab7a5aeaa3291f5e83d0
--- /dev/null
+++ b/ee/lib/quality/seeders/dependencies.rb
@@ -0,0 +1,101 @@
+# frozen_string_literal: true
+
+module Quality
+  module Seeders
+    class Dependencies
+      UNIQUE_COMPONENT_COUNT = 3
+      PROJECT_COUNT = 2
+
+      def initialize
+        create_new_group
+      end
+
+      def seed!
+        seed_data!
+      end
+
+      private
+
+      attr_reader :group
+
+      def seed_data!
+        PROJECT_COUNT.times do
+          project = create_new_project
+          pipeline = create_pipeline(project)
+          create_sbom_records(pipeline)
+        end
+        puts "Successfully seeded '#{group.full_path}' for Dependency list!"
+        puts "URL: #{Rails.application.routes.url_helpers.group_url(group)}"
+      end
+
+      def create_new_group
+        suffix = generate_suffix
+
+        @group = FactoryBot.create(
+          :group,
+          name: "Group level dependencies #{suffix}",
+          path: "group-level-dependencies-#{suffix}"
+        )
+        group.add_owner(admin)
+      end
+
+      def create_new_project
+        suffix = generate_suffix
+
+        FactoryBot.create(
+          :project,
+          :repository,
+          name: "Project level dependencies #{suffix}",
+          path: "project-level-dependencies-#{suffix}",
+          creator: admin,
+          namespace: group
+        )
+      end
+
+      def create_pipeline(project)
+        default_branch = project.default_branch
+
+        FactoryBot.create(
+          :ci_pipeline,
+          :success,
+          project: project,
+          ref: default_branch
+        )
+      end
+
+      def create_sbom_records(pipeline)
+        component_versions.each do |component_version|
+          create_occurrences(component_version, pipeline)
+          create_occurrences(component_version, pipeline)
+        end
+      end
+
+      def create_occurrences(component_version, pipeline)
+        project = pipeline.project
+
+        source = FactoryBot.create(:sbom_source, input_file_path: "qa-#{generate_suffix}/package-lock.json")
+        FactoryBot.create(
+          :sbom_occurrence,
+          component_version: component_version,
+          source: source,
+          project: project,
+          pipeline: pipeline)
+      end
+
+      def component_versions
+        @component_versions ||= Array.new(UNIQUE_COMPONENT_COUNT) do |i|
+          component = FactoryBot.create(:sbom_component, name: "component-#{generate_suffix}-#{i}")
+          FactoryBot.create(:sbom_component_version, component: component)
+        end
+      end
+
+      def admin
+        @admin ||= User.admins.first
+      end
+
+      def generate_suffix
+        Time.now.to_i
+      end
+    end
+  end
+end
diff --git a/ee/spec/lib/quality/seeders/dependencies_spec.rb b/ee/spec/lib/quality/seeders/dependencies_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..de91fa58701ed4eef486066f41b1768ae8310889
--- /dev/null
+++ b/ee/spec/lib/quality/seeders/dependencies_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Quality::Seeders::Dependencies, feature_category: :dependency_management do
+  let_it_be(:admin) { create(:admin) }
+
+  subject(:seed) { described_class.new }
+
+  it 'creates a new group' do
+    expect { seed }.to change { Group.count }.by(1)
+  end
+
+  describe '#seed!' do
+    it 'creates expected number of dependencies' do
+      expected_value = described_class::UNIQUE_COMPONENT_COUNT * described_class::PROJECT_COUNT * 2
+
+      expect { seed.seed! }.to change { Sbom::Occurrence.count }.by(expected_value)
+    end
+  end
+end
diff --git a/lib/tasks/gitlab/seed.rake b/lib/tasks/gitlab/seed.rake
index 8437ae0a31ea99adf5fc591004303f391ac81ebc..41830065044edac6f6f752b77b8e9506c428113c 100644
--- a/lib/tasks/gitlab/seed.rake
+++ b/lib/tasks/gitlab/seed.rake
@@ -88,5 +88,13 @@ namespace :gitlab do
         puts "\nDone."
       end
     end
+
+    desc "GitLab | Seed | Seed a new group with dependencies"
+    task :dependencies, [] => :environment do |t, args|
+      puts "\nSeeding a new group with dependencies"
+      seeder = Quality::Seeders::Dependencies.new
+      seeder.seed!
+      puts "\nDone."
+    end
   end
 end