gitleaks.toml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. # This is the default gitleaks configuration file.
  2. # Rules and allowlists are defined within this file.
  3. # Rules instruct gitleaks on what should be considered a secret.
  4. # Allowlists instruct gitleaks on what is allowed, i.e. not a secret.
  5. title = "gitleaks config"
  6. [allowlist]
  7. description = "global allow lists"
  8. regexes = [
  9. '''219-09-9999''',
  10. '''078-05-1120''',
  11. '''(9[0-9]{2}|666)-\d{2}-\d{4}''',
  12. ]
  13. paths = [
  14. '''gitleaks.toml''',
  15. '''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
  16. '''(go.mod|go.sum)$'''
  17. ]
  18. stopwords = [
  19. '''client''',
  20. '''endpoint''',
  21. '''vpn''',
  22. '''_ec2_''',
  23. '''aws_''',
  24. ]
  25. [[rules]]
  26. description = "Adobe Client ID (Oauth Web)"
  27. id = "adobe-client-id"
  28. regex = '''(?i)(?:adobe)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  29. secretGroup = 1
  30. keywords = [
  31. "adobe",
  32. ]
  33. [[rules]]
  34. description = "Adobe Client Secret"
  35. id = "adobe-client-secret"
  36. regex = '''(?i)\b((p8e-)(?i)[a-z0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  37. keywords = [
  38. "p8e-",
  39. ]
  40. [[rules]]
  41. description = "Age secret key"
  42. id = "age secret key"
  43. regex = '''AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}'''
  44. keywords = [
  45. "age-secret-key-1",
  46. ]
  47. [[rules]]
  48. description = "Alibaba AccessKey ID"
  49. id = "alibaba-access-key-id"
  50. regex = '''(?i)\b((LTAI)(?i)[a-z0-9]{20})(?:['|\"|\n|\r|\s|\x60]|$)'''
  51. keywords = [
  52. "ltai",
  53. ]
  54. [[rules]]
  55. description = "Alibaba Secret Key"
  56. id = "alibaba-secret-key"
  57. regex = '''(?i)(?:alibaba)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{30})(?:['|\"|\n|\r|\s|\x60]|$)'''
  58. secretGroup = 1
  59. keywords = [
  60. "alibaba",
  61. ]
  62. [[rules]]
  63. description = "Asana Client ID"
  64. id = "asana-client-id"
  65. regex = '''(?i)(?:asana)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([0-9]{16})(?:['|\"|\n|\r|\s|\x60]|$)'''
  66. secretGroup = 1
  67. keywords = [
  68. "asana",
  69. ]
  70. [[rules]]
  71. description = "Asana Client Secret"
  72. id = "asana-client-secret"
  73. regex = '''(?i)(?:asana)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  74. keywords = [
  75. "asana",
  76. ]
  77. [[rules]]
  78. description = "Atlassian API token"
  79. id = "atlassian-api-token"
  80. regex = '''(?i)(?:atlassian|confluence)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{24})(?:['|\"|\n|\r|\s|\x60]|$)'''
  81. secretGroup = 1
  82. keywords = [
  83. "atlassian","confluence",
  84. ]
  85. [[rules]]
  86. description = "AWS"
  87. id = "aws-access-token"
  88. regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
  89. keywords = [
  90. "akia","agpa","aida","aroa","aipa","anpa","anva","asia",
  91. ]
  92. [[rules]]
  93. description = "BitBucket Client ID"
  94. id = "bitbucket-client-id"
  95. regex = '''(?i)(?:bitbucket)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  96. secretGroup = 1
  97. keywords = [
  98. "bitbucket",
  99. ]
  100. [[rules]]
  101. description = "BitBucket Client Secret"
  102. id = "bitbucket-client-secret"
  103. regex = '''(?i)(?:bitbucket)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9=_\-]{64})(?:['|\"|\n|\r|\s|\x60]|$)'''
  104. secretGroup = 1
  105. keywords = [
  106. "bitbucket",
  107. ]
  108. [[rules]]
  109. description = "Beamer API token"
  110. id = "beamer-api-token"
  111. regex = '''(?i)(?:beamer)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(b_[a-z0-9=_\-]{44})(?:['|\"|\n|\r|\s|\x60]|$)'''
  112. secretGroup = 1
  113. keywords = [
  114. "beamer",
  115. ]
  116. [[rules]]
  117. description = "Clojars API token"
  118. id = "clojars-api-token"
  119. regex = '''(?i)(CLOJARS_)[a-z0-9]{60}'''
  120. keywords = [
  121. "clojars",
  122. ]
  123. [[rules]]
  124. description = "Contentful delivery API token"
  125. id = "contentful-delivery-api-token"
  126. regex = '''(?i)(?:contentful)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9=_\-]{43})(?:['|\"|\n|\r|\s|\x60]|$)'''
  127. secretGroup = 1
  128. keywords = [
  129. "contentful",
  130. ]
  131. [[rules]]
  132. description = "Databricks API token"
  133. id = "databricks-api-token"
  134. regex = '''(?i)\b(dapi[a-h0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  135. keywords = [
  136. "dapi",
  137. ]
  138. [[rules]]
  139. description = "Discord API key"
  140. id = "discord-api-token"
  141. regex = '''(?i)(?:discord)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{64})(?:['|\"|\n|\r|\s|\x60]|$)'''
  142. secretGroup = 1
  143. keywords = [
  144. "discord",
  145. ]
  146. [[rules]]
  147. description = "Discord client ID"
  148. id = "discord-client-id"
  149. regex = '''(?i)(?:discord)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([0-9]{18})(?:['|\"|\n|\r|\s|\x60]|$)'''
  150. secretGroup = 1
  151. keywords = [
  152. "discord",
  153. ]
  154. [[rules]]
  155. description = "Discord client secret"
  156. id = "discord-client-secret"
  157. regex = '''(?i)(?:discord)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9=_\-]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  158. secretGroup = 1
  159. keywords = [
  160. "discord",
  161. ]
  162. [[rules]]
  163. description = "Dropbox API secret"
  164. id = "doppler-api-token"
  165. regex = '''(?i)(?:dropbox)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{15})(?:['|\"|\n|\r|\s|\x60]|$)'''
  166. secretGroup = 1
  167. keywords = [
  168. "dropbox",
  169. ]
  170. [[rules]]
  171. description = "Dropbox long lived API token"
  172. id = "dropbox-long-lived-api-token"
  173. regex = '''(?i)(?:dropbox)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{11}(AAAAAAAAAA)[a-z0-9\-_=]{43})(?:['|\"|\n|\r|\s|\x60]|$)'''
  174. keywords = [
  175. "dropbox",
  176. ]
  177. [[rules]]
  178. description = "Dropbox short lived API token"
  179. id = "dropbox-short-lived-api-token"
  180. regex = '''(?i)(?:dropbox)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(sl\.[a-z0-9\-=_]{135})(?:['|\"|\n|\r|\s|\x60]|$)'''
  181. keywords = [
  182. "dropbox",
  183. ]
  184. [[rules]]
  185. description = "Doppler API token"
  186. id = "doppler-api-token"
  187. regex = '''(dp\.pt\.)(?i)[a-z0-9]{43}'''
  188. keywords = [
  189. "doppler",
  190. ]
  191. [[rules]]
  192. description = "Duffel API token"
  193. id = "duffel-api-token"
  194. regex = '''duffel_(test|live)_(?i)[a-z0-9_\-=]{43}'''
  195. keywords = [
  196. "duffel",
  197. ]
  198. [[rules]]
  199. description = "Dynatrace API token"
  200. id = "dynatrace-api-token"
  201. regex = '''dt0c01\.(?i)[a-z0-9]{24}\.[a-z0-9]{64}'''
  202. keywords = [
  203. "dynatrace",
  204. ]
  205. [[rules]]
  206. description = "EasyPost API token"
  207. id = "easypost-api-token"
  208. regex = '''EZAK(?i)[a-z0-9]{54}'''
  209. keywords = [
  210. "ezak",
  211. ]
  212. [[rules]]
  213. description = "EasyPost test API token"
  214. id = "easypost-test-api-token"
  215. regex = '''EZTK(?i)[a-z0-9]{54}'''
  216. keywords = [
  217. "eztk",
  218. ]
  219. [[rules]]
  220. description = "facebook"
  221. id = "facebook"
  222. regex = '''(?i)(?:facebook)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  223. secretGroup = 1
  224. keywords = [
  225. "facebook",
  226. ]
  227. [[rules]]
  228. description = "Fastly API key"
  229. id = "fastly-api-token"
  230. regex = '''(?i)(?:fastly)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9=_\-]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  231. secretGroup = 1
  232. keywords = [
  233. "fastly",
  234. ]
  235. [[rules]]
  236. description = "Finicity Client Secret"
  237. id = "finicity-client-secret"
  238. regex = '''(?i)(?:finicity)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{20})(?:['|\"|\n|\r|\s|\x60]|$)'''
  239. secretGroup = 1
  240. keywords = [
  241. "finicity",
  242. ]
  243. [[rules]]
  244. description = "Finicity API token"
  245. id = "finicity-api-token"
  246. regex = '''(?i)(?:finicity)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  247. secretGroup = 1
  248. keywords = [
  249. "finicity",
  250. ]
  251. [[rules]]
  252. description = "Finicity Public Key"
  253. id = "flutterwave-public-key"
  254. regex = '''FLWPUBK_TEST-(?i)[a-h0-9]{32}-X'''
  255. keywords = [
  256. "flwpubk_test",
  257. ]
  258. [[rules]]
  259. description = "Finicity Secret Key"
  260. id = "flutterwave-public-key"
  261. regex = '''FLWSECK_TEST-(?i)[a-h0-9]{32}-X'''
  262. keywords = [
  263. "flwseck_test",
  264. ]
  265. [[rules]]
  266. description = "Finicity Secret Key"
  267. id = "flutterwave-public-key"
  268. regex = '''FLWSECK_TEST-(?i)[a-h0-9]{32}-X'''
  269. keywords = [
  270. "flwseck_test",
  271. ]
  272. [[rules]]
  273. description = "Frame.io API token"
  274. id = "frameio-api-token"
  275. regex = '''fio-u-(?i)[a-z0-9\-_=]{64}'''
  276. keywords = [
  277. "fio-u-",
  278. ]
  279. [[rules]]
  280. description = "Generic API Key"
  281. id = "generic-api-key"
  282. regex = '''(?i)(?:key|api[^Version]|token|pat|secret|client|password|auth)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([0-9a-z\-_.=]{10,150})(?:['|\"|\n|\r|\s|\x60]|$)'''
  283. secretGroup = 1
  284. entropy = 3.7
  285. keywords = [
  286. "key","api","token","secret","client","pat","password","auth",
  287. ]
  288. [[rules]]
  289. description = "GoCardless API token"
  290. id = "gocardless-api-token"
  291. regex = '''(?i)(?:gocardless)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(live_(?i)[a-z0-9\-_=]{40})(?:['|\"|\n|\r|\s|\x60]|$)'''
  292. keywords = [
  293. "live_","gocardless",
  294. ]
  295. [[rules]]
  296. description = "GitHub Personal Access Token"
  297. id = "github-pat"
  298. regex = '''ghp_[0-9a-zA-Z]{36}'''
  299. keywords = [
  300. "ghp_",
  301. ]
  302. [[rules]]
  303. description = "GitHub OAuth Access Token"
  304. id = "github-oauth"
  305. regex = '''gho_[0-9a-zA-Z]{36}'''
  306. keywords = [
  307. "gho_",
  308. ]
  309. [[rules]]
  310. description = "GitHub App Token"
  311. id = "github-app-token"
  312. regex = '''(ghu|ghs)_[0-9a-zA-Z]{36}'''
  313. keywords = [
  314. "ghu_","ghs_",
  315. ]
  316. [[rules]]
  317. description = "GitHub Refresh Token"
  318. id = "github-refresh-token"
  319. regex = '''ghr_[0-9a-zA-Z]{36}'''
  320. keywords = [
  321. "ghr_",
  322. ]
  323. [[rules]]
  324. description = "Gitlab Personal Access Token"
  325. id = "gitlab-pat"
  326. regex = '''glpat-[0-9a-zA-Z\-\_]{20}'''
  327. keywords = [
  328. "glpat-",
  329. ]
  330. [[rules]]
  331. description = "HashiCorp Terraform user/org API token"
  332. id = "hashicorp-tf-api-token"
  333. regex = '''(?i)[a-z0-9]{14}\.atlasv1\.[a-z0-9\-_=]{60,70}'''
  334. keywords = [
  335. "atlasv1",
  336. ]
  337. [[rules]]
  338. description = "Heroku API Key"
  339. id = "heroku-api-key"
  340. regex = '''(?i)(?:heroku)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:['|\"|\n|\r|\s|\x60]|$)'''
  341. secretGroup = 1
  342. keywords = [
  343. "heroku",
  344. ]
  345. [[rules]]
  346. description = "HubSpot API Token"
  347. id = "hubspot-api-key"
  348. regex = '''(?i)(?:hubspot)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:['|\"|\n|\r|\s|\x60]|$)'''
  349. secretGroup = 1
  350. keywords = [
  351. "hubspot",
  352. ]
  353. [[rules]]
  354. description = "Intercom API Token"
  355. id = "intercom-api-key"
  356. regex = '''(?i)(?:intercom)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9=_\-]{60})(?:['|\"|\n|\r|\s|\x60]|$)'''
  357. secretGroup = 1
  358. keywords = [
  359. "intercom",
  360. ]
  361. [[rules]]
  362. description = "Linear API Token"
  363. id = "linear-api-key"
  364. regex = '''lin_api_(?i)[a-z0-9]{40}'''
  365. keywords = [
  366. "lin_api_",
  367. ]
  368. [[rules]]
  369. description = "Linear Client Secret"
  370. id = "linear-client-secret"
  371. regex = '''(?i)(?:linear)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  372. keywords = [
  373. "linear",
  374. ]
  375. [[rules]]
  376. description = "LinkedIn Client ID"
  377. id = "linkedin-client-id"
  378. regex = '''(?i)(?:linkedin|linked-in)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{14})(?:['|\"|\n|\r|\s|\x60]|$)'''
  379. secretGroup = 1
  380. keywords = [
  381. "linkedin","linked-in",
  382. ]
  383. [[rules]]
  384. description = "LinkedIn Client secret"
  385. id = "linkedin-client-secret"
  386. regex = '''(?i)(?:linkedin|linked-in)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{16})(?:['|\"|\n|\r|\s|\x60]|$)'''
  387. secretGroup = 1
  388. keywords = [
  389. "linkedin","linked-in",
  390. ]
  391. [[rules]]
  392. description = "Lob API Key"
  393. id = "lob-api-key"
  394. regex = '''(?i)(?:lob)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}((live|test)_[a-f0-9]{35})(?:['|\"|\n|\r|\s|\x60]|$)'''
  395. keywords = [
  396. "test_","live_",
  397. ]
  398. [[rules]]
  399. description = "Lob Publishable API Key"
  400. id = "lob-pub-api-key"
  401. regex = '''(?i)(?:lob)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}((test|live)_pub_[a-f0-9]{31})(?:['|\"|\n|\r|\s|\x60]|$)'''
  402. keywords = [
  403. "test_pub","live_pub","_pub",
  404. ]
  405. [[rules]]
  406. description = "Mailchimp API key"
  407. id = "mailchimp-api-key"
  408. regex = '''(?i)(?:mailchimp)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{32}-us20)(?:['|\"|\n|\r|\s|\x60]|$)'''
  409. secretGroup = 1
  410. keywords = [
  411. "mailchimp",
  412. ]
  413. [[rules]]
  414. description = "Mailgun public validation key"
  415. id = "mailgun-pub-key"
  416. regex = '''(?i)(?:mailgun)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(pubkey-[a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  417. secretGroup = 1
  418. keywords = [
  419. "mailgun",
  420. ]
  421. [[rules]]
  422. description = "Mailgun private API token"
  423. id = "mailgun-private-api-token"
  424. regex = '''(?i)(?:mailgun)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(key-[a-f0-9]{32})(?:['|\"|\n|\r|\s|\x60]|$)'''
  425. secretGroup = 1
  426. keywords = [
  427. "mailgun",
  428. ]
  429. [[rules]]
  430. description = "Mailgun webhook signing key"
  431. id = "mailgun-signing-key"
  432. regex = '''(?i)(?:mailgun)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})(?:['|\"|\n|\r|\s|\x60]|$)'''
  433. secretGroup = 1
  434. keywords = [
  435. "mailgun",
  436. ]
  437. [[rules]]
  438. description = "MapBox API token"
  439. id = "mapbox-api-token"
  440. regex = '''(?i)(?:mapbox)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(pk\.[a-z0-9]{60}\.[a-z0-9]{22})(?:['|\"|\n|\r|\s|\x60]|$)'''
  441. secretGroup = 1
  442. keywords = [
  443. "mapbox",
  444. ]
  445. [[rules]]
  446. description = "MessageBird API token"
  447. id = "messagebird-api-token"
  448. regex = '''(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{25})(?:['|\"|\n|\r|\s|\x60]|$)'''
  449. secretGroup = 1
  450. keywords = [
  451. "messagebird","message-bird","message_bird",
  452. ]
  453. [[rules]]
  454. description = "MessageBird client ID"
  455. id = "messagebird-client-id"
  456. regex = '''(?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})(?:['|\"|\n|\r|\s|\x60]|$)'''
  457. secretGroup = 1
  458. keywords = [
  459. "messagebird","message-bird","message_bird",
  460. ]
  461. [[rules]]
  462. description = "New Relic user API Key"
  463. id = "new-relic-user-api-key"
  464. regex = '''(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(NRAK-[a-z0-9]{27})(?:['|\"|\n|\r|\s|\x60]|$)'''
  465. secretGroup = 1
  466. keywords = [
  467. "nrak",
  468. ]
  469. [[rules]]
  470. description = "New Relic user API ID"
  471. id = "new-relic-user-api-id"
  472. regex = '''(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r|\s|\x60]|$)'''
  473. secretGroup = 1
  474. keywords = [
  475. "new-relic","newrelic","new_relic",
  476. ]
  477. [[rules]]
  478. description = "New Relic ingest browser API token"
  479. id = "new-relic-browser-api-token"
  480. regex = '''(?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(NRJS-[a-f0-9]{19})(?:['|\"|\n|\r|\s|\x60]|$)'''
  481. secretGroup = 1
  482. keywords = [
  483. "nrjs-",
  484. ]
  485. [[rules]]
  486. description = "npm access token"
  487. id = "npm-access-token"
  488. regex = '''(?i)\b(npm_[a-z0-9]{36})(?:['|\"|\n|\r|\s|\x60]|$)'''
  489. secretGroup = 1
  490. keywords = [
  491. "npm_",
  492. ]
  493. [[rules]]
  494. description = "PlanetScale password"
  495. id = "planetscale-password"
  496. regex = '''(?i)\b(pscale_pw_(?i)[a-z0-9=\-_\.]{43})(?:['|\"|\n|\r|\s|\x60]|$)'''
  497. secretGroup = 1
  498. keywords = [
  499. "pscale_pw_",
  500. ]
  501. [[rules]]
  502. description = "PlanetScale API token"
  503. id = "planetscale-api-token"
  504. regex = '''(?i)\b(pscale_tkn_(?i)[a-z0-9=\-_\.]{43})(?:['|\"|\n|\r|\s|\x60]|$)'''
  505. secretGroup = 1
  506. keywords = [
  507. "pscale_tkn_",
  508. ]
  509. [[rules]]
  510. description = "Postman API token"
  511. id = "postman-api-token"
  512. regex = '''(?i)\b(PMAK-(?i)[a-f0-9]{24}\-[a-f0-9]{34})(?:['|\"|\n|\r|\s|\x60]|$)'''
  513. secretGroup = 1
  514. keywords = [
  515. "pmak-",
  516. ]
  517. [[rules]]
  518. description = "Private Key"
  519. id = "private-key"
  520. regex = '''(?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY-----[\s\S-]*KEY----'''
  521. keywords = [
  522. "-----begin private",
  523. ]
  524. [[rules]]
  525. description = "Pulumi API token"
  526. id = "pulumi-api-token"
  527. regex = '''(?i)\b(pul-[a-f0-9]{40})(?:['|\"|\n|\r|\s|\x60]|$)'''
  528. secretGroup = 1
  529. keywords = [
  530. "pul-",
  531. ]
  532. [[rules]]
  533. description = "PyPI upload token"
  534. id = "pypi-upload-token"
  535. regex = '''pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\-_]{50,1000}'''
  536. keywords = [
  537. "pypi-ageichlwas5vcmc",
  538. ]
  539. [[rules]]
  540. description = "Rubygem API token"
  541. id = "rubygems-api-token"
  542. regex = '''(?i)\b(rubygems_[a-f0-9]{48})(?:['|\"|\n|\r|\s|\x60]|$)'''
  543. secretGroup = 1
  544. keywords = [
  545. "rubygems_",
  546. ]
  547. [[rules]]
  548. description = "SendGrid API token"
  549. id = "sendgrid-api-token"
  550. regex = '''(?i)\b(SG\.(?i)[a-z0-9=_\-\.]{66})(?:['|\"|\n|\r|\s|\x60]|$)'''
  551. secretGroup = 1
  552. keywords = [
  553. "sg.",
  554. ]
  555. [[rules]]
  556. description = "Sendinblue API token"
  557. id = "sendinblue-api-token"
  558. regex = '''(?i)\b(xkeysib-[a-f0-9]{64}\-(?i)[a-z0-9]{16})(?:['|\"|\n|\r|\s|\x60]|$)'''
  559. secretGroup = 1
  560. keywords = [
  561. "xkeysib-",
  562. ]
  563. [[rules]]
  564. description = "Shippo API token"
  565. id = "shippo-api-token"
  566. regex = '''(?i)\b(shippo_(live|test)_[a-f0-9]{40})(?:['|\"|\n|\r|\s|\x60]|$)'''
  567. secretGroup = 1
  568. keywords = [
  569. "shippo_",
  570. ]
  571. [[rules]]
  572. description = "Shopify access token"
  573. id = "shopify-access-token"
  574. regex = '''shpat_[a-fA-F0-9]{32}'''
  575. keywords = [
  576. "shpat_",
  577. ]
  578. [[rules]]
  579. description = "Shopify custom access token"
  580. id = "shopify-custom-access-token"
  581. regex = '''shpca_[a-fA-F0-9]{32}'''
  582. keywords = [
  583. "shpca_",
  584. ]
  585. [[rules]]
  586. description = "Shopify private app access token"
  587. id = "shopify-private-app-access-token"
  588. regex = '''shppa_[a-fA-F0-9]{32}'''
  589. keywords = [
  590. "shppa_",
  591. ]
  592. [[rules]]
  593. description = "Shopify shared secret"
  594. id = "shopify-shared-secret"
  595. regex = '''shpss_[a-fA-F0-9]{32}'''
  596. keywords = [
  597. "shpss_",
  598. ]
  599. [[rules]]
  600. description = "Slack token"
  601. id = "slack-access-token"
  602. regex = '''xox[baprs]-([0-9a-zA-Z]{10,48})'''
  603. keywords = [
  604. "xoxb","xoxa","xoxp","xoxr","xoxs",
  605. ]
  606. [[rules]]
  607. description = "Slack Webhook"
  608. id = "slack-web-hook"
  609. regex = '''https:\/\/hooks.slack.com\/services\/[A-Za-z0-9+\/]{44,46}'''
  610. keywords = [
  611. "hooks.slack.com",
  612. ]
  613. [[rules]]
  614. description = "Stripe"
  615. id = "stripe-access-token"
  616. regex = '''(?i)(sk|pk)_(test|live)_[0-9a-z]{10,32}'''
  617. keywords = [
  618. "sk_test","pk_test","sk_live","pk_live",
  619. ]
  620. [[rules]]
  621. description = "Twilio API Key"
  622. id = "twilio-api-key"
  623. regex = '''SK[0-9a-fA-F]{32}'''
  624. keywords = [
  625. "twilio",
  626. ]
  627. [[rules]]
  628. description = "Twitch API token"
  629. id = "twitch-api-token"
  630. regex = '''(?i)(?:twitch)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-z0-9]{30})(?:['|\"|\n|\r|\s|\x60]|$)'''
  631. secretGroup = 1
  632. keywords = [
  633. "twitch",
  634. ]
  635. [[rules]]
  636. description = "twitter"
  637. id = "twitter"
  638. regex = '''(?i)(?:twitter)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}([a-f0-9]{35,44})(?:['|\"|\n|\r|\s|\x60]|$)'''
  639. secretGroup = 1
  640. keywords = [
  641. "twitter",
  642. ]
  643. [[rules]]
  644. description = "Typeform API token"
  645. id = "typeform-api-token"
  646. regex = '''(?i)(?:typeform)(?:[0-9a-z\-_\s.]{0,20})(?:[\s|']|[\s|"]){0,3}(?:=|>|:=|\|\|:|<=|=>|:)(?:'|\"|\s|=|\x60){0,5}(tfp_[a-z0-9\-_\.=]{59})(?:['|\"|\n|\r|\s|\x60]|$)'''
  647. secretGroup = 1
  648. keywords = [
  649. "tfp_",
  650. ]