leaky-repo.toml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. title = "gitleaks config"
  2. [[rules]]
  3. description = "AWS Access Key"
  4. regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
  5. tags = ["key", "AWS"]
  6. [[rules]]
  7. description = "AWS cred file info"
  8. regex = '''(?i)(aws_access_key_id|aws_secret_access_key)(.{0,20})?=.[0-9a-zA-Z\/+]{20,40}'''
  9. tags = ["AWS"]
  10. [[rules]]
  11. description = "AWS Secret Key"
  12. regex = '''(?i)aws(.{0,20})?(?-i)['\"][0-9a-zA-Z\/+]{40}['\"]'''
  13. tags = ["key", "AWS"]
  14. [[rules]]
  15. description = "AWS MWS key"
  16. regex = '''amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'''
  17. tags = ["key", "AWS", "MWS"]
  18. [[rules]]
  19. description = "Facebook Secret Key"
  20. regex = '''(?i)(facebook|fb)(.{0,20})?(?-i)['\"][0-9a-f]{32}['\"]'''
  21. tags = ["key", "Facebook"]
  22. [[rules]]
  23. description = "Facebook Client ID"
  24. regex = '''(?i)(facebook|fb)(.{0,20})?['\"][0-9]{13,17}['\"]'''
  25. tags = ["key", "Facebook"]
  26. [[rules]]
  27. description = "Twitter Secret Key"
  28. regex = '''(?i)twitter(.{0,20})?['\"][0-9a-z]{35,44}['\"]'''
  29. tags = ["key", "Twitter"]
  30. [[rules]]
  31. description = "Twitter Client ID"
  32. regex = '''(?i)twitter(.{0,20})?['\"][0-9a-z]{18,25}['\"]'''
  33. tags = ["client", "Twitter"]
  34. [[rules]]
  35. description = "Github"
  36. regex = '''(?i)github(.{0,20})?(?-i)['\"][0-9a-zA-Z]{35,40}['\"]'''
  37. tags = ["key", "Github"]
  38. [[rules]]
  39. description = "LinkedIn Client ID"
  40. regex = '''(?i)linkedin(.{0,20})?(?-i)['\"][0-9a-z]{12}['\"]'''
  41. tags = ["client", "LinkedIn"]
  42. [[rules]]
  43. description = "LinkedIn Secret Key"
  44. regex = '''(?i)linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]'''
  45. tags = ["secret", "LinkedIn"]
  46. [[rules]]
  47. description = "Slack"
  48. regex = '''xox[baprs]-([0-9a-zA-Z]{10,48})?'''
  49. tags = ["key", "Slack"]
  50. [[rules]]
  51. description = "EC"
  52. regex = '''-----BEGIN EC PRIVATE KEY-----'''
  53. tags = ["key", "EC"]
  54. [[rules]]
  55. description = "Google API key"
  56. regex = '''AIza[0-9A-Za-z\\-_]{35}'''
  57. tags = ["key", "Google"]
  58. [[rules]]
  59. description = "Heroku API key"
  60. regex = '''(?i)heroku(.{0,20})?['"][0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}['"]'''
  61. tags = ["key", "Heroku"]
  62. [[rules]]
  63. description = "MailChimp API key"
  64. regex = '''(?i)(mailchimp|mc)(.{0,20})?['"][0-9a-f]{32}-us[0-9]{1,2}['"]'''
  65. tags = ["key", "Mailchimp"]
  66. [[rules]]
  67. description = "Mailgun API key"
  68. regex = '''(?i)(mailgun|mg)(.{0,20})?['"][0-9a-z]{32}['"]'''
  69. tags = ["key", "Mailgun"]
  70. [[rules]]
  71. description = "PayPal Braintree access token"
  72. regex = '''access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}'''
  73. tags = ["key", "Paypal"]
  74. [[rules]]
  75. description = "Picatic API key"
  76. regex = '''sk_live_[0-9a-z]{32}'''
  77. tags = ["key", "Picatic"]
  78. [[rules]]
  79. description = "Slack Webhook"
  80. regex = '''https://hooks.slack.com/services/T[a-zA-Z0-9_]{8}/B[a-zA-Z0-9_]{8}/[a-zA-Z0-9_]{24}'''
  81. tags = ["key", "slack"]
  82. [[rules]]
  83. description = "Stripe API key"
  84. regex = '''(?i)stripe(.{0,20})?['\"][sk|rk]_live_[0-9a-zA-Z]{24}'''
  85. tags = ["key", "Stripe"]
  86. [[rules]]
  87. description = "Square access token"
  88. regex = '''sq0atp-[0-9A-Za-z\-_]{22}'''
  89. tags = ["key", "square"]
  90. [[rules]]
  91. description = "Square OAuth secret"
  92. regex = '''sq0csp-[0-9A-Za-z\\-_]{43}'''
  93. tags = ["key", "square"]
  94. [[rules]]
  95. description = "Twilio API key"
  96. regex = '''(?i)twilio(.{0,20})?['\"][0-9a-f]{32}['\"]'''
  97. tags = ["key", "twilio"]
  98. [[rules]]
  99. description = "Env Var"
  100. regex = '''(?i)(apikey|secret|key|api|password|pass|pw|host)=[0-9a-zA-Z-_.{}]{4,120}'''
  101. [[rules]]
  102. description = "Port"
  103. regex = '''(?i)port(.{0,4})?[0-9]{1,10}'''
  104. [rules.allowlist]
  105. regexes = ['''(?i)port ''']
  106. description = "ignore export "
  107. [[rules]]
  108. description = "Email"
  109. regex = '''[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}'''
  110. tags = ["email"]
  111. [rules.allowlist]
  112. files = ['''(?i)bashrc''']
  113. description = "ignore bashrc emails"
  114. [[rules]]
  115. description = "Generic Credential"
  116. regex = '''(?i)(dbpasswd|dbuser|dbname|dbhost|api_key|apikey|secret|key|api|password|user|guid|hostname|pw|auth)(.{0,20})?['|"]([0-9a-zA-Z-_\/+!{}/=]{4,120})['|"]'''
  117. tags = ["key", "API", "generic"]
  118. # ignore leaks with specific identifiers like slack and aws
  119. [rules.allowlist]
  120. description = "ignore slack, mailchimp, aws"
  121. regexes = [
  122. '''xox[baprs]-([0-9a-zA-Z]{10,48})''',
  123. '''(?i)(.{0,20})?['"][0-9a-f]{32}-us[0-9]{1,2}['"]''',
  124. '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
  125. ]
  126. [[rules]]
  127. description = "High Entropy"
  128. regex = '''[0-9a-zA-Z-_!{}/=]{4,120}'''
  129. file = '''(?i)(dump.sql|high-entropy-misc.txt)$'''
  130. tags = ["entropy"]
  131. [[rules.Entropies]]
  132. Min = "4.3"
  133. Max = "7.0"
  134. [rules.allowlist]
  135. description = "ignore ssh key and pems"
  136. files = ['''(pem|ppk|env)$''']
  137. paths = ['''(.*)?ssh''']
  138. [[rules]]
  139. description = "Potential bash var"
  140. regex='''(?i)(=)([0-9a-zA-Z-_!{}=]{4,120})'''
  141. tags = ["key", "bash", "API", "generic"]
  142. [[rules.Entropies]]
  143. Min = "3.5"
  144. Max = "4.5"
  145. Group = "1"
  146. [[rules]]
  147. description = "WP-Config"
  148. regex='''define(.{0,20})?(DB_CHARSET|NONCE_SALT|LOGGED_IN_SALT|AUTH_SALT|NONCE_KEY|DB_HOST|DB_PASSWORD|AUTH_KEY|SECURE_AUTH_KEY|LOGGED_IN_KEY|DB_NAME|DB_USER)(.{0,20})?['|"].{10,120}['|"]'''
  149. tags = ["key", "API", "generic"]
  150. [[rules]]
  151. description = "Files with keys and credentials"
  152. file = '''(?i)(id_rsa|passwd|id_rsa.pub|pgpass|pem|key|shadow)'''
  153. # Global allowlist
  154. [allowlist]
  155. description = "image allowlists"
  156. files = ['''(.*?)(jpg|gif|doc|pdf|bin)$''']