Skip to content

Commit dd73fcb

Browse files
committed
Malicious code scanner
1 parent 5a65667 commit dd73fcb

File tree

8 files changed

+107
-86
lines changed

8 files changed

+107
-86
lines changed

commands/maliciousscan/maliciousscan.go

Lines changed: 18 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@ package maliciousscan
33
import (
44
"errors"
55
"fmt"
6-
"os/exec"
76
"path/filepath"
87
"strings"
98

10-
clientutils "github.com/jfrog/jfrog-client-go/utils"
11-
129
"github.com/jfrog/jfrog-cli-core/v2/common/format"
1310
"github.com/jfrog/jfrog-cli-core/v2/utils/config"
1411
"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
1512
"github.com/jfrog/jfrog-cli-security/jas"
16-
"github.com/jfrog/jfrog-cli-security/jas/runner"
13+
"github.com/jfrog/jfrog-cli-security/jas/maliciouscode"
1714
"github.com/jfrog/jfrog-cli-security/utils"
15+
"github.com/jfrog/jfrog-cli-security/utils/jasutils"
1816
"github.com/jfrog/jfrog-cli-security/utils/results"
1917
"github.com/jfrog/jfrog-cli-security/utils/results/output"
2018
"github.com/jfrog/jfrog-cli-security/utils/severityutils"
@@ -81,17 +79,6 @@ func NewMaliciousScanCommand() *MaliciousScanCommand {
8179
}
8280

8381
func (cmd *MaliciousScanCommand) Run() (err error) {
84-
defer func() {
85-
if err != nil {
86-
var e *exec.ExitError
87-
if errors.As(err, &e) {
88-
if e.ExitCode() != coreutils.ExitCodeVulnerableBuild.Code {
89-
err = errors.New("Malicious scan command failed. " + err.Error())
90-
}
91-
}
92-
}
93-
}()
94-
9582
xrayVersion, entitledForJas, workingDirs, err := cmd.validateAndPrepare()
9683
if err != nil {
9784
return err
@@ -109,12 +96,6 @@ func (cmd *MaliciousScanCommand) Run() (err error) {
10996
return err
11097
}
11198

112-
if cmd.progress != nil {
113-
if err = cmd.progress.Quit(); err != nil {
114-
return err
115-
}
116-
}
117-
11899
return cmd.outputResults(cmdResults)
119100
}
120101

@@ -199,52 +180,41 @@ func (cmd *MaliciousScanCommand) setAnalyzerManagerPath(scanner *jas.JasScanner)
199180
}
200181
} else {
201182
scanner.AnalyzerManager.AnalyzerManagerFullPath = cmd.customAnalyzerManagerPath
202-
log.Debug(clientutils.GetLogMsgPrefix(0, false) + "using custom analyzer manager binary path")
183+
log.Debug("using custom analyzer manager binary path")
203184
}
204185
return nil
205186
}
206187

207188
func (cmd *MaliciousScanCommand) runMaliciousScans(cmdResults *results.SecurityCommandResults, scanner *jas.JasScanner) error {
208189
jasScanProducerConsumer := utils.NewSecurityParallelRunner(cmd.threads)
209-
210-
serverDetails, err := cmd.ServerDetails()
211-
if err != nil {
212-
return err
213-
}
214-
215190
jasScanProducerConsumer.JasWg.Add(1)
216191
createMaliciousScansTask := func(threadId int) (generalError error) {
217192
defer func() {
218193
jasScanProducerConsumer.JasWg.Done()
219194
}()
220195
for _, targetResult := range cmdResults.Targets {
221-
if targetResult.AppsConfigModule == nil {
222-
_ = targetResult.AddTargetError(fmt.Errorf("can't find module for path %s", targetResult.Target), false)
223-
continue
224-
}
225-
appsConfigModule := *targetResult.AppsConfigModule
226-
jasParams := runner.JasRunnerParams{
227-
Runner: &jasScanProducerConsumer,
228-
ServerDetails: serverDetails,
229-
Scanner: scanner,
230-
Module: appsConfigModule,
231-
ScansToPerform: []utils.SubScanType{utils.MaliciousCodeScan},
232-
ScanResults: targetResult,
233-
TargetCount: len(cmdResults.Targets),
234-
}
235-
236-
if generalError = runner.AddJasScannersTasks(jasParams); generalError != nil {
237-
_ = targetResult.AddTargetError(fmt.Errorf("failed to add malicious scan task: %w", generalError), false)
238-
generalError = nil
196+
vulnerabilitiesResults, err := maliciouscode.RunMaliciousScan(
197+
scanner,
198+
maliciouscode.MaliciousScannerType,
199+
targetResult.Target,
200+
len(cmdResults.Targets),
201+
threadId,
202+
)
203+
jasScanProducerConsumer.ResultsMu.Lock()
204+
// Malicious code scans only return vulnerabilities, not violations
205+
targetResult.AddJasScanResults(jasutils.MaliciousCode, vulnerabilitiesResults, nil, jas.GetAnalyzerManagerExitCode(err))
206+
jasScanProducerConsumer.ResultsMu.Unlock()
207+
if err = jas.ParseAnalyzerManagerError(jasutils.MaliciousCode, err); err != nil {
208+
_ = targetResult.AddTargetError(fmt.Errorf("failed to run malicious scan: %w", err), false)
239209
}
240210
}
241211
return
242212
}
243213

244214
if _, addTaskErr := jasScanProducerConsumer.Runner.AddTaskWithError(createMaliciousScansTask, func(taskErr error) {
245-
cmdResults.AddGeneralError(fmt.Errorf("failed while adding JAS scan tasks: %s", taskErr.Error()), false)
215+
cmdResults.AddGeneralError(fmt.Errorf("failed while adding malicious scan tasks: %s", taskErr.Error()), false)
246216
}); addTaskErr != nil {
247-
return fmt.Errorf("failed to create JAS task: %w", addTaskErr)
217+
return fmt.Errorf("failed to create malicious scan task: %w", addTaskErr)
248218
}
249219

250220
jasScanProducerConsumer.Start()
@@ -295,16 +265,6 @@ func populateScanTargets(cmdResults *results.SecurityCommandResults, workingDirs
295265
return
296266
}
297267

298-
jfrogAppsConfig, err := jas.CreateJFrogAppsConfig(cmdResults.GetTargetsPaths())
299-
if err != nil {
300-
cmdResults.AddGeneralError(fmt.Errorf("failed to create JFrogAppsConfig: %w", err), false)
301-
return
302-
}
303-
304-
for _, targetResult := range cmdResults.Targets {
305-
targetResult.AppsConfigModule = jas.GetModule(targetResult.Target, jfrogAppsConfig)
306-
}
307-
308268
logScanTargetsInfo(cmdResults)
309269
}
310270

go.mod

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,16 @@ require (
4141
github.com/buger/jsonparser v1.1.1 // indirect
4242
github.com/c-bata/go-prompt v0.2.6 // indirect
4343
github.com/chzyer/readline v1.5.1 // indirect
44+
github.com/clipperhouse/stringish v0.1.1 // indirect
45+
github.com/clipperhouse/uax29/v2 v2.3.0 // indirect
4446
github.com/cloudflare/circl v1.6.1 // indirect
47+
github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect
4548
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
4649
github.com/cyphar/filepath-securejoin v0.6.0 // indirect
4750
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
51+
github.com/docker/cli v29.0.3+incompatible // indirect
52+
github.com/docker/distribution v2.8.3+incompatible // indirect
53+
github.com/docker/docker-credential-helpers v0.9.3 // indirect
4854
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
4955
github.com/emirpasic/gods v1.18.1 // indirect
5056
github.com/fatih/color v1.16.0 // indirect
@@ -59,6 +65,7 @@ require (
5965
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
6066
github.com/golang/protobuf v1.5.4 // indirect
6167
github.com/golang/snappy v1.0.0 // indirect
68+
github.com/google/go-containerregistry v0.20.7 // indirect
6269
github.com/google/go-github/v74 v74.0.0 // indirect
6370
github.com/google/go-querystring v1.1.0 // indirect
6471
github.com/grokify/mogo v0.64.12 // indirect
@@ -80,9 +87,12 @@ require (
8087
github.com/mattn/go-tty v0.0.7 // indirect
8188
github.com/microsoft/azure-devops-go-api/azuredevops/v7 v7.1.0 // indirect
8289
github.com/minio/sha256-simd v1.0.1 // indirect
90+
github.com/mitchellh/go-homedir v1.1.0 // indirect
8391
github.com/mitchellh/mapstructure v1.5.0 // indirect
8492
github.com/nwaples/rardecode v1.1.3 // indirect
8593
github.com/oklog/run v1.0.0 // indirect
94+
github.com/opencontainers/go-digest v1.0.0 // indirect
95+
github.com/opencontainers/image-spec v1.1.1 // indirect
8696
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
8797
github.com/pierrec/lz4/v4 v4.1.22 // indirect
8898
github.com/pjbgf/sha1cd v0.3.2 // indirect
@@ -93,14 +103,15 @@ require (
93103
github.com/russross/blackfriday/v2 v2.1.0 // indirect
94104
github.com/sagikazarmark/locafero v0.12.0 // indirect
95105
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
106+
github.com/sirupsen/logrus v1.9.3 // indirect
96107
github.com/skeema/knownhosts v1.3.1 // indirect
97-
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
98108
github.com/spf13/afero v1.15.0 // indirect
99109
github.com/spf13/cast v1.10.0 // indirect
100110
github.com/spf13/pflag v1.0.10 // indirect
101111
github.com/spf13/viper v1.21.0 // indirect
102112
github.com/subosito/gotenv v1.6.0 // indirect
103113
github.com/ulikunitz/xz v0.5.15 // indirect
114+
github.com/vbatts/tar-split v0.12.2 // indirect
104115
github.com/vbauerster/mpb/v8 v8.10.2 // indirect
105116
github.com/xanzy/go-gitlab v0.110.0 // indirect
106117
github.com/xanzy/ssh-agent v0.3.3 // indirect
@@ -113,7 +124,7 @@ require (
113124
golang.org/x/crypto v0.45.0 // indirect
114125
golang.org/x/mod v0.30.0 // indirect
115126
golang.org/x/net v0.47.0 // indirect
116-
golang.org/x/oauth2 v0.31.0 // indirect
127+
golang.org/x/oauth2 v0.33.0 // indirect
117128
golang.org/x/sys v0.38.0 // indirect
118129
golang.org/x/term v0.37.0 // indirect
119130
golang.org/x/time v0.12.0 // indirect
@@ -124,7 +135,7 @@ require (
124135
gopkg.in/warnings.v0 v0.1.2 // indirect
125136
)
126137

127-
replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.55.1-0.20251216111654-54d67e0c03ac
138+
// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go master
128139

129140
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 master
130141

@@ -133,5 +144,3 @@ replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.
133144
// replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go dev
134145

135146
// replace github.com/jfrog/froggit-go => github.com/jfrog/froggit-go master
136-
137-
replace github.com/jfrog/jfrog-apps-config => github.com/barv-jfrog/jfrog-apps-config v0.0.0-20250128142442-6fd49006bb85

go.sum

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,11 @@ github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObk
4444
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
4545
github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04=
4646
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
47+
github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=
48+
github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
4749
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
4850
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
51+
github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q=
4952
github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo=
5053
github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
5154
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@@ -56,6 +59,9 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
5659
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5760
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
5861
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
62+
github.com/docker/cli v29.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
63+
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
64+
github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo=
5965
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L7HYpRu/0lE3e0BaElwnNO1qkNQxBY=
6066
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
6167
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
@@ -102,6 +108,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
102108
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
103109
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
104110
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
111+
github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM=
105112
github.com/google/go-github/v56 v56.0.0 h1:TysL7dMa/r7wsQi44BjqlwaHvwlFlqkK8CtBWCX3gb4=
106113
github.com/google/go-github/v56 v56.0.0/go.mod h1:D8cdcX98YWJvi7TLo7zM4/h8ZTx6u6fwGEkCdisopo0=
107114
github.com/google/go-github/v74 v74.0.0 h1:yZcddTUn8DPbj11GxnMrNiAnXH14gNs559AsUpNpPgM=
@@ -205,6 +212,7 @@ github.com/microsoft/azure-devops-go-api/azuredevops/v7 v7.1.0 h1:mmJCWLe63Qvybx
205212
github.com/microsoft/azure-devops-go-api/azuredevops/v7 v7.1.0/go.mod h1:mDunUZ1IUJdJIRHvFb+LPBUtxe3AYB5MI6BMXNg8194=
206213
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
207214
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
215+
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
208216
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
209217
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
210218
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
@@ -214,6 +222,8 @@ github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
214222
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
215223
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
216224
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
225+
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
226+
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
217227
github.com/owenrumney/go-sarif/v3 v3.2.3 h1:n6mdX5ugKwCrZInvBsf6WumXmpAe3mbmQXgkXlIq34U=
218228
github.com/owenrumney/go-sarif/v3 v3.2.3/go.mod h1:1bV7t8SZg7pX41spaDkEUs8/yEjzk9JapztMoX1XNjg=
219229
github.com/package-url/packageurl-go v0.1.3 h1:4juMED3hHiz0set3Vq3KeQ75KD1avthoXLtmE3I0PLs=
@@ -249,6 +259,7 @@ github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9t
249259
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
250260
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
251261
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
262+
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
252263
github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8=
253264
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
254265
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw=
@@ -268,6 +279,7 @@ github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/
268279
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
269280
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
270281
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
282+
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
271283
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
272284
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
273285
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
@@ -285,6 +297,7 @@ github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY=
285297
github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
286298
github.com/urfave/cli v1.22.17 h1:SYzXoiPfQjHBbkYxbew5prZHS1TOLT3ierW8SYLqtVQ=
287299
github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo=
300+
github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA=
288301
github.com/vbauerster/mpb/v8 v8.10.2 h1:2uBykSHAYHekE11YvJhKxYmLATKHAGorZwFlyNw4hHM=
289302
github.com/vbauerster/mpb/v8 v8.10.2/go.mod h1:+Ja4P92E3/CorSZgfDtK46D7AVbDqmBQRTmyTqPElo0=
290303
github.com/virtuald/go-ordered-json v0.0.0-20170621173500-b18e6e673d74 h1:JwtAtbp7r/7QSyGz8mKUbYJBg2+6Cd7OjM8o/GNOcVo=
@@ -341,6 +354,7 @@ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4Iltr
341354
golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
342355
golang.org/x/oauth2 v0.31.0 h1:8Fq0yVZLh4j4YA47vHKFTa9Ew5XIrCP8LC6UeNZnLxo=
343356
golang.org/x/oauth2 v0.31.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
357+
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
344358
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
345359
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
346360
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

0 commit comments

Comments
 (0)