Skip to content

Commit 04b7efb

Browse files
Merge branch 'feature/agentic_ai' of https://github.com/CheckmarxDev/ast-cli-java-wrapper into feature/agentic_ai
# Conflicts: # src/main/java/com/checkmarx/ast/wrapper/CxConstants.java # src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java # src/test/java/com/checkmarx/ast/SecretsRealtimeResultsTest.java
2 parents dbd2b51 + 23ddb2d commit 04b7efb

File tree

14 files changed

+349
-12
lines changed

14 files changed

+349
-12
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ jobs:
140140
release_version: ${{ needs.release.outputs.TAG_NAME }}
141141
cli_release_version: ${{ needs.release.outputs.CLI_VERSION }}
142142
release_author: "Sypher Team"
143-
release_url: https://github.com/CheckmarxDev/ast-cli-java-wrapper/releases/tag/${{ needs.release.outputs.TAG_NAME }}
143+
release_url: https://github.com/Checkmarx/ast-cli-java-wrapper/releases/tag/${{ needs.release.outputs.TAG_NAME }}
144144
jira_product_name: JAVA_WRAPPER
145145
secrets: inherit
146146

checkmarx-ast-cli.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.3.36
1+
2.3.40
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.checkmarx.ast.mask;
2+
3+
import com.checkmarx.ast.utils.JsonParser;
4+
import com.fasterxml.jackson.annotation.JsonCreator;
5+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6+
import com.fasterxml.jackson.annotation.JsonInclude;
7+
import com.fasterxml.jackson.annotation.JsonProperty;
8+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
9+
import com.fasterxml.jackson.databind.type.TypeFactory;
10+
import lombok.EqualsAndHashCode;
11+
import lombok.ToString;
12+
import lombok.Value;
13+
14+
import java.util.List;
15+
16+
@Value
17+
@EqualsAndHashCode()
18+
@JsonDeserialize()
19+
@ToString(callSuper = true)
20+
@JsonInclude(JsonInclude.Include.NON_NULL)
21+
@JsonIgnoreProperties(ignoreUnknown = true)
22+
public class MaskResult {
23+
24+
List<MaskedSecret> maskedSecrets;
25+
String maskedFile;
26+
27+
@JsonCreator
28+
public MaskResult(@JsonProperty("maskedSecrets") List<MaskedSecret> maskedSecrets,
29+
@JsonProperty("maskedFile") String maskedFile) {
30+
this.maskedSecrets = maskedSecrets;
31+
this.maskedFile = maskedFile;
32+
}
33+
34+
public static MaskResult fromLine(String line) {
35+
return JsonParser.parse(line, TypeFactory.defaultInstance().constructType(MaskResult.class));
36+
}
37+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.checkmarx.ast.mask;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
5+
import com.fasterxml.jackson.annotation.JsonInclude;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
8+
import lombok.EqualsAndHashCode;
9+
import lombok.ToString;
10+
import lombok.Value;
11+
12+
@Value
13+
@EqualsAndHashCode()
14+
@JsonDeserialize()
15+
@ToString(callSuper = true)
16+
@JsonInclude(JsonInclude.Include.NON_NULL)
17+
@JsonIgnoreProperties(ignoreUnknown = true)
18+
public class MaskedSecret {
19+
20+
String masked;
21+
String secret;
22+
int line;
23+
24+
@JsonCreator
25+
public MaskedSecret(@JsonProperty("masked") String masked,
26+
@JsonProperty("secret") String secret,
27+
@JsonProperty("line") int line) {
28+
this.masked = masked;
29+
this.secret = secret;
30+
this.line = line;
31+
}
32+
}

src/main/java/com/checkmarx/ast/wrapper/CxConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,6 @@ public final class CxConstants {
8080
static final String SUB_CMD_IAC_REALTIME = "iac-realtime";
8181
static final String SUB_CMD_SECRETS_REALTIME = "secrets-realtime";
8282
static final String SUB_CMD_CONTAINERS_REALTIME = "containers-realtime";
83+
static final String SUB_CMD_MASK = "mask";
84+
static final String RESULT_FILE = "--result-file";
8385
}

src/main/java/com/checkmarx/ast/wrapper/CxWrapper.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
import com.checkmarx.ast.codebashing.CodeBashing;
55
import com.checkmarx.ast.kicsRealtimeResults.KicsRealtimeResults;
66
import com.checkmarx.ast.learnMore.LearnMore;
7+
import com.checkmarx.ast.mask.MaskResult;
78
import com.checkmarx.ast.ossrealtime.OssRealtimeResults;
89
import com.checkmarx.ast.secretsrealtime.SecretsRealtimeResults;
10+
911
import com.checkmarx.ast.iacrealtime.IacRealtimeResults;
1012
import com.checkmarx.ast.containersrealtime.ContainersRealtimeResults;
1113
import com.checkmarx.ast.predicate.CustomState;
@@ -524,6 +526,17 @@ public List<TenantSetting> tenantSettings() throws CxException, IOException, Int
524526
return Execution.executeCommand(withConfigArguments(arguments), logger, TenantSetting::listFromLine);
525527
}
526528

529+
public MaskResult maskSecrets(@NonNull String filePath) throws CxException, IOException, InterruptedException {
530+
List<String> arguments = new ArrayList<>();
531+
532+
arguments.add(CxConstants.CMD_UTILS);
533+
arguments.add(CxConstants.SUB_CMD_MASK);
534+
arguments.add(CxConstants.RESULT_FILE);
535+
arguments.add(filePath);
536+
537+
return Execution.executeCommand(withConfigArguments(arguments), logger, MaskResult::fromLine);
538+
}
539+
527540
private int getIndexOfBfLNode(List<Node> bflNodes, List<Node> resultNodes) {
528541

529542
int bflNodeNotFound = -1;

src/main/java/com/checkmarx/ast/wrapper/Execution.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ static <T> T executeCommand(List<String> arguments,
5757
String line;
5858
StringBuilder output = new StringBuilder();
5959
while ((line = br.readLine()) != null) {
60-
logger.info(line);
60+
logger.debug(line);
6161
output.append(line).append(LINE_SEPARATOR);
6262
T parsedLine = lineParser.apply(line);
6363
if (parsedLine != null) {
@@ -98,7 +98,7 @@ static String executeCommand(List<String> arguments,
9898
String line;
9999
StringBuilder stringBuilder = new StringBuilder();
100100
while ((line = br.readLine()) != null) {
101-
logger.info(line);
101+
logger.debug(line);
102102
stringBuilder.append(line).append(LINE_SEPARATOR);
103103
}
104104
process.waitFor();

src/main/resources/cx-linux

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:059e958eb6e2704f9e9ba7a51dd7efc086a85e53248000270d648944d5d6dae3
3-
size 80134328
2+
oid sha256:64460df9a00bcc48a599688c878ddabe20187127f5f7e0fb84cee08abc21120f
3+
size 80982200

src/main/resources/cx-linux-arm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:75fe395dc699e20e599db8ee0d86a60b3dec3183ccfccfd5e7fbabfeda413cb0
3-
size 76480696
2+
oid sha256:823ba8fb7a41df2198af4371c1868d06e8ec1116cc8c98a1a6ba2e1502fa6090
3+
size 77267128

src/main/resources/cx-mac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:5fce2cbfd8eeca6831fc270a7798e978bf3123b17244492ab1b183a9ad224392
3-
size 161292816
2+
oid sha256:ab046570766900b90ca6412175eb60096bbbc1b251142237f4f836f54afb56be
3+
size 162864288

0 commit comments

Comments
 (0)