Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gosec for openSUSE:Factory checked 
in at 2025-07-30 11:45:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gosec (Old)
 and      /work/SRC/openSUSE:Factory/.gosec.new.13279 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gosec"

Wed Jul 30 11:45:31 2025 rev:25 rq:1296369 version:2.22.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/gosec/gosec.changes      2025-06-17 
18:22:12.094255257 +0200
+++ /work/SRC/openSUSE:Factory/.gosec.new.13279/gosec.changes   2025-07-30 
11:46:36.033760389 +0200
@@ -1,0 +2,15 @@
+Tue Jul 29 07:04:07 UTC 2025 - Felix Niederwanger <[email protected]>
+
+- Update to version 2.22.7:
+  * Fix crash in hardcoded_nonce analyzer
+  * Update go action to use release v2.22.6
+  * Update go version to 1.24.5 and 1.23.11 in the CI
+  * chore(deps): update module google.golang.org/api to v0.242.0
+  * chore(deps): update all dependencies
+  * chore(deps): update all dependencies
+  * chore(deps): update all dependencies
+  * chore(deps): update all dependencies
+  * Do not allow dashes in file names
+  * Update gosec to version 2.22.5 in Github action
+
+-------------------------------------------------------------------

Old:
----
  gosec-2.22.5.obscpio

New:
----
  gosec-2.22.7.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gosec.spec ++++++
--- /var/tmp/diff_new_pack.YJQJZS/_old  2025-07-30 11:46:36.889795800 +0200
+++ /var/tmp/diff_new_pack.YJQJZS/_new  2025-07-30 11:46:36.889795800 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gosec
-Version:        2.22.5
+Version:        2.22.7
 Release:        0
 Summary:        CLI tool to scan the Go AST and SSA code representations for 
security problems
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.YJQJZS/_old  2025-07-30 11:46:36.937797786 +0200
+++ /var/tmp/diff_new_pack.YJQJZS/_new  2025-07-30 11:46:36.945798117 +0200
@@ -4,7 +4,8 @@
     <param name="filename">gosec</param>
     <param name="url">https://github.com/securego/gosec.git</param>
     <param name="scm">git</param>
-    <param name="revision">v2.22.5</param>
+       <param name="revision">v2.22.7</param>
+       <param name="match-tag">v*</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.YJQJZS/_old  2025-07-30 11:46:36.961798779 +0200
+++ /var/tmp/diff_new_pack.YJQJZS/_new  2025-07-30 11:46:36.965798945 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/securego/gosec.git</param>
-              <param 
name="changesrevision">d2d3ae66bd8d340b78b5142b6fe610691783c2fe</param></service></servicedata>
+              <param 
name="changesrevision">32975f4bab0d7b683a88756aaf3fa5502188b476</param></service></servicedata>
 (No newline at EOF)
 

++++++ gosec-2.22.5.obscpio -> gosec-2.22.7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/.github/workflows/ci.yml 
new/gosec-2.22.7/.github/workflows/ci.yml
--- old/gosec-2.22.5/.github/workflows/ci.yml   2025-06-16 11:50:02.000000000 
+0200
+++ new/gosec-2.22.7/.github/workflows/ci.yml   2025-07-21 17:19:49.000000000 
+0200
@@ -10,7 +10,7 @@
   test:
     strategy:
       matrix:
-        version: [{go: '1.23.10', golangci: 'latest'}, {go: '1.24.4', 
golangci: 'latest'}]
+        version: [{go: '1.23.11', golangci: 'latest'}, {go: '1.24.5', 
golangci: 'latest'}]
     runs-on: ubuntu-latest
     env:
       GO111MODULE: on
@@ -48,7 +48,7 @@
       - name: Setup go
         uses: actions/setup-go@v5
         with:
-          go-version: '1.24.4'
+          go-version: '1.24.5'
       - name: Checkout Source
         uses: actions/checkout@v4
       - uses: actions/cache@v4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/.github/workflows/release.yml 
new/gosec-2.22.7/.github/workflows/release.yml
--- old/gosec-2.22.5/.github/workflows/release.yml      2025-06-16 
11:50:02.000000000 +0200
+++ new/gosec-2.22.7/.github/workflows/release.yml      2025-07-21 
17:19:49.000000000 +0200
@@ -17,7 +17,7 @@
       - name: Set up Go
         uses: actions/setup-go@v5
         with:
-          go-version: '1.24.4'
+          go-version: '1.24.5'
       - name: Install Cosign
         uses: sigstore/cosign-installer@v3
         with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/.golangci.yml 
new/gosec-2.22.7/.golangci.yml
--- old/gosec-2.22.5/.golangci.yml      2025-06-16 11:50:02.000000000 +0200
+++ new/gosec-2.22.7/.golangci.yml      2025-07-21 17:19:49.000000000 +0200
@@ -24,6 +24,9 @@
       rules:
         - name: dot-imports
           disabled: true
+        - name: filename-format
+          arguments:
+            - ^[a-z][_a-z0-9]*.go$
         - name: redefines-builtin-id
     staticcheck:
       checks:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/action.yml new/gosec-2.22.7/action.yml
--- old/gosec-2.22.5/action.yml 2025-06-16 11:50:02.000000000 +0200
+++ new/gosec-2.22.7/action.yml 2025-07-21 17:19:49.000000000 +0200
@@ -10,7 +10,7 @@
 
 runs:
     using: 'docker'
-    image: 'docker://securego/gosec:2.22.3'
+    image: 'docker://securego/gosec:2.22.6'
     args:
       - ${{ inputs.args }}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/analyzers/hardcoded_nonce.go 
new/gosec-2.22.7/analyzers/hardcoded_nonce.go
--- old/gosec-2.22.5/analyzers/hardcoded_nonce.go       2025-06-16 
11:50:02.000000000 +0200
+++ new/gosec-2.22.7/analyzers/hardcoded_nonce.go       2025-07-21 
17:19:49.000000000 +0200
@@ -197,12 +197,20 @@
 }
 
 func addToVarsMap(value ssa.Value, mapToAddTo map[string]*ssa.Value) {
-       key := value.Name() + value.Type().String() + value.String() + 
value.Parent().String()
+       var parent string
+       if value.Parent() != nil {
+               parent = value.Parent().String()
+       }
+       key := value.Name() + value.Type().String() + value.String() + parent
        mapToAddTo[key] = &value
 }
 
 func isContainedInMap(value ssa.Value, mapToCheck map[string]*ssa.Value) bool {
-       key := value.Name() + value.Type().String() + value.String() + 
value.Parent().String()
+       var parent string
+       if value.Parent() != nil {
+               parent = value.Parent().String()
+       }
+       key := value.Name() + value.Type().String() + value.String() + parent
        _, contained := mapToCheck[key]
        return contained
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/go.mod new/gosec-2.22.7/go.mod
--- old/gosec-2.22.5/go.mod     2025-06-16 11:50:02.000000000 +0200
+++ new/gosec-2.22.7/go.mod     2025-07-21 17:19:49.000000000 +0200
@@ -10,10 +10,10 @@
        github.com/onsi/ginkgo/v2 v2.23.4
        github.com/onsi/gomega v1.37.0
        github.com/stretchr/testify v1.10.0
-       golang.org/x/crypto v0.39.0
-       golang.org/x/text v0.26.0
-       golang.org/x/tools v0.34.0
-       google.golang.org/api v0.237.0
+       golang.org/x/crypto v0.40.0
+       golang.org/x/text v0.27.0
+       golang.org/x/tools v0.35.0
+       google.golang.org/api v0.242.0
        gopkg.in/yaml.v3 v3.0.1
 )
 
@@ -44,11 +44,11 @@
        go.opentelemetry.io/otel/metric v1.36.0 // indirect
        go.opentelemetry.io/otel/trace v1.36.0 // indirect
        go.uber.org/automaxprocs v1.6.0 // indirect
-       golang.org/x/mod v0.25.0 // indirect
-       golang.org/x/net v0.41.0 // indirect
+       golang.org/x/mod v0.26.0 // indirect
+       golang.org/x/net v0.42.0 // indirect
        golang.org/x/oauth2 v0.30.0 // indirect
-       golang.org/x/sync v0.15.0 // indirect
-       golang.org/x/sys v0.33.0 // indirect
+       golang.org/x/sync v0.16.0 // indirect
+       golang.org/x/sys v0.34.0 // indirect
        golang.org/x/time v0.12.0 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20250603155806-513f23925822 // indirect
        google.golang.org/genproto/googleapis/rpc 
v0.0.0-20250603155806-513f23925822 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/go.sum new/gosec-2.22.7/go.sum
--- old/gosec-2.22.5/go.sum     2025-06-16 11:50:02.000000000 +0200
+++ new/gosec-2.22.7/go.sum     2025-07-21 17:19:49.000000000 +0200
@@ -417,8 +417,8 @@
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod 
h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
-golang.org/x/crypto v0.39.0/go.mod 
h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
+golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
+golang.org/x/crypto v0.40.0/go.mod 
h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod 
h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -452,8 +452,8 @@
 golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod 
h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
-golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
+golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
+golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -486,8 +486,8 @@
 golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod 
h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod 
h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
-golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
+golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -504,8 +504,8 @@
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
-golang.org/x/sync v0.15.0/go.mod 
h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
+golang.org/x/sync v0.16.0/go.mod 
h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -546,18 +546,18 @@
 golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
-golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
+golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod 
h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
-golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
-golang.org/x/term v0.32.0/go.mod 
h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
+golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
+golang.org/x/term v0.33.0/go.mod 
h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
-golang.org/x/text v0.26.0/go.mod 
h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
+golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
+golang.org/x/text v0.27.0/go.mod 
h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
 golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -611,8 +611,8 @@
 golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod 
h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod 
h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
 golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod 
h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
-golang.org/x/tools v0.34.0/go.mod 
h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
+golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
+golang.org/x/tools v0.35.0/go.mod 
h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -632,8 +632,8 @@
 google.golang.org/api v0.24.0/go.mod 
h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
 google.golang.org/api v0.28.0/go.mod 
h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
 google.golang.org/api v0.29.0/go.mod 
h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
-google.golang.org/api v0.237.0 h1:MP7XVsGZesOsx3Q8WVa4sUdbrsTvDSOERd3Vh4xj/wc=
-google.golang.org/api v0.237.0/go.mod 
h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
+google.golang.org/api v0.242.0 h1:7Lnb1nfnpvbkCiZek6IXKdJ0MFuAZNAJKQfA1ws62xg=
+google.golang.org/api v0.242.0/go.mod 
h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
 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/appengine v1.5.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/report/html/template.html 
new/gosec-2.22.7/report/html/template.html
--- old/gosec-2.22.5/report/html/template.html  2025-06-16 11:50:02.000000000 
+0200
+++ new/gosec-2.22.7/report/html/template.html  2025-07-21 17:19:49.000000000 
+0200
@@ -4,13 +4,13 @@
   <meta charset="utf-8">
   <title>Golang Security Checker</title>
   <link rel="shortcut icon" type="image/png" 
href="https://securego.io/img/favicon.png";>
-  <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/bulma/1.0.3/css/bulma.min.css"; 
integrity="sha512-4EnjWdm80dyWrJ7rh/tlhNt6fJL52dSDSHNEqfdVmBLpJLPrRYnFa+Kn4ZZL+FRkDL5/7lAXuHylzJkpzkSM2A=="
 crossorigin="anonymous"/>
+  <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/bulma/1.0.4/css/bulma.min.css"; 
integrity="sha512-yh2RE0wZCVZeysGiqTwDTO/dKelCbS9bP2L94UvOFtl/FKXcNAje3Y2oBg/ZMZ3LS1sicYk4dYVGtDex75fvvA=="
 crossorigin="anonymous"/>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/default.min.css";
 
integrity="sha512-hasIneQUHlh06VNBe7f6ZcHmeRTLIaQWFd43YriJ0UND19bvYRauxthDg8E4eVNPm9bRUhr5JGeqH7FRFXQu5g=="
 crossorigin="anonymous"/>
   <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/highlight.min.js";
 
integrity="sha512-EBLzUL8XLl+va/zAsmXwS7Z2B1F9HUHkZwyS/VKwh3S7T/U0nF4BaU29EP/ZSf6zgiIxYAnKLu6bJ8dqpmX5uw=="
 crossorigin="anonymous"></script>
   <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/languages/go.min.js";
 
integrity="sha512-weC0VNVf2qQR6OY675qO0AEL92gt3h5f2VGjhMUvi/UqFHaWzIEL5S/8Dt763fWfKftchzb7GryvEj/2HC9Exw=="
 crossorigin="anonymous"></script>
   <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/react/15.7.0/react.min.js"; 
integrity="sha512-+TFn1Gqbwx/qgwW3NU1/YtFYTfHGeD1e/8YfJZzkb6TFEZP4SUwp1Az9DMeWh3qC0F+YPKXbV3YclMUwBTvO3g=="
 crossorigin="anonymous"></script>
   <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/react/15.6.1/react-dom.min.js"; 
integrity="sha512-8C49ZG/SaQnWaUgCHTU1o8uIQNYE6R8me38SwF26g2Q0byEXF4Jlvm+T/JAMHMeTBiEVPslSZRv9Xt4AV0pfmw=="
 crossorigin="anonymous"></script>
-  <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/7.26.5/babel.min.js";
 
integrity="sha512-Y37Caenc5CZqwSMwWZj+5uxkB3Loc9yJNHvb+eSwEsT6nhURSrPZo39vTnb5g8UvOGCNXRbQ+xQvnqr2rR9nRw=="
 crossorigin="anonymous"></script>
+  <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/7.28.1/babel.min.js";
 
integrity="sha512-SSqlwbIuz75Gz/tzPjqnxeFSMChqliTzO0op6pmAWyMiu9JGCsoVlJKflK4HrJNBH4SjryMrmLV4gGFn5qru/w=="
 crossorigin="anonymous"></script>
   <style>
   .field-label {
     min-width: 80px;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/rules/decompression-bomb.go 
new/gosec-2.22.7/rules/decompression-bomb.go
--- old/gosec-2.22.5/rules/decompression-bomb.go        2025-06-16 
11:50:02.000000000 +0200
+++ new/gosec-2.22.7/rules/decompression-bomb.go        1970-01-01 
01:00:00.000000000 +0100
@@ -1,111 +0,0 @@
-// (c) Copyright 2016 Hewlett Packard Enterprise Development LP
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package rules
-
-import (
-       "fmt"
-       "go/ast"
-
-       "github.com/securego/gosec/v2"
-       "github.com/securego/gosec/v2/issue"
-)
-
-type decompressionBombCheck struct {
-       issue.MetaData
-       readerCalls gosec.CallList
-       copyCalls   gosec.CallList
-}
-
-func (d *decompressionBombCheck) ID() string {
-       return d.MetaData.ID
-}
-
-func containsReaderCall(node ast.Node, ctx *gosec.Context, list 
gosec.CallList) bool {
-       if list.ContainsPkgCallExpr(node, ctx, false) != nil {
-               return true
-       }
-       // Resolve type info of ident (for *archive/zip.File.Open)
-       s, idt, _ := gosec.GetCallInfo(node, ctx)
-       return list.Contains(s, idt)
-}
-
-func (d *decompressionBombCheck) Match(node ast.Node, ctx *gosec.Context) 
(*issue.Issue, error) {
-       var readerVarObj map[*ast.Object]struct{}
-
-       // To check multiple lines, ctx.PassedValues is used to store temporary 
data.
-       if _, ok := ctx.PassedValues[d.ID()]; !ok {
-               readerVarObj = make(map[*ast.Object]struct{})
-               ctx.PassedValues[d.ID()] = readerVarObj
-       } else if pv, ok := 
ctx.PassedValues[d.ID()].(map[*ast.Object]struct{}); ok {
-               readerVarObj = pv
-       } else {
-               return nil, fmt.Errorf("PassedValues[%s] of Context is not 
map[*ast.Object]struct{}, but %T", d.ID(), ctx.PassedValues[d.ID()])
-       }
-
-       // io.Copy is a common function.
-       // To reduce false positives, This rule detects code which is used for 
compressed data only.
-       switch n := node.(type) {
-       case *ast.AssignStmt:
-               for _, expr := range n.Rhs {
-                       if callExpr, ok := expr.(*ast.CallExpr); ok && 
containsReaderCall(callExpr, ctx, d.readerCalls) {
-                               if idt, ok := n.Lhs[0].(*ast.Ident); ok && 
idt.Name != "_" {
-                                       // Example:
-                                       //  r, _ := zlib.NewReader(buf)
-                                       //  Add r's Obj to readerVarObj map
-                                       readerVarObj[idt.Obj] = struct{}{}
-                               }
-                       }
-               }
-       case *ast.CallExpr:
-               if d.copyCalls.ContainsPkgCallExpr(n, ctx, false) != nil {
-                       if idt, ok := n.Args[1].(*ast.Ident); ok {
-                               if _, ok := readerVarObj[idt.Obj]; ok {
-                                       // Detect io.Copy(x, r)
-                                       return ctx.NewIssue(n, d.ID(), d.What, 
d.Severity, d.Confidence), nil
-                               }
-                       }
-               }
-       }
-
-       return nil, nil
-}
-
-// NewDecompressionBombCheck detects if there is potential DoS vulnerability 
via decompression bomb
-func NewDecompressionBombCheck(id string, _ gosec.Config) (gosec.Rule, 
[]ast.Node) {
-       readerCalls := gosec.NewCallList()
-       readerCalls.Add("compress/gzip", "NewReader")
-       readerCalls.AddAll("compress/zlib", "NewReader", "NewReaderDict")
-       readerCalls.Add("compress/bzip2", "NewReader")
-       readerCalls.AddAll("compress/flate", "NewReader", "NewReaderDict")
-       readerCalls.Add("compress/lzw", "NewReader")
-       readerCalls.Add("archive/tar", "NewReader")
-       readerCalls.Add("archive/zip", "NewReader")
-       readerCalls.Add("*archive/zip.File", "Open")
-
-       copyCalls := gosec.NewCallList()
-       copyCalls.Add("io", "Copy")
-       copyCalls.Add("io", "CopyBuffer")
-
-       return &decompressionBombCheck{
-               MetaData: issue.MetaData{
-                       ID:         id,
-                       Severity:   issue.Medium,
-                       Confidence: issue.Medium,
-                       What:       "Potential DoS vulnerability via 
decompression bomb",
-               },
-               readerCalls: readerCalls,
-               copyCalls:   copyCalls,
-       }, []ast.Node{(*ast.FuncDecl)(nil), (*ast.AssignStmt)(nil), 
(*ast.CallExpr)(nil)}
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/rules/decompression_bomb.go 
new/gosec-2.22.7/rules/decompression_bomb.go
--- old/gosec-2.22.5/rules/decompression_bomb.go        1970-01-01 
01:00:00.000000000 +0100
+++ new/gosec-2.22.7/rules/decompression_bomb.go        2025-07-21 
17:19:49.000000000 +0200
@@ -0,0 +1,111 @@
+// (c) Copyright 2016 Hewlett Packard Enterprise Development LP
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package rules
+
+import (
+       "fmt"
+       "go/ast"
+
+       "github.com/securego/gosec/v2"
+       "github.com/securego/gosec/v2/issue"
+)
+
+type decompressionBombCheck struct {
+       issue.MetaData
+       readerCalls gosec.CallList
+       copyCalls   gosec.CallList
+}
+
+func (d *decompressionBombCheck) ID() string {
+       return d.MetaData.ID
+}
+
+func containsReaderCall(node ast.Node, ctx *gosec.Context, list 
gosec.CallList) bool {
+       if list.ContainsPkgCallExpr(node, ctx, false) != nil {
+               return true
+       }
+       // Resolve type info of ident (for *archive/zip.File.Open)
+       s, idt, _ := gosec.GetCallInfo(node, ctx)
+       return list.Contains(s, idt)
+}
+
+func (d *decompressionBombCheck) Match(node ast.Node, ctx *gosec.Context) 
(*issue.Issue, error) {
+       var readerVarObj map[*ast.Object]struct{}
+
+       // To check multiple lines, ctx.PassedValues is used to store temporary 
data.
+       if _, ok := ctx.PassedValues[d.ID()]; !ok {
+               readerVarObj = make(map[*ast.Object]struct{})
+               ctx.PassedValues[d.ID()] = readerVarObj
+       } else if pv, ok := 
ctx.PassedValues[d.ID()].(map[*ast.Object]struct{}); ok {
+               readerVarObj = pv
+       } else {
+               return nil, fmt.Errorf("PassedValues[%s] of Context is not 
map[*ast.Object]struct{}, but %T", d.ID(), ctx.PassedValues[d.ID()])
+       }
+
+       // io.Copy is a common function.
+       // To reduce false positives, This rule detects code which is used for 
compressed data only.
+       switch n := node.(type) {
+       case *ast.AssignStmt:
+               for _, expr := range n.Rhs {
+                       if callExpr, ok := expr.(*ast.CallExpr); ok && 
containsReaderCall(callExpr, ctx, d.readerCalls) {
+                               if idt, ok := n.Lhs[0].(*ast.Ident); ok && 
idt.Name != "_" {
+                                       // Example:
+                                       //  r, _ := zlib.NewReader(buf)
+                                       //  Add r's Obj to readerVarObj map
+                                       readerVarObj[idt.Obj] = struct{}{}
+                               }
+                       }
+               }
+       case *ast.CallExpr:
+               if d.copyCalls.ContainsPkgCallExpr(n, ctx, false) != nil {
+                       if idt, ok := n.Args[1].(*ast.Ident); ok {
+                               if _, ok := readerVarObj[idt.Obj]; ok {
+                                       // Detect io.Copy(x, r)
+                                       return ctx.NewIssue(n, d.ID(), d.What, 
d.Severity, d.Confidence), nil
+                               }
+                       }
+               }
+       }
+
+       return nil, nil
+}
+
+// NewDecompressionBombCheck detects if there is potential DoS vulnerability 
via decompression bomb
+func NewDecompressionBombCheck(id string, _ gosec.Config) (gosec.Rule, 
[]ast.Node) {
+       readerCalls := gosec.NewCallList()
+       readerCalls.Add("compress/gzip", "NewReader")
+       readerCalls.AddAll("compress/zlib", "NewReader", "NewReaderDict")
+       readerCalls.Add("compress/bzip2", "NewReader")
+       readerCalls.AddAll("compress/flate", "NewReader", "NewReaderDict")
+       readerCalls.Add("compress/lzw", "NewReader")
+       readerCalls.Add("archive/tar", "NewReader")
+       readerCalls.Add("archive/zip", "NewReader")
+       readerCalls.Add("*archive/zip.File", "Open")
+
+       copyCalls := gosec.NewCallList()
+       copyCalls.Add("io", "Copy")
+       copyCalls.Add("io", "CopyBuffer")
+
+       return &decompressionBombCheck{
+               MetaData: issue.MetaData{
+                       ID:         id,
+                       Severity:   issue.Medium,
+                       Confidence: issue.Medium,
+                       What:       "Potential DoS vulnerability via 
decompression bomb",
+               },
+               readerCalls: readerCalls,
+               copyCalls:   copyCalls,
+       }, []ast.Node{(*ast.FuncDecl)(nil), (*ast.AssignStmt)(nil), 
(*ast.CallExpr)(nil)}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/rules/directory-traversal.go 
new/gosec-2.22.7/rules/directory-traversal.go
--- old/gosec-2.22.5/rules/directory-traversal.go       2025-06-16 
11:50:02.000000000 +0200
+++ new/gosec-2.22.7/rules/directory-traversal.go       1970-01-01 
01:00:00.000000000 +0100
@@ -1,65 +0,0 @@
-package rules
-
-import (
-       "go/ast"
-       "regexp"
-
-       "github.com/securego/gosec/v2"
-       "github.com/securego/gosec/v2/issue"
-)
-
-type traversal struct {
-       pattern *regexp.Regexp
-       issue.MetaData
-}
-
-func (r *traversal) ID() string {
-       return r.MetaData.ID
-}
-
-func (r *traversal) Match(n ast.Node, ctx *gosec.Context) (*issue.Issue, 
error) {
-       switch node := n.(type) {
-       case *ast.CallExpr:
-               return r.matchCallExpr(node, ctx)
-       }
-       return nil, nil
-}
-
-func (r *traversal) matchCallExpr(assign *ast.CallExpr, ctx *gosec.Context) 
(*issue.Issue, error) {
-       for _, i := range assign.Args {
-               if basiclit, ok1 := i.(*ast.BasicLit); ok1 {
-                       if fun, ok2 := assign.Fun.(*ast.SelectorExpr); ok2 {
-                               if x, ok3 := fun.X.(*ast.Ident); ok3 {
-                                       str := x.Name + "." + fun.Sel.Name + 
"(" + basiclit.Value + ")"
-                                       if r.pattern.MatchString(str) {
-                                               return ctx.NewIssue(assign, 
r.ID(), r.What, r.Severity, r.Confidence), nil
-                                       }
-                               }
-                       }
-               }
-       }
-       return nil, nil
-}
-
-// NewDirectoryTraversal attempts to find the use of http.Dir("/")
-func NewDirectoryTraversal(id string, conf gosec.Config) (gosec.Rule, 
[]ast.Node) {
-       pattern := `http\.Dir\("\/"\)|http\.Dir\('\/'\)`
-       if val, ok := conf[id]; ok {
-               conf := val.(map[string]interface{})
-               if configPattern, ok := conf["pattern"]; ok {
-                       if cfgPattern, ok := configPattern.(string); ok {
-                               pattern = cfgPattern
-                       }
-               }
-       }
-
-       return &traversal{
-               pattern: regexp.MustCompile(pattern),
-               MetaData: issue.MetaData{
-                       ID:         id,
-                       What:       "Potential directory traversal",
-                       Confidence: issue.Medium,
-                       Severity:   issue.Medium,
-               },
-       }, []ast.Node{(*ast.CallExpr)(nil)}
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gosec-2.22.5/rules/directory_traversal.go 
new/gosec-2.22.7/rules/directory_traversal.go
--- old/gosec-2.22.5/rules/directory_traversal.go       1970-01-01 
01:00:00.000000000 +0100
+++ new/gosec-2.22.7/rules/directory_traversal.go       2025-07-21 
17:19:49.000000000 +0200
@@ -0,0 +1,65 @@
+package rules
+
+import (
+       "go/ast"
+       "regexp"
+
+       "github.com/securego/gosec/v2"
+       "github.com/securego/gosec/v2/issue"
+)
+
+type traversal struct {
+       pattern *regexp.Regexp
+       issue.MetaData
+}
+
+func (r *traversal) ID() string {
+       return r.MetaData.ID
+}
+
+func (r *traversal) Match(n ast.Node, ctx *gosec.Context) (*issue.Issue, 
error) {
+       switch node := n.(type) {
+       case *ast.CallExpr:
+               return r.matchCallExpr(node, ctx)
+       }
+       return nil, nil
+}
+
+func (r *traversal) matchCallExpr(assign *ast.CallExpr, ctx *gosec.Context) 
(*issue.Issue, error) {
+       for _, i := range assign.Args {
+               if basiclit, ok1 := i.(*ast.BasicLit); ok1 {
+                       if fun, ok2 := assign.Fun.(*ast.SelectorExpr); ok2 {
+                               if x, ok3 := fun.X.(*ast.Ident); ok3 {
+                                       str := x.Name + "." + fun.Sel.Name + 
"(" + basiclit.Value + ")"
+                                       if r.pattern.MatchString(str) {
+                                               return ctx.NewIssue(assign, 
r.ID(), r.What, r.Severity, r.Confidence), nil
+                                       }
+                               }
+                       }
+               }
+       }
+       return nil, nil
+}
+
+// NewDirectoryTraversal attempts to find the use of http.Dir("/")
+func NewDirectoryTraversal(id string, conf gosec.Config) (gosec.Rule, 
[]ast.Node) {
+       pattern := `http\.Dir\("\/"\)|http\.Dir\('\/'\)`
+       if val, ok := conf[id]; ok {
+               conf := val.(map[string]interface{})
+               if configPattern, ok := conf["pattern"]; ok {
+                       if cfgPattern, ok := configPattern.(string); ok {
+                               pattern = cfgPattern
+                       }
+               }
+       }
+
+       return &traversal{
+               pattern: regexp.MustCompile(pattern),
+               MetaData: issue.MetaData{
+                       ID:         id,
+                       What:       "Potential directory traversal",
+                       Confidence: issue.Medium,
+                       Severity:   issue.Medium,
+               },
+       }, []ast.Node{(*ast.CallExpr)(nil)}
+}

++++++ gosec.obsinfo ++++++
--- /var/tmp/diff_new_pack.YJQJZS/_old  2025-07-30 11:46:37.137806060 +0200
+++ /var/tmp/diff_new_pack.YJQJZS/_new  2025-07-30 11:46:37.141806225 +0200
@@ -1,5 +1,5 @@
 name: gosec
-version: 2.22.5
-mtime: 1750067402
-commit: d2d3ae66bd8d340b78b5142b6fe610691783c2fe
+version: 2.22.7
+mtime: 1753111189
+commit: 32975f4bab0d7b683a88756aaf3fa5502188b476
 

++++++ vendor.tar.xz ++++++
++++ 1989 lines of diff (skipped)

Reply via email to