diff --git a/tools/compliance/cmd/sbom/sbom.go b/tools/compliance/cmd/sbom/sbom.go
index afb377e..493d331 100644
--- a/tools/compliance/cmd/sbom/sbom.go
+++ b/tools/compliance/cmd/sbom/sbom.go
@@ -233,7 +233,7 @@
 	return url
 }
 
-// getProjectMetadata returns the project metadata for the target node
+// getProjectMetadata returns the optimal project metadata for the target node
 func getProjectMetadata(_ *context, pmix *projectmetadata.Index,
 	tn *compliance.TargetNode) (*projectmetadata.ProjectMetadata, error) {
 	pms, err := pmix.MetadataForProjects(tn.Projects()...)
@@ -244,8 +244,31 @@
 		return nil, nil
 	}
 
-	// TO DO: skip first element if it doesn't have one of the three info needed
-	return pms[0], nil
+	// Getting the project metadata that contains most of the info needed for sbomGenerator
+	score := -1
+	index := -1
+	for i := 0; i < len(pms); i++ {
+		tempScore := 0
+		if pms[i].Name() != "" {
+			tempScore += 1
+		}
+		if pms[i].Version() != "" {
+			tempScore += 1
+		}
+		if pms[i].UrlsByTypeName().DownloadUrl() != "" {
+			tempScore += 1
+		}
+
+		if tempScore == score {
+			if pms[i].Project() < pms[index].Project() {
+				index = i
+			}
+		} else if tempScore > score {
+			score = tempScore
+			index = i
+		}
+	}
+	return pms[index], nil
 }
 
 // sbomGenerator implements the spdx bom utility
diff --git a/tools/compliance/projectmetadata/projectmetadata.go b/tools/compliance/projectmetadata/projectmetadata.go
index f9ddbae..1d7da56 100644
--- a/tools/compliance/projectmetadata/projectmetadata.go
+++ b/tools/compliance/projectmetadata/projectmetadata.go
@@ -58,6 +58,11 @@
 	return fmt.Sprintf("project: %q\n%s", pm.project, pm.proto.String())
 }
 
+// Project returns the path to the directory containing the METADATA file
+func (pm *ProjectMetadata) Project() string {
+	return pm.project
+}
+
 // ProjectName returns the name of the project.
 func (pm *ProjectMetadata) Name() string {
 	return pm.proto.GetName()
