* perf: switch nearly all remaining uses of stdlib regexp to wasilibs/go-re2 * perf: upgrade github.com/wasilibs/go-re2 from v1.9.0 to v1.12.0 * gofmt modified files * snowflake detector: hoist constant regex compilation to package-level variables * add golangci lint to steer folks to go-re2 instead of regexp
Implementing Analyzers
Defining the Permissions
Permissions can be defined in:
- lower snake case as
permission_name:access_level - kebab case as
permission-name:read - dot notation as
permission.name:read
The Permissions are initially defined as a yaml file.
At the top of the analyzer implementation you specify the go generate command.
You can install the generator with go install github.com/trufflesecurity/trufflehog/v3/pkg/analyzer/generate_permissions.
Then you can run go generate ./... to generate the Permission types for the analyzer.
The generated Permission types are to be used in the AnalyzerResult struct when defining the Permissions and in your code.