149 lines
4.8 KiB
YAML
149 lines
4.8 KiB
YAML
run:
|
|
tests: true
|
|
timeout: 15m
|
|
sort-results: true
|
|
allow-parallel-runners: true
|
|
exclude-dir: testutil/testdata
|
|
skip-files:
|
|
- server/grpc/gogoreflection/fix_registration.go
|
|
- ".*\\.pb\\.go$"
|
|
- ".*\\.pb\\.gw\\.\\.go$"
|
|
- ".*\\.pulsar\\.go$"
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- errcheck
|
|
- dogsled
|
|
- exportloopref
|
|
- goconst
|
|
- gocritic
|
|
- gci
|
|
- gofumpt
|
|
- gosec
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- misspell
|
|
- nakedret
|
|
- nolintlint
|
|
- staticcheck
|
|
- revive
|
|
- stylecheck
|
|
- typecheck
|
|
# - thelper # too many positives with table tests that have custom setup(*testing.T)
|
|
- unconvert
|
|
- unused
|
|
|
|
issues:
|
|
exclude-rules:
|
|
- text: 'Use of weak random number generator'
|
|
linters:
|
|
- gosec
|
|
- text: 'ST1003:'
|
|
linters:
|
|
- stylecheck
|
|
# FIXME: Disabled until golangci-lint updates stylecheck with this fix:
|
|
# https://github.com/dominikh/go-tools/issues/389
|
|
- text: 'ST1016:'
|
|
linters:
|
|
- stylecheck
|
|
- path: 'migrations'
|
|
text: 'SA1019:'
|
|
linters:
|
|
- staticcheck
|
|
- text: 'SA1019: codec.NewAminoCodec is deprecated' # TODO remove once migration path is set out
|
|
linters:
|
|
- staticcheck
|
|
- text: 'SA1019: legacybech32.MustMarshalPubKey' # TODO remove once ready to remove from the sdk
|
|
linters:
|
|
- staticcheck
|
|
- text: 'SA1019: legacybech32.MarshalPubKey' # TODO remove once ready to remove from the sdk
|
|
linters:
|
|
- staticcheck
|
|
- text: 'SA1019: legacybech32.UnmarshalPubKey' # TODO remove once ready to remove from the sdk
|
|
linters:
|
|
- staticcheck
|
|
- text: 'SA1019: params.SendEnabled is deprecated' # TODO remove once ready to remove from the sdk
|
|
linters:
|
|
- staticcheck
|
|
- text: 'leading space'
|
|
linters:
|
|
- nolintlint
|
|
max-issues-per-linter: 10000
|
|
max-same-issues: 10000
|
|
|
|
linters-settings:
|
|
gci:
|
|
custom-order: true
|
|
sections:
|
|
- standard # Standard section: captures all standard packages.
|
|
- default # Default section: contains all imports that could not be matched to another section type.
|
|
- prefix(cosmossdk.io)
|
|
- prefix(github.com/cosmos/cosmos-sdk)
|
|
- prefix(github.com/CosmWasm/wasmd)
|
|
revive:
|
|
rules:
|
|
- name: redefines-builtin-id
|
|
disabled: true
|
|
|
|
gosec:
|
|
# To select a subset of rules to run.
|
|
# Available rules: https://github.com/securego/gosec#available-rules
|
|
# Default: [] - means include all rules
|
|
includes:
|
|
# - G101 # Look for hard coded credentials
|
|
- G102 # Bind to all interfaces
|
|
- G103 # Audit the use of unsafe block
|
|
- G104 # Audit errors not checked
|
|
- G106 # Audit the use of ssh.InsecureIgnoreHostKey
|
|
- G107 # Url provided to HTTP request as taint input
|
|
- G108 # Profiling endpoint automatically exposed on /debug/pprof
|
|
- G109 # Potential Integer overflow made by strconv.Atoi result conversion to int16/32
|
|
- G110 # Potential DoS vulnerability via decompression bomb
|
|
- G111 # Potential directory traversal
|
|
- G112 # Potential slowloris attack
|
|
- G113 # Usage of Rat.SetString in math/big with an overflow (CVE-2022-23772)
|
|
- G114 # Use of net/http serve function that has no support for setting timeouts
|
|
- G201 # SQL query construction using format string
|
|
- G202 # SQL query construction using string concatenation
|
|
- G203 # Use of unescaped data in HTML templates
|
|
- G204 # Audit use of command execution
|
|
- G301 # Poor file permissions used when creating a directory
|
|
- G302 # Poor file permissions used with chmod
|
|
- G303 # Creating tempfile using a predictable path
|
|
- G304 # File path provided as taint input
|
|
- G305 # File traversal when extracting zip/tar archive
|
|
- G306 # Poor file permissions used when writing to a new file
|
|
- G307 # Deferring a method which returns an error
|
|
- G401 # Detect the usage of DES, RC4, MD5 or SHA1
|
|
- G402 # Look for bad TLS connection settings
|
|
- G403 # Ensure minimum RSA key length of 2048 bits
|
|
- G404 # Insecure random number source (rand)
|
|
- G501 # Import blocklist: crypto/md5
|
|
- G502 # Import blocklist: crypto/des
|
|
- G503 # Import blocklist: crypto/rc4
|
|
- G504 # Import blocklist: net/http/cgi
|
|
- G505 # Import blocklist: crypto/sha1
|
|
- G601 # Implicit memory aliasing of items from a range statement
|
|
misspell:
|
|
locale: US
|
|
gofumpt:
|
|
extra-rules: true
|
|
dogsled:
|
|
max-blank-identifiers: 6
|
|
maligned:
|
|
suggest-new: true
|
|
nolintlint:
|
|
allow-unused: false
|
|
allow-leading-space: true
|
|
require-explanation: false
|
|
require-specific: false
|
|
gosimple:
|
|
checks: ['all']
|
|
gocritic:
|
|
disabled-checks:
|
|
- regexpMust
|
|
- appendAssign
|
|
- ifElseChain
|