@@ -79,8 +79,8 @@ private SecurityReviewAuditResponse getStaticSecurityScanResponse(CollectorItem
79
79
CodeQuality returnQuality = codeQualities .get (0 );
80
80
81
81
/*
82
- * audit on scan type
83
- * */
82
+ * audit on scan type
83
+ * */
84
84
List <String > approvedScanTypes = settings .getValidStaticSecurityScanTypes ();
85
85
if (CollectionUtils .isNotEmpty (approvedScanTypes ) && Objects .nonNull (returnQuality )) {
86
86
String scanType = returnQuality .getScanType ();
@@ -93,18 +93,27 @@ private SecurityReviewAuditResponse getStaticSecurityScanResponse(CollectorItem
93
93
securityReviewAuditResponse .setLastExecutionTime (returnQuality .getTimestamp ());
94
94
Set <CodeQualityMetric > metrics = returnQuality .getMetrics ();
95
95
96
- if (metrics .stream ().anyMatch (metric -> metric .getName ().equalsIgnoreCase (STR_CRITICAL ))){
96
+ if (metrics .stream ().anyMatch (metric -> metric .getName ().equalsIgnoreCase (STR_CRITICAL )) && findSeverityCount ( metrics , STR_CRITICAL ) > 0 ){
97
97
securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_FOUND_CRITICAL );
98
98
securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_FAIL );
99
- }else if (metrics .stream ().anyMatch (metric -> metric .getName ().equalsIgnoreCase (STR_HIGH ))){
99
+ }else if (metrics .stream ().anyMatch (metric -> metric .getName ().equalsIgnoreCase (STR_HIGH )) && findSeverityCount ( metrics , STR_HIGH ) > 0 ){
100
100
securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_FOUND_HIGH );
101
101
securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_FAIL );
102
102
}else {
103
- securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_OK );
103
+ securityReviewAuditResponse .addAuditStatus (CodeQualityAuditStatus .STATIC_SECURITY_SCAN_OK );
104
104
}
105
105
return securityReviewAuditResponse ;
106
106
}
107
107
108
+ private int findSeverityCount (Set <CodeQualityMetric > metrics , String severity ){
109
+ if (CollectionUtils .isNotEmpty (metrics )){
110
+ CodeQualityMetric codeQualityMetric = metrics .stream ().filter (metric -> severity .equalsIgnoreCase (metric .getName ())).filter (Objects ::nonNull ).findFirst ().get ();
111
+ return StringUtils .isNotEmpty (codeQualityMetric .getValue ())?Integer .parseInt (codeQualityMetric .getValue ()) : 0 ;
112
+ }
113
+ return 0 ;
114
+ }
115
+
116
+
108
117
public void setSettings (ApiSettings settings ) {
109
118
this .settings = settings ;
110
119
}
0 commit comments