From 5f5ca622c42a9f1c3739be901a0ccfcb113a6dad Mon Sep 17 00:00:00 2001 From: Yadian Llada Lopez Date: Wed, 22 Jul 2026 12:20:09 -0400 Subject: [PATCH 1/4] fix(backend/notification): raise message length limit to 500 characters --- .../park/utmstack/service/dto/notification/NotificationDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/park/utmstack/service/dto/notification/NotificationDTO.java b/backend/src/main/java/com/park/utmstack/service/dto/notification/NotificationDTO.java index 84324e8b3..7a3e564b6 100644 --- a/backend/src/main/java/com/park/utmstack/service/dto/notification/NotificationDTO.java +++ b/backend/src/main/java/com/park/utmstack/service/dto/notification/NotificationDTO.java @@ -28,7 +28,7 @@ public class NotificationDTO { private NotificationType type; @NotEmpty - @Size(min = 5, max = 280) + @Size(min = 5, max = 500) private String message; private LocalDateTime createdAt; From 0b7bdcbab7d5a56e89b843c746954e5ae7c6231d Mon Sep 17 00:00:00 2001 From: Yadian Llada Lopez Date: Wed, 22 Jul 2026 12:20:25 -0400 Subject: [PATCH 2/4] feat(plugins/rule-flood-guard): scope flood threshold per rule and data source --- plugins/rule-flood-guard/README.md | 18 ++++++------- plugins/rule-flood-guard/aggregation.go | 35 +++++++++++++++++++------ plugins/rule-flood-guard/backend.go | 19 +++----------- plugins/rule-flood-guard/guard.go | 9 +++---- 4 files changed, 42 insertions(+), 39 deletions(-) diff --git a/plugins/rule-flood-guard/README.md b/plugins/rule-flood-guard/README.md index bcf89fc8d..bf64ed9b2 100644 --- a/plugins/rule-flood-guard/README.md +++ b/plugins/rule-flood-guard/README.md @@ -1,15 +1,15 @@ # UTMStack Rule Flood Guard Plugin Safety net against alert fatigue: when a correlation rule floods the alerts -list with individual, non-deduplicated alerts, this plugin automatically -disables the rule and notifies the user through the notification bell, -suggesting they mark the alerts as false positives (Alert Tag Rules) or -fine-tune the rule (`deduplicateBy`/`groupBy`). +list with individual, non-deduplicated alerts from the same data source, +this plugin automatically disables the rule and notifies the user through +the notification bell, suggesting they mark the alerts as false positives +(Alert Tag Rules) or fine-tune the rule (`deduplicateBy`/`groupBy`). -The notification message names the rule and the alert threshold it -crossed. The backend allows up to 280 characters per notification, so -only unusually long rule names get trimmed to keep the message within -that limit. +The notification message names the rule, the data source, and the alert +threshold that was crossed. The backend allows up to 500 characters per +notification, which comfortably fits the fixed template wording plus +realistic rule and data source names, so the message is never truncated. ## Configuration @@ -29,7 +29,7 @@ plugins: | Field | Default | Meaning | |---|---|---| | `enabled` | `true` | Turns the guard on or off. | -| `threshold` | `50` | How many alerts trigger the auto-disable. | +| `threshold` | `50` | How many alerts from the same rule and data source trigger the auto-disable. | | `windowHours` | `24` | Time window used to count alerts. | | `intervalSeconds` | `300` | How often the guard checks. | diff --git a/plugins/rule-flood-guard/aggregation.go b/plugins/rule-flood-guard/aggregation.go index e26617b4f..2b816154d 100644 --- a/plugins/rule-flood-guard/aggregation.go +++ b/plugins/rule-flood-guard/aggregation.go @@ -8,15 +8,18 @@ import ( sdkos "github.com/threatwinds/go-sdk/os" ) -const alertIndex = "v11-alert-*" - -const falsePositiveTag = "False positive" - -const ruleNameAgg = "by_rule_name" +const ( + alertIndex = "v11-alert-*" + falsePositiveTag = "False positive" + ruleNameAgg = "by_rule_name" + dataSourceAgg = "by_data_source" + maxDataSourceBuckets = 10000 +) type ruleBucket struct { - RuleName string - Count int64 + RuleName string + DataSource string + Count int64 } func buildFloodQuery(window time.Duration, now time.Time) map[string]any { @@ -41,6 +44,14 @@ func buildFloodQuery(window time.Duration, now time.Time) map[string]any { "field": "name.keyword", "size": 1000, }, + "aggs": map[string]any{ + dataSourceAgg: map[string]any{ + "terms": map[string]any{ + "field": "dataSource.keyword", + "size": maxDataSourceBuckets, + }, + }, + }, }, }, } @@ -50,6 +61,12 @@ type termsBucketsResponse struct { Buckets []struct { Key string `json:"key"` DocCount int64 `json:"doc_count"` + Sub struct { + Buckets []struct { + Key string `json:"key"` + DocCount int64 `json:"doc_count"` + } `json:"buckets"` + } `json:"by_data_source"` } `json:"buckets"` } @@ -68,7 +85,9 @@ func parseRuleBuckets(aggs map[string]interface{}) ([]ruleBucket, error) { } buckets := make([]ruleBucket, 0, len(parsed.Buckets)) for _, bucket := range parsed.Buckets { - buckets = append(buckets, ruleBucket{RuleName: bucket.Key, Count: bucket.DocCount}) + for _, sub := range bucket.Sub.Buckets { + buckets = append(buckets, ruleBucket{RuleName: bucket.Key, DataSource: sub.Key, Count: sub.DocCount}) + } } return buckets, nil } diff --git a/plugins/rule-flood-guard/backend.go b/plugins/rule-flood-guard/backend.go index d1c7182aa..3a3f71a1f 100644 --- a/plugins/rule-flood-guard/backend.go +++ b/plugins/rule-flood-guard/backend.go @@ -14,9 +14,7 @@ import ( "github.com/threatwinds/go-sdk/catcher" ) -const notificationMessageTemplate = "Correlation rule '%s' generated over %d un-deduplicated alerts and was automatically disabled to prevent alert flooding. Mark false positives via Alert Tag Rules, or add deduplicateBy/groupBy to the rule, then re-enable it." - -const maxNotificationMessageLen = 280 +const notificationMessageTemplate = "Correlation rule '%s' generated over %d un-deduplicated alerts from data source '%s' and was disabled to prevent flooding. Mark false positives via Alert Tag Rules or add deduplicateBy/groupBy, then re-enable it." type backendClient struct { baseURL string @@ -153,17 +151,6 @@ func (c *backendClient) Notify(ctx context.Context, message string) error { return nil } -func floodNotificationMessage(ruleName string, threshold int64) string { - msg := fmt.Sprintf(notificationMessageTemplate, ruleName, threshold) - if len(msg) <= maxNotificationMessageLen { - return msg - } - - overflow := len(msg) - maxNotificationMessageLen - cut := len(ruleName) - overflow - 3 - if cut < 1 { - cut = 1 - } - name := ruleName[:cut] + "..." - return fmt.Sprintf(notificationMessageTemplate, name, threshold) +func floodNotificationMessage(ruleName string, threshold int64, dataSource string) string { + return fmt.Sprintf(notificationMessageTemplate, ruleName, threshold, dataSource) } diff --git a/plugins/rule-flood-guard/guard.go b/plugins/rule-flood-guard/guard.go index 0431a130e..447e9d9cd 100644 --- a/plugins/rule-flood-guard/guard.go +++ b/plugins/rule-flood-guard/guard.go @@ -36,20 +36,17 @@ func evaluateOnce(ctx context.Context, search searchFunc, client disableNotifier changed, err := client.Deactivate(ctx, b.RuleName) if err != nil { _ = catcher.Error("rule-flood-guard: failed to deactivate rule", err, map[string]any{ - "ruleName": b.RuleName, "count": b.Count, + "ruleName": b.RuleName, "dataSource": b.DataSource, "count": b.Count, }) - continue } if !changed { - // Already disabled (manually, or by a previous/overlapping - // cycle) — idempotent no-op, no duplicate notification. continue } - msg := floodNotificationMessage(b.RuleName, cfg.Threshold) + msg := floodNotificationMessage(b.RuleName, cfg.Threshold, b.DataSource) if err := client.Notify(ctx, msg); err != nil { _ = catcher.Error("rule-flood-guard: failed to send notification", err, map[string]any{ - "ruleName": b.RuleName, + "ruleName": b.RuleName, "dataSource": b.DataSource, }) } } From 0b2998f724afc12ab1e4f45572145252474e4251 Mon Sep 17 00:00:00 2001 From: Yadian Llada Lopez Date: Wed, 22 Jul 2026 12:59:55 -0400 Subject: [PATCH 3/4] feat(plugins/rule-flood-guard): auto-create default config file on first run --- plugins/rule-flood-guard/README.md | 2 +- plugins/rule-flood-guard/config.go | 43 ++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/plugins/rule-flood-guard/README.md b/plugins/rule-flood-guard/README.md index bf64ed9b2..e31fc9bde 100644 --- a/plugins/rule-flood-guard/README.md +++ b/plugins/rule-flood-guard/README.md @@ -33,4 +33,4 @@ plugins: | `windowHours` | `24` | Time window used to count alerts. | | `intervalSeconds` | `300` | How often the guard checks. | -If the file doesn't exist, the guard just runs with these defaults. +If the file doesn't exist, the plugin creates it with these defaults the first time it starts — it never overwrites a file that's already there. diff --git a/plugins/rule-flood-guard/config.go b/plugins/rule-flood-guard/config.go index 6a4754450..aad594b49 100644 --- a/plugins/rule-flood-guard/config.go +++ b/plugins/rule-flood-guard/config.go @@ -71,6 +71,48 @@ func applyFileConfig(base Config, fc fileConfig) Config { return base } +func writeDefaultConfigIfMissing(path string) { + if _, err := os.Stat(path); err == nil { + return + } else if !os.IsNotExist(err) { + _ = catcher.Error("rule-flood-guard: failed to stat config file, skipping default creation", err, map[string]any{"process": processName, "file": path}) + return + } + + dir := filepath.Dir(path) + if err := os.MkdirAll(dir, 0o755); err != nil { + _ = catcher.Error("rule-flood-guard: failed to create pipeline dir for default config", err, map[string]any{"process": processName, "dir": dir}) + return + } + + knobs := defaultKnobs() + pf := pluginsFile{Plugins: map[string]fileConfig{ + pluginKey: { + Enabled: &knobs.Enabled, + Threshold: &knobs.Threshold, + WindowHours: &knobs.WindowHours, + IntervalSeconds: &knobs.IntervalSeconds, + }, + }} + data, err := yaml.Marshal(pf) + if err != nil { + _ = catcher.Error("rule-flood-guard: failed to marshal default config", err, map[string]any{"process": processName}) + return + } + + tmp := path + ".tmp" + if err := os.WriteFile(tmp, data, 0o600); err != nil { + _ = catcher.Error("rule-flood-guard: failed to write default config file", err, map[string]any{"process": processName, "file": path}) + return + } + if err := os.Rename(tmp, path); err != nil { + _ = catcher.Error("rule-flood-guard: failed to finalize default config file", err, map[string]any{"process": processName, "file": path}) + return + } + + catcher.Info("rule-flood-guard: created default config file", map[string]any{"process": processName, "file": path}) +} + func loadKnobsFromFile(path string) (Config, error) { knobs := defaultKnobs() @@ -127,6 +169,7 @@ func loadConfig() (Config, string) { } path := filepath.Join(pipelineDir, configFileName) + writeDefaultConfigIfMissing(path) knobs, err := loadKnobsFromFile(path) if err != nil { _ = catcher.Error("rule-flood-guard: failed to read config file, using defaults", err, map[string]any{"process": processName, "file": path}) From 2daad686b9ad0a30fc1b248fa74ed7b785394907 Mon Sep 17 00:00:00 2001 From: Yadian Llada Lopez Date: Wed, 22 Jul 2026 13:03:52 -0400 Subject: [PATCH 4/4] chore(deps): update go dependencies --- plugins/aws/go.mod | 26 ++++++++-------- plugins/aws/go.sum | 52 ++++++++++++++++---------------- plugins/gcp/go.mod | 2 +- plugins/gcp/go.sum | 4 +-- plugins/modules-config/go.mod | 28 +++++++++--------- plugins/modules-config/go.sum | 56 +++++++++++++++++------------------ 6 files changed, 84 insertions(+), 84 deletions(-) diff --git a/plugins/aws/go.mod b/plugins/aws/go.mod index e50df64c9..80fefaf96 100644 --- a/plugins/aws/go.mod +++ b/plugins/aws/go.mod @@ -3,16 +3,16 @@ module github.com/utmstack/UTMStack/plugins/aws go 1.25.5 require ( - github.com/aws/aws-sdk-go-v2 v1.42.1 - github.com/aws/aws-sdk-go-v2/config v1.32.30 - github.com/aws/aws-sdk-go-v2/credentials v1.19.29 + github.com/aws/aws-sdk-go-v2 v1.43.0 + github.com/aws/aws-sdk-go-v2/config v1.32.31 + github.com/aws/aws-sdk-go-v2/credentials v1.19.30 github.com/google/uuid v1.6.0 github.com/threatwinds/go-sdk v1.1.26 ) require ( - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.4.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect github.com/bytedance/gopkg v0.1.4 // indirect github.com/goccy/go-yaml v1.19.2 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect @@ -28,15 +28,15 @@ require ( cel.dev/expr v0.25.2 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.44.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 // indirect github.com/aws/smithy-go v1.27.3 // indirect github.com/bytedance/sonic v1.15.2 // indirect github.com/bytedance/sonic/loader v0.5.1 // indirect diff --git a/plugins/aws/go.sum b/plugins/aws/go.sum index 168260ad3..f5f4d6496 100644 --- a/plugins/aws/go.sum +++ b/plugins/aws/go.sum @@ -2,36 +2,36 @@ cel.dev/expr v0.25.2 h1:K6j46C81hXtZQfuX60cVWQFBJahKSE2gfRbNuvr5bFs= cel.dev/expr v0.25.2/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= -github.com/aws/aws-sdk-go-v2 v1.42.1 h1:9eOTgu1z/dVtYpNZ3/8/XbbaX0x/BqE3HUzAzs6K0ek= -github.com/aws/aws-sdk-go-v2 v1.42.1/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= +github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= +github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 h1:3IZY0XAJquT3aHzbkHfPzy4ACPcEjVG0x87KOwtpqGY= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14/go.mod h1:zwM6veDkhGgQFqkBy+uT28AAYpLu+uFMlPl+rCg/73E= -github.com/aws/aws-sdk-go-v2/config v1.32.30 h1:XwsEzpTJfQYJbFicz/QMLwAZdyeNVVoOEkbF7R3gPJk= -github.com/aws/aws-sdk-go-v2/config v1.32.30/go.mod h1:Ud32SuMc+/9BGxfpSVld7HrE2o05JwKmXY4M3jOQNZU= -github.com/aws/aws-sdk-go-v2/credentials v1.19.29 h1:WHZGssHH887cO0ox07SIQZsFx3MKD4ps6w0xUEmnKYQ= -github.com/aws/aws-sdk-go-v2/credentials v1.19.29/go.mod h1:Mhl0xR6zjguiuj00XRx2wMx22sAltk7oya39sT7fdg8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30 h1:/hi1JADLEW9YYryEz1w4GQu0EtP23pP553Cf9KgsDV4= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30/go.mod h1:/3AOgy4K17Dm4ucMZVC/MJkzy5kmfKUcINRHZyo0koQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30 h1:xM/Is9cKMHa8Jj8zkvWhvrFkZsXJV9E+BB4g0HW0duQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30/go.mod h1:WueJeNDZvK1fMYEWJIkcivBfEzUkTpBhzlrUKKY8EuA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30 h1:jn46zC9LdsVR/ZpMIJqMqb8hHv31BlLx3ulVqNspUOk= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30/go.mod h1:1hTMsAgbdS/AtUi4bw8+gUuh1pceo+eXRLfpSuSQj3M= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31 h1:3GUprIsfmGcC5SACIyB0e7E0BM1O1b3Erl5CePYIAeQ= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31/go.mod h1:7PuV1yl5e2xnUbm+RqvVg5i2iBM8EyijZNoI9wsOoOc= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1 h1:VX6iCY+H/xWsd9Xyb+EnSl6GSgN/MNyc21wNkZk0EXk= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1/go.mod h1:h1Iw2nkdpmAUJaa89RvX3cg/HGLgdSkCWpMNgKvBSHA= +github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk= +github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs= +github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY= +github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0 h1:8bwR4D8tjjCCJDyTQVNExR8/YwcM1j0gfcg+kZBDzug= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0/go.mod h1:xTMcupQaB0rAXM3U+uf3UhleUEte+24wFd3BQsDlFQ8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30 h1:/Z5jmNrKsSD7EmDjzAPsm/3L9IuOkzaynklJZ1qX7S4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30/go.mod h1:lEzEZnOosE7zi8Z6royW1cFJTD9fpab4Ul1SBrllewk= -github.com/aws/aws-sdk-go-v2/service/signin v1.4.1 h1:V7ZZ300WPXGjvkyore5DGe0ljVPOxCXie/thWdtSBXE= -github.com/aws/aws-sdk-go-v2/service/signin v1.4.1/go.mod h1:mxC0nT/C8wMMS97DemZPzvUZxvIt+2Iq+eS3JdFZGgg= -github.com/aws/aws-sdk-go-v2/service/sso v1.32.1 h1:gYFYh4iLLcAOJRLNPY2aD2g9DIhKn4eof8UkIrr1rTk= -github.com/aws/aws-sdk-go-v2/service/sso v1.32.1/go.mod h1:u8af9Nqkmqnr96f7v9nHqzZT9XBwbXEkTiqT4ROuJSE= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1 h1:arjT9Cm3/WYbGmD5TUZHk4UQn4Lle1fUNZs5FC6CtF0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1/go.mod h1:DMPWJBjYs6+3+f/qhBFEFPPlQ6NlhWjai3dJNvipJ84= -github.com/aws/aws-sdk-go-v2/service/sts v1.44.1 h1:RvfHDg+xvAeZ+5741vUEjpOVtYSIm93W2zhx10Xtydw= -github.com/aws/aws-sdk-go-v2/service/sts v1.44.1/go.mod h1:9gdl4RrflIdpDb2TlXshWgR1F9TeCkvqDx77Vpr4Z/Q= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= github.com/aws/smithy-go v1.27.3 h1:F3Zb497UhhskkfpJmfkXswyo+t0sh9OTBnIHjogWbVY= github.com/aws/smithy-go v1.27.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/bytedance/gopkg v0.1.4 h1:oZnQwnX82KAIWb7033bEwtxvTqXcYMxDBaQxo5JJHWM= diff --git a/plugins/gcp/go.mod b/plugins/gcp/go.mod index d0e24675c..fe650c253 100644 --- a/plugins/gcp/go.mod +++ b/plugins/gcp/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/pubsub v1.51.0 github.com/google/uuid v1.6.0 github.com/threatwinds/go-sdk v1.1.26 - google.golang.org/api v0.289.0 + google.golang.org/api v0.290.0 google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) diff --git a/plugins/gcp/go.sum b/plugins/gcp/go.sum index 2de842c02..9694687cd 100644 --- a/plugins/gcp/go.sum +++ b/plugins/gcp/go.sum @@ -250,8 +250,8 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/api v0.289.0 h1:DmH0c6NigNFmsvsohM9bxv+MzVhag3aGHnojA5fFQjc= -google.golang.org/api v0.289.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= +google.golang.org/api v0.290.0 h1:eMw0Xo+IfbbMlKmW7aHvpyQRv9RCXuWx/vs8AD+0x9A= +google.golang.org/api v0.290.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= diff --git a/plugins/modules-config/go.mod b/plugins/modules-config/go.mod index 24b48040d..afcc8c1c2 100644 --- a/plugins/modules-config/go.mod +++ b/plugins/modules-config/go.mod @@ -7,15 +7,15 @@ require ( github.com/AtlasInsideCorp/AtlasInsideAES v1.0.0 github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/v2 v2.0.2 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.0 - github.com/aws/aws-sdk-go-v2/config v1.32.30 - github.com/aws/aws-sdk-go-v2/credentials v1.19.29 - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1 - github.com/aws/aws-sdk-go-v2/service/sts v1.44.1 + github.com/aws/aws-sdk-go-v2/config v1.32.31 + github.com/aws/aws-sdk-go-v2/credentials v1.19.30 + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0 + github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 github.com/crowdstrike/gofalcon v0.21.1 github.com/gin-gonic/gin v1.12.0 github.com/threatwinds/go-sdk v1.1.26 golang.org/x/sync v0.22.0 - google.golang.org/api v0.289.0 + google.golang.org/api v0.290.0 google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 ) @@ -32,17 +32,17 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 // indirect github.com/Azure/go-amqp v1.5.1 // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect - github.com/aws/aws-sdk-go-v2 v1.42.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect github.com/aws/smithy-go v1.27.3 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/bytedance/gopkg v0.1.4 // indirect diff --git a/plugins/modules-config/go.sum b/plugins/modules-config/go.sum index b4c1bbf81..692ef3fa9 100644 --- a/plugins/modules-config/go.sum +++ b/plugins/modules-config/go.sum @@ -42,36 +42,36 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.7.2/go.mod h1:HKpQ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= -github.com/aws/aws-sdk-go-v2 v1.42.1 h1:9eOTgu1z/dVtYpNZ3/8/XbbaX0x/BqE3HUzAzs6K0ek= -github.com/aws/aws-sdk-go-v2 v1.42.1/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= +github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= +github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14 h1:3IZY0XAJquT3aHzbkHfPzy4ACPcEjVG0x87KOwtpqGY= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.14/go.mod h1:zwM6veDkhGgQFqkBy+uT28AAYpLu+uFMlPl+rCg/73E= -github.com/aws/aws-sdk-go-v2/config v1.32.30 h1:XwsEzpTJfQYJbFicz/QMLwAZdyeNVVoOEkbF7R3gPJk= -github.com/aws/aws-sdk-go-v2/config v1.32.30/go.mod h1:Ud32SuMc+/9BGxfpSVld7HrE2o05JwKmXY4M3jOQNZU= -github.com/aws/aws-sdk-go-v2/credentials v1.19.29 h1:WHZGssHH887cO0ox07SIQZsFx3MKD4ps6w0xUEmnKYQ= -github.com/aws/aws-sdk-go-v2/credentials v1.19.29/go.mod h1:Mhl0xR6zjguiuj00XRx2wMx22sAltk7oya39sT7fdg8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30 h1:/hi1JADLEW9YYryEz1w4GQu0EtP23pP553Cf9KgsDV4= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.30/go.mod h1:/3AOgy4K17Dm4ucMZVC/MJkzy5kmfKUcINRHZyo0koQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30 h1:xM/Is9cKMHa8Jj8zkvWhvrFkZsXJV9E+BB4g0HW0duQ= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.30/go.mod h1:WueJeNDZvK1fMYEWJIkcivBfEzUkTpBhzlrUKKY8EuA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30 h1:jn46zC9LdsVR/ZpMIJqMqb8hHv31BlLx3ulVqNspUOk= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.30/go.mod h1:1hTMsAgbdS/AtUi4bw8+gUuh1pceo+eXRLfpSuSQj3M= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31 h1:3GUprIsfmGcC5SACIyB0e7E0BM1O1b3Erl5CePYIAeQ= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.31/go.mod h1:7PuV1yl5e2xnUbm+RqvVg5i2iBM8EyijZNoI9wsOoOc= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1 h1:VX6iCY+H/xWsd9Xyb+EnSl6GSgN/MNyc21wNkZk0EXk= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.79.1/go.mod h1:h1Iw2nkdpmAUJaa89RvX3cg/HGLgdSkCWpMNgKvBSHA= +github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk= +github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs= +github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY= +github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0 h1:8bwR4D8tjjCCJDyTQVNExR8/YwcM1j0gfcg+kZBDzug= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.80.0/go.mod h1:xTMcupQaB0rAXM3U+uf3UhleUEte+24wFd3BQsDlFQ8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30 h1:/Z5jmNrKsSD7EmDjzAPsm/3L9IuOkzaynklJZ1qX7S4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.30/go.mod h1:lEzEZnOosE7zi8Z6royW1cFJTD9fpab4Ul1SBrllewk= -github.com/aws/aws-sdk-go-v2/service/signin v1.4.1 h1:V7ZZ300WPXGjvkyore5DGe0ljVPOxCXie/thWdtSBXE= -github.com/aws/aws-sdk-go-v2/service/signin v1.4.1/go.mod h1:mxC0nT/C8wMMS97DemZPzvUZxvIt+2Iq+eS3JdFZGgg= -github.com/aws/aws-sdk-go-v2/service/sso v1.32.1 h1:gYFYh4iLLcAOJRLNPY2aD2g9DIhKn4eof8UkIrr1rTk= -github.com/aws/aws-sdk-go-v2/service/sso v1.32.1/go.mod h1:u8af9Nqkmqnr96f7v9nHqzZT9XBwbXEkTiqT4ROuJSE= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1 h1:arjT9Cm3/WYbGmD5TUZHk4UQn4Lle1fUNZs5FC6CtF0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.37.1/go.mod h1:DMPWJBjYs6+3+f/qhBFEFPPlQ6NlhWjai3dJNvipJ84= -github.com/aws/aws-sdk-go-v2/service/sts v1.44.1 h1:RvfHDg+xvAeZ+5741vUEjpOVtYSIm93W2zhx10Xtydw= -github.com/aws/aws-sdk-go-v2/service/sts v1.44.1/go.mod h1:9gdl4RrflIdpDb2TlXshWgR1F9TeCkvqDx77Vpr4Z/Q= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= github.com/aws/smithy-go v1.27.3 h1:F3Zb497UhhskkfpJmfkXswyo+t0sh9OTBnIHjogWbVY= github.com/aws/smithy-go v1.27.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= @@ -378,8 +378,8 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= -google.golang.org/api v0.289.0 h1:DmH0c6NigNFmsvsohM9bxv+MzVhag3aGHnojA5fFQjc= -google.golang.org/api v0.289.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= +google.golang.org/api v0.290.0 h1:eMw0Xo+IfbbMlKmW7aHvpyQRv9RCXuWx/vs8AD+0x9A= +google.golang.org/api v0.290.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=