config.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package base
  2. import (
  3. "github.com/zricethezav/gitleaks/v8/config"
  4. "regexp"
  5. )
  6. func CreateGlobalConfig() config.Config {
  7. return config.Config{
  8. Title: "gitleaks config",
  9. Allowlist: config.Allowlist{
  10. Description: "global allow lists",
  11. Paths: []*regexp.Regexp{
  12. regexp.MustCompile(`^gitleaks\.toml$`),
  13. // Images
  14. regexp.MustCompile(`(?i)\.(bmp|gif|jpe?g|svg|tiff?)$`),
  15. regexp.MustCompile(`(.*?)(doc|docx|zip|xls|pdf|bin|socket|vsidx|v2|suo|wsuo|.dll|pdb|exe|gltf)$`),
  16. // ----------- Golang files -----------
  17. regexp.MustCompile(`go\.(mod|sum|work(\.sum)?)$`),
  18. regexp.MustCompile(`(^|/)vendor/modules\.txt$`),
  19. regexp.MustCompile(`(^|/)vendor/(github\.com|golang\.org/x|google\.golang\.org|gopkg\.in|istio\.io|k8s\.io|sigs\.k8s\.io)/.*$`),
  20. // ----------- Java files -----------
  21. // Gradle
  22. regexp.MustCompile(`(^|/)gradlew(\.bat)?$`),
  23. regexp.MustCompile(`(^|/)gradle\.lockfile$`),
  24. regexp.MustCompile(`(^|/)mvnw(\.cmd)?$`),
  25. regexp.MustCompile(`(^|/)\.mvn/wrapper/MavenWrapperDownloader\.java$`),
  26. // ----------- Node.js files -----------
  27. // Dependencies and lock files.
  28. regexp.MustCompile(`(^|/)node_modules/.*?$`),
  29. regexp.MustCompile(`(^|/)package-lock\.json$`),
  30. regexp.MustCompile(`(^|/)yarn\.lock$`),
  31. regexp.MustCompile(`(^|/)pnpm-lock\.yaml$`),
  32. regexp.MustCompile(`(^|/)npm-shrinkwrap\.json$`),
  33. regexp.MustCompile(`(^|/)bower_components/.*?$`),
  34. // ----------- Python files -----------
  35. // Dependencies and lock files.
  36. regexp.MustCompile(`(^|/)Pipfile\.lock$`),
  37. regexp.MustCompile(`(^|/)poetry\.lock$`),
  38. // Virtual environments
  39. // env/lib/python3.7/site-packages/urllib3/util/url.py
  40. regexp.MustCompile(`(?i)/?(v?env|virtualenv)/lib/.+$`),
  41. // /python/3.7.4/Lib/site-packages/dask/bytes/tests/test_bytes_utils.py
  42. // python/3.7.4/Lib/site-packages/fsspec/utils.py
  43. // python/2.7.16.32/Lib/bsddb/test/test_dbenv.py
  44. regexp.MustCompile(`(?i)/?python/[23](\.\d{1,2})+/lib/.+$`),
  45. // python/lib/python3.8/site-packages/boto3/data/ec2/2016-04-01/resources-1.json
  46. // python/lib/python3.8/site-packages/botocore/data/alexaforbusiness/2017-11-09/service-2.json
  47. regexp.MustCompile(`(?i)/?python/lib/python[23](\.\d{1,2})+/.+$`),
  48. // dist-info directory (https://py-pkgs.org/04-package-structure.html#building-sdists-and-wheels)
  49. regexp.MustCompile(`(?i)(^|/)[a-z0-9_.]+-[0-9.]+\.dist-info/.+$`),
  50. // ----------- Ruby files -----------
  51. regexp.MustCompile(`(^|/)vendor/(bundle|ruby)/.*?$`),
  52. regexp.MustCompile(`\.gem$`), // tar archive
  53. // Misc
  54. regexp.MustCompile(`verification-metadata.xml`),
  55. regexp.MustCompile(`Database.refactorlog`),
  56. //regexp.MustCompile(`vendor`),
  57. },
  58. },
  59. }
  60. }