Skip to content

Commit 44f487f

Browse files
committed
build(deps): bump github.com/securego/gosec/v2 from 5f0084eb01a9 to 81cda2f91fbe
1 parent 741df1f commit 44f487f

File tree

7 files changed

+54
-26
lines changed

7 files changed

+54
-26
lines changed

.golangci.next.reference.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,7 @@ linters-settings:
874874
- G504 # Import blocklist: net/http/cgi
875875
- G505 # Import blocklist: crypto/sha1
876876
- G601 # Implicit memory aliasing of items from a range statement
877+
- G602 # Slice access out of bounds
877878

878879
# To specify a set of rules to explicitly exclude.
879880
# Available rules: https://github.com/securego/gosec#available-rules
@@ -913,6 +914,7 @@ linters-settings:
913914
- G504 # Import blocklist: net/http/cgi
914915
- G505 # Import blocklist: crypto/sha1
915916
- G601 # Implicit memory aliasing of items from a range statement
917+
- G602 # Slice access out of bounds
916918

917919
# Exclude generated files
918920
# Default: false

.golangci.reference.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,7 @@ linters-settings:
874874
- G504 # Import blocklist: net/http/cgi
875875
- G505 # Import blocklist: crypto/sha1
876876
- G601 # Implicit memory aliasing of items from a range statement
877+
- G602 # Slice access out of bounds
877878

878879
# To specify a set of rules to explicitly exclude.
879880
# Available rules: https://github.com/securego/gosec#available-rules
@@ -913,6 +914,7 @@ linters-settings:
913914
- G504 # Import blocklist: net/http/cgi
914915
- G505 # Import blocklist: crypto/sha1
915916
- G601 # Implicit memory aliasing of items from a range statement
917+
- G602 # Slice access out of bounds
916918

917919
# Exclude generated files
918920
# Default: false

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ require (
9292
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1
9393
github.com/sashamelentyev/interfacebloat v1.1.0
9494
github.com/sashamelentyev/usestdlibvars v1.27.0
95-
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9
95+
github.com/securego/gosec/v2 v2.20.1-0.20240820084340-81cda2f91fbe
9696
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c
9797
github.com/shirou/gopsutil/v3 v3.24.5
9898
github.com/sirupsen/logrus v1.9.3
@@ -124,7 +124,7 @@ require (
124124
go-simpler.org/musttag v0.12.2
125125
go-simpler.org/sloglint v0.7.2
126126
go.uber.org/automaxprocs v1.5.3
127-
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc
127+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
128128
golang.org/x/tools v0.24.0
129129
gopkg.in/yaml.v3 v3.0.1
130130
honnef.co/go/tools v0.5.1
@@ -192,8 +192,8 @@ require (
192192
golang.org/x/mod v0.20.0 // indirect
193193
golang.org/x/sync v0.8.0 // indirect
194194
golang.org/x/sys v0.23.0 // indirect
195-
golang.org/x/text v0.15.0 // indirect
196-
google.golang.org/protobuf v1.33.0 // indirect
195+
golang.org/x/text v0.17.0 // indirect
196+
google.golang.org/protobuf v1.34.2 // indirect
197197
gopkg.in/ini.v1 v1.67.0 // indirect
198198
gopkg.in/yaml.v2 v2.4.0 // indirect
199199
)

go.sum

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

jsonschema/golangci.jsonschema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@
157157
"G503",
158158
"G504",
159159
"G505",
160-
"G601"
160+
"G601",
161+
"G602"
161162
]
162163
},
163164
"govet-analyzers": {

jsonschema/golangci.next.jsonschema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@
157157
"G503",
158158
"G504",
159159
"G505",
160-
"G601"
160+
"G601",
161+
"G602"
161162
]
162163
},
163164
"govet-analyzers": {

pkg/golinters/gosec/gosec.go

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"sync"
1111

1212
"github.com/securego/gosec/v2"
13+
"github.com/securego/gosec/v2/analyzers"
1314
"github.com/securego/gosec/v2/issue"
1415
"github.com/securego/gosec/v2/rules"
1516
"golang.org/x/tools/go/analysis"
@@ -27,16 +28,20 @@ func New(settings *config.GoSecSettings) *goanalysis.Linter {
2728
var mu sync.Mutex
2829
var resIssues []goanalysis.Issue
2930

30-
var filters []rules.RuleFilter
3131
conf := gosec.NewConfig()
32+
33+
var ruleFilters []rules.RuleFilter
34+
var analyzerFilters []analyzers.AnalyzerFilter
3235
if settings != nil {
33-
filters = gosecRuleFilters(settings.Includes, settings.Excludes)
36+
ruleFilters = createRuleFilters(settings.Includes, settings.Excludes)
37+
analyzerFilters = createAnalyzerFilters(settings.Includes, settings.Excludes)
3438
conf = toGosecConfig(settings)
3539
}
3640

3741
logger := log.New(io.Discard, "", 0)
3842

39-
ruleDefinitions := rules.Generate(false, filters...)
43+
ruleDefinitions := rules.Generate(false, ruleFilters...)
44+
analyzerDefinitions := analyzers.Generate(false, analyzerFilters...)
4045

4146
analyzer := &analysis.Analyzer{
4247
Name: linterName,
@@ -53,7 +58,9 @@ func New(settings *config.GoSecSettings) *goanalysis.Linter {
5358
analyzer.Run = func(pass *analysis.Pass) (any, error) {
5459
// The `gosecAnalyzer` is here because of concurrency issue.
5560
gosecAnalyzer := gosec.NewAnalyzer(conf, true, settings.ExcludeGenerated, false, settings.Concurrency, logger)
61+
5662
gosecAnalyzer.LoadRules(ruleDefinitions.RulesInfo())
63+
gosecAnalyzer.LoadAnalyzers(analyzerDefinitions.AnalyzersInfo())
5764

5865
issues := runGoSec(lintCtx, pass, settings, gosecAnalyzer)
5966

@@ -176,8 +183,23 @@ func convertGosecGlobals(globalOptionFromConfig any, conf gosec.Config) {
176183
}
177184
}
178185

186+
// based on https://github.com/securego/gosec/blob/81cda2f91fbe1bf4735feb55febcae03e697a92b/cmd/gosec/main.go#L258-L275
187+
func createAnalyzerFilters(includes, excludes []string) []analyzers.AnalyzerFilter {
188+
var filters []analyzers.AnalyzerFilter
189+
190+
if len(includes) > 0 {
191+
filters = append(filters, analyzers.NewAnalyzerFilter(false, includes...))
192+
}
193+
194+
if len(excludes) > 0 {
195+
filters = append(filters, analyzers.NewAnalyzerFilter(true, excludes...))
196+
}
197+
198+
return filters
199+
}
200+
179201
// based on https://github.com/securego/gosec/blob/569328eade2ccbad4ce2d0f21ee158ab5356a5cf/cmd/gosec/main.go#L170-L188
180-
func gosecRuleFilters(includes, excludes []string) []rules.RuleFilter {
202+
func createRuleFilters(includes, excludes []string) []rules.RuleFilter {
181203
var filters []rules.RuleFilter
182204

183205
if len(includes) > 0 {

0 commit comments

Comments
 (0)