Generate dependency list from CycloneDX components
Proposal
The EE::Ci::Pipeline#dependency_list_report currently generates the report by parsing the dependency_scanning artifacts on the fly. With the move to continuously scanning the components in CycloneDX reports, we'll need to generate the dependency list from SBoM components instead of the dependency_files section in dependency scanning reports. This presents an opportunity to move all dependency list generation logic to the Security::DependencyListService class, and remove the EE:Ci::Pipeline#dependency_list_report method.
Affected components
-
EE::Ci::Pipeline#dependency_list_report: This should generate a report from thecyclonedxreports if the continuous vulnerability scanning feature flag is enabled. This method is used bySecurity::DependencyListServicewhich is used to serve the/projects/:id/dependenciesendpoint and theProjects::DependenciesControllerclass, so updating the logic here will ensure we have feature parity across the two surfaces. -
Sbom::DependenciesFinder: This finder is currently implemented as the resolver of project dependencies in the GraphQL API, and can most likely be re-used.
Implementation plan
TBD
Edited by Oscar Tovar