use of com.checkmarx.sdk.dto.sca.SCAResults in project checkmarx-spring-boot-java-sdk by checkmarx-ltd.
the class ScaTestsBase method verifyScanResults.
protected void verifyScanResults(AstScaResults results) {
assertNotNull("Scan results are null.", results);
SCAResults scaResults = results.getScaResults();
assertNotNull("SCA results are null", scaResults);
log.info("scanID " + scaResults.getScanId());
assertTrue("Scan ID is empty", StringUtils.isNotEmpty(scaResults.getScanId()));
assertTrue("Web report link is empty", StringUtils.isNotEmpty(scaResults.getWebReportLink()));
verifySummary(scaResults.getSummary());
verifyPackages(scaResults);
verifyFindings(scaResults);
}
use of com.checkmarx.sdk.dto.sca.SCAResults in project checkmarx-spring-boot-java-sdk by checkmarx-ltd.
the class GoScanner method getReportContentByScanId.
@Override
public ScanResults getReportContentByScanId(Integer scanId, FilterConfiguration filter) throws CheckmarxException {
ScanResults.ScanResultsBuilder results = ScanResults.builder();
Scan scan = getScanDetails(scanId);
Integer projectId = scan.getProjectId();
Integer buId = scan.getBusinessUnitId();
Integer appId = scan.getApplicationId();
GoScanResults resultFromAllEngines = getScanResults(scanId);
List<ScanResults.XIssue> xIssues = new ArrayList<>();
// SAST
List<SASTScanResult> mainResultInfos = Optional.ofNullable(resultFromAllEngines).map(GoScanResults::getSast).orElse(null);
if (mainResultInfos != null) {
Map<String, OdScanResultItem> additionalResultInfos = getScanResultsPage(projectId, scanId);
Map<String, Integer> issuesBySeverity = new HashMap<>();
log.debug("SAST finding count before filtering: {}", mainResultInfos.size());
log.info("Processing SAST results");
mainResultInfos.stream().filter(applySastFilter(additionalResultInfos, filter)).forEach(mainResultInfo -> handleSastIssue(xIssues, mainResultInfo, additionalResultInfos, projectId, scanId, issuesBySeverity));
CxScanSummary scanSummary = getCxScanSummary(scan);
Map<String, Object> flowSummary = new HashMap<>();
flowSummary.put(Constants.SUMMARY_KEY, issuesBySeverity);
flowSummary.put(Constants.SCAN_ID_KEY, scanId);
results.additionalDetails(flowSummary);
results.scanSummary(scanSummary);
}
// SCA
List<SCAScanResult> rawScanResults = Optional.ofNullable(resultFromAllEngines).map(GoScanResults::getSca).orElse(null);
if (rawScanResults != null) {
logRawScaScanResults(rawScanResults);
List<Finding> findings = new ArrayList<>();
List<Package> packages = new ArrayList<>();
log.info("Processing SCA results");
rawScanResults.stream().filter(rawScanResult -> !rawScanResult.isIgnored()).filter(applyScaFilter(filter)).forEach(rawScanResult -> handleScaIssue(xIssues, findings, packages, rawScanResult));
logFindings(findings);
logPackages(packages);
SCAResults scaResults = new SCAResults();
scaResults.setFindings(findings);
scaResults.setPackages(packages);
if (!rawScanResults.isEmpty()) {
scaResults.setScanId(rawScanResults.get(0).getScanId().toString());
}
Summary summary = getScaScanSummary(scan);
scaResults.setSummary(summary);
String urlTemplate = cxGoProperties.getPortalUrl().concat(SCA_DEEP_LINK);
String scaDeepLink = String.format(urlTemplate, buId, appId, projectId, scanId);
scaResults.setWebReportLink(scaDeepLink);
results.scaResults(scaResults);
}
results.xIssues(xIssues);
results.projectId(projectId.toString());
String urlTemplate = cxGoProperties.getPortalUrl().concat(DEEP_LINK);
String deepLink = String.format(urlTemplate, buId, appId, projectId, scanId);
results.link(deepLink);
return results.build();
}
use of com.checkmarx.sdk.dto.sca.SCAResults in project checkmarx-spring-boot-java-sdk by checkmarx-ltd.
the class ScaScanner method toResults.
/**
* Convert Common Client representation of SCA results into an object from this SDK.
*/
@Override
protected AstScaResults toResults(ResultsBase scanResults) {
SCAResults scaResults = (SCAResults) scanResults;
validateNotNull(scaResults);
AstScaResults results = new AstScaResults();
results.setScaResults(scaResults);
return results;
}
use of com.checkmarx.sdk.dto.sca.SCAResults in project cx-flow by checkmarx-ltd.
the class AbstractASTScanner method scan.
@Override
public ScanResults scan(ScanRequest scanRequest) {
ScanResults result = null;
log.info("--------------------- Initiating new {} scan ---------------------", scanType);
ScanParams sdkScanParams = toSdkScanParams(scanRequest);
AstScaResults internalResults = new AstScaResults(new SCAResults(), new ASTResults());
try {
bugTrackerEventTrigger.triggerScanStartedEvent(scanRequest);
internalResults = client.scan(sdkScanParams);
logRequest(scanRequest, internalResults, OperationResult.successful());
result = toScanResults(internalResults);
} catch (Exception e) {
treatError(scanRequest, internalResults, e);
}
return result;
}
use of com.checkmarx.sdk.dto.sca.SCAResults in project cx-flow by checkmarx-ltd.
the class AbstractASTScanner method actualScan.
private ScanResults actualScan(ScanRequest scanRequest, String path) {
ScanResults result = null;
log.info("--------------------- Initiating new {} scan ---------------------", scanType);
AstScaResults internalResults = new AstScaResults(new SCAResults(), new ASTResults());
try {
ScanParams sdkScanParams = toSdkScanParams(scanRequest, path);
internalResults = client.scan(sdkScanParams);
logRequest(scanRequest, internalResults, OperationResult.successful());
result = toScanResults(internalResults);
} catch (Exception e) {
treatError(scanRequest, internalResults, e);
}
return result;
}
Aggregations