mirror of
https://github.com/lunchcat/sif.git
synced 2026-03-12 21:23:04 -07:00
adds security and correctness linters, suppresses noisy checks (fieldalignment, shadow, unusedwrite, nestingReduce), excludes logger.Write from errcheck since log writes are best-effort
67 lines
2.2 KiB
YAML
67 lines
2.2 KiB
YAML
linters:
|
|
enable:
|
|
- errcheck # check error returns
|
|
- govet # suspicious constructs
|
|
- staticcheck # advanced static analysis
|
|
- unused # unused code
|
|
- gosimple # simplifications
|
|
- ineffassign # useless assignments
|
|
- misspell # spelling mistakes
|
|
- gocritic # opinionated lints
|
|
- revive # replacement for golint
|
|
- unconvert # unnecessary type conversions
|
|
- bodyclose # http response body not closed
|
|
- noctx # http requests without context
|
|
- gosec # security issues
|
|
- errorlint # error wrapping and comparison
|
|
- nilnil # return nil, nil
|
|
- wastedassign # assignments to variables never read
|
|
- usetesting # os.Setenv in tests instead of t.Setenv, etc.
|
|
|
|
linters-settings:
|
|
govet:
|
|
enable-all: true
|
|
disable:
|
|
- fieldalignment # too many structs to reorder, risks breaking serialization
|
|
- shadow # common Go pattern, too noisy
|
|
- unusedwrite # false positives on test data structs
|
|
errcheck:
|
|
check-blank: false
|
|
exclude-functions:
|
|
- github.com/dropalldatabases/sif/internal/logger.Write # log writes are best-effort
|
|
revive:
|
|
rules:
|
|
- name: exported
|
|
disabled: true # stuttering names (scan.ScanResult) require breaking API changes
|
|
gocritic:
|
|
enabled-tags:
|
|
- diagnostic
|
|
- style
|
|
- performance
|
|
disabled-checks:
|
|
- commentedOutCode # too opinionated for a project with TODO comments
|
|
- paramTypeCombine # style-only, not worth churn
|
|
- unnamedResult # style-only
|
|
- unnecessaryDefer # common pattern in tests
|
|
- nestingReduce # inverting conditions in scan logic hurts readability
|
|
gosec:
|
|
excludes:
|
|
- G104 # errcheck covers this
|
|
- G107 # pentesting tool -- variable URLs are the whole point
|
|
- G110 # nuclei template decompression, acceptable context
|
|
- G304 # sif reads user-supplied wordlist paths -- intentional
|
|
|
|
run:
|
|
timeout: 5m
|
|
issues-exit-code: 1
|
|
|
|
issues:
|
|
max-issues-per-linter: 50
|
|
max-same-issues: 50
|
|
exclude-rules:
|
|
# test files get some slack
|
|
- path: _test\.go
|
|
linters:
|
|
- errcheck
|
|
- noctx
|