diff --git a/go.mod b/go.mod index 1d91bfd..4b05e2b 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/deepfence/SecretScanner -go 1.21.0 - -toolchain go1.22.0 +go 1.22.0 replace github.com/deepfence/agent-plugins-grpc => ./agent-plugins-grpc diff --git a/main.go b/main.go index c7bd94a..c4af599 100644 --- a/main.go +++ b/main.go @@ -33,6 +33,7 @@ import ( "path" "runtime" "strconv" + "sync/atomic" "time" "github.com/deepfence/SecretScanner/core" @@ -100,6 +101,7 @@ func runOnce(ctx context.Context, filters config.Filters, format string) { scanCtx := tasks.ScanContext{ Context: ctx, + IsAlive: atomic.Bool{}, } scan.Scan(&scanCtx, nodeType, filters, "", node_id, "", func(sf output.SecretFound, s string) { @@ -157,7 +159,6 @@ func runOnce(ctx context.Context, filters config.Filters, format string) { } func main() { - log.SetOutput(os.Stderr) log.SetLevel(log.InfoLevel) log.SetReportCaller(true) @@ -183,7 +184,7 @@ func main() { if *socketPath != "" { err := server.RunServer(ctx, *socketPath, PLUGIN_NAME) if err != nil { - log.Fatal("main: failed to serve: %v", err) + log.Fatalf("main: failed to serve: %v", err) } } else { extCfg := config.Config2Filter(core.GetSession().ExtractorConfig) diff --git a/scan/scanner.go b/scan/scanner.go index f89ec16..3a288f7 100644 --- a/scan/scanner.go +++ b/scan/scanner.go @@ -83,9 +83,9 @@ func Scan(ctx *tasks.ScanContext, wg.Add(1) go func() { defer wg.Done() - for malwares := range results { - for _, malware := range malwares { - outputFn(malware, scanID) + for secrets := range results { + for _, secret := range secrets { + outputFn(secret, scanID) } } }() @@ -96,12 +96,13 @@ func Scan(ctx *tasks.ScanContext, return } } - m, err := scanFile(f.Content, f.Filename, filepath.Base(f.Filename), filepath.Ext(f.Filename), "") + logrus.Infof("Scanning file: %v", f.Filename) + s, err := scanFile(f.Content, f.Filename, filepath.Base(f.Filename), filepath.Ext(f.Filename), "") if err != nil { logrus.Infof("file: %v, err: %v", f.Filename, err) } - results <- m + results <- s }) close(results) diff --git a/signature/signatures.go b/signature/signatures.go index f658486..13108e6 100644 --- a/signature/signatures.go +++ b/signature/signatures.go @@ -97,7 +97,7 @@ func MatchPatternSignatures(contents io.ReadSeeker, path string, filename string SeverityScore: signature.SeverityScore, MatchFromByte: indexes[0], MatchToByte: indexes[1], - CompleteFilename: filename, + CompleteFilename: path, }) break } @@ -150,7 +150,7 @@ func MatchSimpleSignatures(contents io.ReadSeeker, path string, filename string, SeverityScore: signature.SeverityScore, MatchFromByte: indexes[0], MatchToByte: indexes[1], - CompleteFilename: filename, + CompleteFilename: path, }) } }