diff --git a/src/main/java/com/checkmarx/ast/results/result/Data.java b/src/main/java/com/checkmarx/ast/results/result/Data.java index e9427663..35bda141 100644 --- a/src/main/java/com/checkmarx/ast/results/result/Data.java +++ b/src/main/java/com/checkmarx/ast/results/result/Data.java @@ -31,6 +31,10 @@ public class Data { List nodes; List packageData; ScaPackageData scaPackageData; + // Secret Detection specific fields + String ruleName; + String ruleDescription; + String remediation; public Data(@JsonProperty("queryId") String queryId, @JsonProperty("queryName") String queryName, @@ -47,7 +51,10 @@ public Data(@JsonProperty("queryId") String queryId, @JsonProperty("line") int line, @JsonProperty("nodes") List nodes, @JsonProperty("packageData") List packageData, - @JsonProperty("scaPackageData") ScaPackageData scaPackageData) { + @JsonProperty("scaPackageData") ScaPackageData scaPackageData, + @JsonProperty("ruleName") String ruleName, + @JsonProperty("ruleDescription") String ruleDescription, + @JsonProperty("remediation") String remediation) { this.queryId = queryId; this.queryName = queryName; this.group = group; @@ -64,5 +71,8 @@ public Data(@JsonProperty("queryId") String queryId, this.nodes = nodes; this.packageData = packageData; this.scaPackageData = scaPackageData; + this.ruleName = ruleName; + this.ruleDescription = ruleDescription; + this.remediation = remediation; } } diff --git a/src/main/java/com/checkmarx/ast/results/result/Result.java b/src/main/java/com/checkmarx/ast/results/result/Result.java index 19686ab2..7217af2b 100644 --- a/src/main/java/com/checkmarx/ast/results/result/Result.java +++ b/src/main/java/com/checkmarx/ast/results/result/Result.java @@ -1,5 +1,6 @@ package com.checkmarx.ast.results.result; +import com.checkmarx.ast.wrapper.CxConstants; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -53,7 +54,7 @@ public Result(@JsonProperty("type") String type, @JsonProperty("comments") Comments comments, @JsonProperty("vulnerabilityDetails") VulnerabilityDetails vulnerabilityDetails, @JsonProperty("scaType") String scaType) { - this.type = type; + this.type = normalizeType(type); this.scaType=scaType; this.label = label; this.id = id; @@ -74,4 +75,14 @@ public Result(@JsonProperty("type") String type, this.comments = comments; this.vulnerabilityDetails = vulnerabilityDetails; } + + /** + * Normalizes special-case types coming from JSON into internal constants. + */ + private static String normalizeType(String rawType) { + if ("sscs-secret-detection".equals(rawType)) { + return CxConstants.SECRET_DETECTION; + } + return rawType; // leave other engine types unchanged + } } diff --git a/src/main/java/com/checkmarx/ast/wrapper/CxConstants.java b/src/main/java/com/checkmarx/ast/wrapper/CxConstants.java index 889bbb65..5f1b8f62 100644 --- a/src/main/java/com/checkmarx/ast/wrapper/CxConstants.java +++ b/src/main/java/com/checkmarx/ast/wrapper/CxConstants.java @@ -13,6 +13,7 @@ public final class CxConstants { public static final String AGENT = "--agent"; public static final String SAST = "sast"; public static final String DEBUG = "--debug"; + public static final String SECRET_DETECTION = "scs"; static final String CLIENT_ID = "--client-id"; static final String CLIENT_SECRET = "--client-secret"; static final String API_KEY = "--apikey";