Skip to content

Commit 04dbdbd

Browse files
Merge branch 'main' into feature/AST-93150-backend-core-results-update-results-endpoint-with-incremental-scanning-logic
2 parents 224f755 + acddd85 commit 04dbdbd

File tree

126 files changed

+8186
-794
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+8186
-794
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ jobs:
8989
BITBUCKET_USERNAME: ${{ secrets.BITBUCKET_USERNAME }}
9090
BITBUCKET_PASSWORD: ${{ secrets.BITBUCKET_PASSWORD }}
9191
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
92+
GITHUB_ACTOR: ${{ github.actor }}
9293
PR_BITBUCKET_TOKEN: ${{ secrets.PR_BITBUCKET_TOKEN }}
9394
PR_BITBUCKET_NAMESPACE: "AstSystemTest"
9495
PR_BITBUCKET_REPO_NAME: "cliIntegrationTest"
@@ -104,11 +105,11 @@ jobs:
104105
name: ${{ runner.os }}-coverage-latest
105106
path: coverage.html
106107

107-
- name: Check if total coverage is greater then 78
108+
- name: Check if total coverage is greater then 77.5
108109
shell: bash
109110
run: |
110111
CODE_COV=$(go tool cover -func cover.out | grep total | awk '{print substr($3, 1, length($3)-1)}')
111-
EXPECTED_CODE_COV=78
112+
EXPECTED_CODE_COV=77.5
112113
var=$(awk 'BEGIN{ print "'$CODE_COV'"<"'$EXPECTED_CODE_COV'" }')
113114
if [ "$var" -eq 1 ];then
114115
echo "Your code coverage is too low. Coverage precentage is: $CODE_COV"

.golangci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,13 @@ linters-settings:
4949
- github.com/CheckmarxDev/containers-resolver/pkg/containerResolver
5050
- github.com/Checkmarx/manifest-parser/pkg/parser/models
5151
- github.com/Checkmarx/manifest-parser/pkg/parser
52+
- github.com/Checkmarx/secret-detection/pkg/hooks/pre-commit
53+
- github.com/Checkmarx/secret-detection/pkg/hooks/pre-receive
5254
- github.com/Checkmarx/gen-ai-prompts/prompts/sast_result_remediation
5355
- github.com/spf13/viper
56+
- github.com/checkmarx/2ms/v3/lib/reporting
57+
- github.com/checkmarx/2ms/v3/lib/secrets
58+
- github.com/checkmarx/2ms/v3/pkg
5459
- github.com/Checkmarx/gen-ai-wrapper
5560
- github.com/spf13/cobra
5661
- github.com/pkg/errors
@@ -60,6 +65,8 @@ linters-settings:
6065
- github.com/stretchr/testify/assert
6166
- github.com/gofrs/flock
6267
- github.com/golang-jwt/jwt/v5
68+
- github.com/Checkmarx/containers-images-extractor/pkg/imagesExtractor
69+
- github.com/Checkmarx/containers-types/types
6370
dupl:
6471
threshold: 500
6572
funlen:

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Each line is a file pattern followed by one or more owners
33

44
# Specify the default owners for the entire repository
5-
* @AlvoBen @greensd4 @miryamfoiferCX
5+
* @cx-anurag-dalke

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM checkmarx/bash:5.2.37-r32-044701a6758b91@sha256:044701a6758b91913c1e6435723becfce973ce727baf76ecb0add2340e5aeb25
1+
FROM checkmarx/bash:5.2.37-r33-812e1f54f671f5@sha256:812e1f54f671f5678f647d7762f61521a967ff1f8d376d9f38a9838e0a3659a3
22
USER nonroot
33

44
COPY cx /app/bin/cx

cmd/main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func main() {
5050
descriptionsPath := viper.GetString(params.DescriptionsPathKey)
5151
tenantConfigurationPath := viper.GetString(params.TenantConfigurationPathKey)
5252
resultsPdfPath := viper.GetString(params.ResultsPdfReportPathKey)
53+
resultsJSONPath := viper.GetString(params.ResultsJSONReportPathKey)
5354
exportPath := viper.GetString(params.ExportPathKey)
5455
featureFlagsPath := viper.GetString(params.FeatureFlagsKey)
5556
policyEvaluationPath := viper.GetString(params.PolicyEvaluationPathKey)
@@ -61,6 +62,7 @@ func main() {
6162
customStatesWrapper := wrappers.NewCustomStatesHTTPWrapper()
6263
scansWrapper := wrappers.NewHTTPScansWrapper(scans)
6364
resultsPdfReportsWrapper := wrappers.NewResultsPdfReportsHTTPWrapper(resultsPdfPath)
65+
resultsJSONReportsWrapper := wrappers.NewResultsJSONReportsHTTPWrapper(resultsJSONPath)
6466
exportWrapper := wrappers.NewExportHTTPWrapper(exportPath)
6567
groupsWrapper := wrappers.NewHTTPGroupsWrapper(groups)
6668
logsWrapper := wrappers.NewLogsWrapper(logs)
@@ -93,12 +95,14 @@ func main() {
9395
byorWrapper := wrappers.NewByorHTTPWrapper(byorPath)
9496
containerResolverWrapper := wrappers.NewContainerResolverWrapper()
9597
realTimeWrapper := wrappers.NewRealtimeScannerHTTPWrapper(realtimeScannerPath, jwtWrapper, featureFlagsWrapper)
98+
telemetryWrapper := wrappers.NewHTTPTelemetryAIWrapper(realtimeScannerPath)
9699

97100
astCli := commands.NewAstCLI(
98101
applicationsWrapper,
99102
scansWrapper,
100103
exportWrapper,
101104
resultsPdfReportsWrapper,
105+
resultsJSONReportsWrapper,
102106
resultsPredicatesWrapper,
103107
customStatesWrapper,
104108
codeBashingWrapper,
@@ -130,6 +134,7 @@ func main() {
130134
byorWrapper,
131135
containerResolverWrapper,
132136
realTimeWrapper,
137+
telemetryWrapper,
133138
)
134139
exitListener()
135140
err = astCli.Execute()
@@ -161,7 +166,7 @@ func bindKeysToEnvAndDefault() {
161166
}
162167

163168
func bindProxy() {
164-
err := viper.BindEnv(params.ProxyKey, params.CxProxyEnv, params.ProxyEnv)
169+
err := viper.BindEnv(params.ProxyKey, params.CxProxyEnv, params.ProxyEnv, params.ProxyLowerCaseEnv)
165170
if err != nil {
166171
exitIfError(err)
167172
}

go.mod

Lines changed: 34 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
module github.com/checkmarx/ast-cli
22

3-
go 1.24.2
3+
go 1.24.4
44

55
require (
6-
github.com/Checkmarx/containers-resolver v1.0.11
6+
github.com/Checkmarx/containers-resolver v1.0.19
7+
github.com/Checkmarx/containers-types v1.0.9
78
github.com/Checkmarx/gen-ai-prompts v0.0.0-20240807143411-708ceec12b63
89
github.com/Checkmarx/gen-ai-wrapper v1.0.2
9-
github.com/Checkmarx/manifest-parser v0.0.7
10-
github.com/Checkmarx/secret-detection v0.0.3-0.20250327150305-31c2c3be9edf
10+
github.com/Checkmarx/manifest-parser v0.1.0
11+
github.com/Checkmarx/secret-detection v1.2.1
1112
github.com/MakeNowJust/heredoc v1.0.0
1213
github.com/bouk/monkey v1.0.0
14+
github.com/checkmarx/2ms/v3 v3.21.0
1315
github.com/gofrs/flock v0.12.1
1416
github.com/golang-jwt/jwt/v5 v5.2.2
1517
github.com/gomarkdown/markdown v0.0.0-20241102151059-6bc1ffdc6e8c
@@ -19,13 +21,13 @@ require (
1921
github.com/mssola/user_agent v0.6.0
2022
github.com/pkg/errors v0.9.1
2123
github.com/spf13/cobra v1.9.1
22-
github.com/spf13/viper v1.20.0
24+
github.com/spf13/viper v1.20.1
2325
github.com/stretchr/testify v1.10.0
2426
github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80
2527
github.com/xeipuuv/gojsonschema v1.2.0
26-
golang.org/x/crypto v0.37.0
27-
golang.org/x/sync v0.14.0
28-
golang.org/x/text v0.24.0
28+
golang.org/x/crypto v0.39.0
29+
golang.org/x/sync v0.15.0
30+
golang.org/x/text v0.26.0
2931
google.golang.org/grpc v1.72.0-dev
3032
google.golang.org/protobuf v1.36.6
3133
gopkg.in/yaml.v3 v3.0.1
@@ -39,9 +41,8 @@ require (
3941
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
4042
github.com/BobuSumisu/aho-corasick v1.0.3 // indirect
4143
github.com/BurntSushi/toml v1.5.0 // indirect
42-
github.com/Checkmarx/containers-images-extractor v1.0.8 // indirect
43-
github.com/Checkmarx/containers-syft-packages-extractor v1.0.11 // indirect
44-
github.com/Checkmarx/containers-types v1.0.3 // indirect
44+
github.com/Checkmarx/containers-images-extractor v1.0.17
45+
github.com/Checkmarx/containers-syft-packages-extractor v1.0.15 // indirect
4546
github.com/CycloneDX/cyclonedx-go v0.9.2 // indirect
4647
github.com/DataDog/zstd v1.5.6 // indirect
4748
github.com/Masterminds/goutils v1.1.1 // indirect
@@ -84,8 +85,7 @@ require (
8485
github.com/charmbracelet/x/ansi v0.8.0 // indirect
8586
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
8687
github.com/charmbracelet/x/term v0.2.1 // indirect
87-
github.com/checkmarx/2ms v1.4.1-0.20250327145719-b78804cb08c7 // indirect
88-
github.com/cloudflare/circl v1.6.0 // indirect
88+
github.com/cloudflare/circl v1.6.1 // indirect
8989
github.com/containerd/cgroups/v3 v3.0.5 // indirect
9090
github.com/containerd/containerd v1.7.27 // indirect
9191
github.com/containerd/containerd/api v1.8.0 // indirect
@@ -126,19 +126,20 @@ require (
126126
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
127127
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
128128
github.com/github/go-spdx/v2 v2.3.2 // indirect
129-
github.com/gitleaks/go-gitdiff v0.9.0 // indirect
129+
github.com/gitleaks/go-gitdiff v0.9.1 // indirect
130130
github.com/go-errors/errors v1.5.1 // indirect
131131
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
132132
github.com/go-git/go-billy/v5 v5.6.2 // indirect
133133
github.com/go-git/go-git/v5 v5.14.0 // indirect
134134
github.com/go-gorp/gorp/v3 v3.1.0 // indirect
135135
github.com/go-logr/logr v1.4.2 // indirect
136136
github.com/go-logr/stdr v1.2.2 // indirect
137+
github.com/go-ole/go-ole v1.2.6 // indirect
137138
github.com/go-openapi/jsonpointer v0.21.1 // indirect
138139
github.com/go-openapi/jsonreference v0.21.0 // indirect
139140
github.com/go-openapi/swag v0.23.1 // indirect
140141
github.com/go-restruct/restruct v1.2.0-alpha // indirect
141-
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
142+
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
142143
github.com/gobwas/glob v0.2.3 // indirect
143144
github.com/gogo/protobuf v1.3.2 // indirect
144145
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
@@ -222,12 +223,13 @@ require (
222223
github.com/russross/blackfriday/v2 v2.1.0 // indirect
223224
github.com/rust-secure-code/go-rustaudit v0.0.0-20250226111315-e20ec32e963c // indirect
224225
github.com/saferwall/pe v1.5.6 // indirect
225-
github.com/sagikazarmark/locafero v0.8.0 // indirect
226+
github.com/sagikazarmark/locafero v0.9.0 // indirect
226227
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
227228
github.com/sassoftware/go-rpmutils v0.4.0 // indirect
228229
github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e // indirect
229230
github.com/secDre4mer/pkcs7 v0.0.0-20240322103146-665324a4461d // indirect
230231
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
232+
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
231233
github.com/shopspring/decimal v1.4.0 // indirect
232234
github.com/sirupsen/logrus v1.9.3 // indirect
233235
github.com/skeema/knownhosts v1.3.1 // indirect
@@ -255,6 +257,7 @@ require (
255257
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
256258
github.com/xlab/treeprint v1.2.0 // indirect
257259
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
260+
github.com/yusufpapurcu/wmi v1.2.4 // indirect
258261
github.com/zclconf/go-cty v1.16.2 // indirect
259262
github.com/zricethezav/gitleaks/v8 v8.18.2 // indirect
260263
go.opencensus.io v0.24.0 // indirect
@@ -263,35 +266,36 @@ require (
263266
go.opentelemetry.io/otel v1.35.0 // indirect
264267
go.opentelemetry.io/otel/metric v1.35.0 // indirect
265268
go.opentelemetry.io/otel/trace v1.35.0 // indirect
269+
go.uber.org/mock v0.5.2 // indirect
266270
go.uber.org/multierr v1.11.0 // indirect
267271
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
268-
golang.org/x/mod v0.24.0 // indirect
269-
golang.org/x/net v0.38.0 // indirect
272+
golang.org/x/mod v0.25.0 // indirect
273+
golang.org/x/net v0.40.0 // indirect
270274
golang.org/x/oauth2 v0.28.0 // indirect
271275
golang.org/x/sys v0.33.0 // indirect
272-
golang.org/x/term v0.31.0 // indirect
276+
golang.org/x/term v0.32.0 // indirect
273277
golang.org/x/time v0.11.0 // indirect
274-
golang.org/x/tools v0.31.0 // indirect
278+
golang.org/x/tools v0.33.0 // indirect
275279
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
276280
google.golang.org/genproto v0.0.0-20250324211829-b45e905df463 // indirect
277281
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
278282
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
279283
gopkg.in/inf.v0 v0.9.1 // indirect
280284
gopkg.in/warnings.v0 v0.1.2 // indirect
281285
gopkg.in/yaml.v2 v2.4.0 // indirect
282-
helm.sh/helm/v3 v3.18.2 // indirect
283-
k8s.io/api v0.33.0 // indirect
284-
k8s.io/apiextensions-apiserver v0.33.0 // indirect
285-
k8s.io/apimachinery v0.33.0 // indirect
286-
k8s.io/apiserver v0.33.0 // indirect
287-
k8s.io/cli-runtime v0.33.0 // indirect
288-
k8s.io/client-go v0.33.0 // indirect
289-
k8s.io/component-base v0.33.0 // indirect
286+
helm.sh/helm/v3 v3.18.4 // indirect
287+
k8s.io/api v0.33.2 // indirect
288+
k8s.io/apiextensions-apiserver v0.33.2 // indirect
289+
k8s.io/apimachinery v0.33.2 // indirect
290+
k8s.io/apiserver v0.33.2 // indirect
291+
k8s.io/cli-runtime v0.33.2 // indirect
292+
k8s.io/client-go v0.33.2 // indirect
293+
k8s.io/component-base v0.33.2 // indirect
290294
k8s.io/klog/v2 v2.130.1 // indirect
291295
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
292-
k8s.io/kubectl v0.33.0 // indirect
296+
k8s.io/kubectl v0.33.2 // indirect
293297
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
294-
oras.land/oras-go/v2 v2.5.0 // indirect
298+
oras.land/oras-go/v2 v2.6.0 // indirect
295299
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
296300
sigs.k8s.io/kustomize/api v0.19.0 // indirect
297301
sigs.k8s.io/kustomize/kyaml v0.19.0 // indirect

0 commit comments

Comments
 (0)