@link-foundation/sensitive-data-sanitizer 0.0.0-stage → 0.11.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CHANGELOG.md +530 -0
  2. package/LICENSE +24 -0
  3. package/README.md +184 -2
  4. package/bin/legacy-example-package-name.js +95 -0
  5. package/bin/sensitive-data-sanitizer.js +430 -0
  6. package/bin/stream.js +56 -0
  7. package/docs/API.md +336 -0
  8. package/docs/COVERAGE.md +136 -0
  9. package/docs/HISTORY-REMEDIATION.md +41 -0
  10. package/examples/combined-scanners.mjs +23 -0
  11. package/examples/presidio-bridge.py +32 -0
  12. package/examples/realistic-fakes.mjs +18 -0
  13. package/examples/sanitize-session.mjs +27 -0
  14. package/examples/shared-tool-logs.mjs +21 -0
  15. package/examples/stream-jsonl.mjs +17 -0
  16. package/package.json +124 -4
  17. package/src/adapters.js +204 -0
  18. package/src/arithmetic.js +11 -0
  19. package/src/confidence.js +65 -0
  20. package/src/context.js +424 -0
  21. package/src/credentials.js +54 -0
  22. package/src/detection.js +293 -0
  23. package/src/encoded.js +233 -0
  24. package/src/engines.js +348 -0
  25. package/src/entities.js +166 -0
  26. package/src/escape-spans.js +20 -0
  27. package/src/eslint-plugin.d.ts +10 -0
  28. package/src/eslint-plugin.js +193 -0
  29. package/src/external.js +169 -0
  30. package/src/fake-names.js +222 -0
  31. package/src/fake.js +524 -0
  32. package/src/files.js +131 -0
  33. package/src/gitleaks.js +194 -0
  34. package/src/history-rewrite.js +339 -0
  35. package/src/history.js +103 -0
  36. package/src/identity.js +274 -0
  37. package/src/index.d.ts +321 -0
  38. package/src/index.js +40 -0
  39. package/src/jsonl-stream.js +198 -0
  40. package/src/keywords.js +45 -0
  41. package/src/known.js +164 -0
  42. package/src/legacy.d.ts +3 -0
  43. package/src/legacy.js +2 -0
  44. package/src/locales.js +217 -0
  45. package/src/log-bytes.js +85 -0
  46. package/src/names.js +65 -0
  47. package/src/national-checks.js +129 -0
  48. package/src/national.js +128 -0
  49. package/src/outbound.js +28 -0
  50. package/src/personal-context.js +85 -0
  51. package/src/personal.js +248 -0
  52. package/src/projection.js +126 -0
  53. package/src/propagation.js +163 -0
  54. package/src/public-verifier.js +77 -0
  55. package/src/public.js +153 -0
  56. package/src/record-worker.js +20 -0
  57. package/src/rules.js +210 -0
  58. package/src/sanitizer.js +794 -0
  59. package/src/specimens.js +34 -0
  60. package/src/stream-identity.js +129 -0
  61. package/src/stream-worker.js +18 -0
  62. package/src/stream.js +449 -0
  63. package/src/structured.js +278 -0
  64. package/src/transforms.js +192 -0
  65. package/src/transliteration.js +75 -0
  66. package/src/utf8.js +60 -0
  67. package/src/vendor/entities/aws.json +42 -0
  68. package/src/vendor/entities/azure.json +182 -0
  69. package/src/vendor/entities/google.json +219 -0
  70. package/src/vendor/gitleaks/LICENSE +21 -0
  71. package/src/vendor/gitleaks/provenance.json +8 -0
  72. package/src/vendor/gitleaks/rules-0.json +268 -0
  73. package/src/vendor/gitleaks/rules-1.json +1794 -0
  74. package/src/vendor/gitleaks/rules-2.json +292 -0
  75. package/src/vendor/gitleaks/rules-3.json +263 -0
  76. package/src/vendor/gitleaks/rules-4.json +277 -0
  77. package/src/vendor/gitleaks/rules-5.json +154 -0
  78. package/src/worker-options.js +27 -0
@@ -0,0 +1,292 @@
1
+ [
2
+ {
3
+ "id": "github-oauth",
4
+ "description": "Discovered a GitHub OAuth Access Token, posing a risk of compromised GitHub account integrations and data leaks.",
5
+ "regex": "gho_[0-9a-zA-Z]{36}",
6
+ "entropy": 3,
7
+ "keywords": ["gho_"]
8
+ },
9
+ {
10
+ "id": "github-pat",
11
+ "description": "Uncovered a GitHub Personal Access Token, potentially leading to unauthorized repository access and sensitive content exposure.",
12
+ "regex": "ghp_[0-9a-zA-Z]{36}",
13
+ "entropy": 3,
14
+ "keywords": ["ghp_"],
15
+ "allowlists": [
16
+ {
17
+ "paths": ["(?:^|/)@octokit/auth-token/README\\.md$"]
18
+ }
19
+ ]
20
+ },
21
+ {
22
+ "id": "github-refresh-token",
23
+ "description": "Detected a GitHub Refresh Token, which could allow prolonged unauthorized access to GitHub services.",
24
+ "regex": "ghr_[0-9a-zA-Z]{36}",
25
+ "entropy": 3,
26
+ "keywords": ["ghr_"]
27
+ },
28
+ {
29
+ "id": "gitlab-cicd-job-token",
30
+ "description": "Identified a GitLab CI/CD Job Token, potential access to projects and some APIs on behalf of a user while the CI job is running.",
31
+ "regex": "glcbt-[0-9a-zA-Z]{1,5}_[0-9a-zA-Z_-]{20}",
32
+ "entropy": 3,
33
+ "keywords": ["glcbt-"]
34
+ },
35
+ {
36
+ "id": "gitlab-deploy-token",
37
+ "description": "Identified a GitLab Deploy Token, risking access to repositories, packages and containers with write access.",
38
+ "regex": "gldt-[0-9a-zA-Z_\\-]{20}",
39
+ "entropy": 3,
40
+ "keywords": ["gldt-"]
41
+ },
42
+ {
43
+ "id": "gitlab-feature-flag-client-token",
44
+ "description": "Identified a GitLab feature flag client token, risks exposing user lists and features flags used by an application.",
45
+ "regex": "glffct-[0-9a-zA-Z_\\-]{20}",
46
+ "entropy": 3,
47
+ "keywords": ["glffct-"]
48
+ },
49
+ {
50
+ "id": "gitlab-feed-token",
51
+ "description": "Identified a GitLab feed token, risking exposure of user data.",
52
+ "regex": "glft-[0-9a-zA-Z_\\-]{20}",
53
+ "entropy": 3,
54
+ "keywords": ["glft-"]
55
+ },
56
+ {
57
+ "id": "gitlab-incoming-mail-token",
58
+ "description": "Identified a GitLab incoming mail token, risking manipulation of data sent by mail.",
59
+ "regex": "glimt-[0-9a-zA-Z_\\-]{25}",
60
+ "entropy": 3,
61
+ "keywords": ["glimt-"]
62
+ },
63
+ {
64
+ "id": "gitlab-kubernetes-agent-token",
65
+ "description": "Identified a GitLab Kubernetes Agent token, risking access to repos and registry of projects connected via agent.",
66
+ "regex": "glagent-[0-9a-zA-Z_\\-]{50}",
67
+ "entropy": 3,
68
+ "keywords": ["glagent-"]
69
+ },
70
+ {
71
+ "id": "gitlab-oauth-app-secret",
72
+ "description": "Identified a GitLab OIDC Application Secret, risking access to apps using GitLab as authentication provider.",
73
+ "regex": "gloas-[0-9a-zA-Z_\\-]{64}",
74
+ "entropy": 3,
75
+ "keywords": ["gloas-"]
76
+ },
77
+ {
78
+ "id": "gitlab-pat",
79
+ "description": "Identified a GitLab Personal Access Token, risking unauthorized access to GitLab repositories and codebase exposure.",
80
+ "regex": "glpat-[\\w-]{20}",
81
+ "entropy": 3,
82
+ "keywords": ["glpat-"]
83
+ },
84
+ {
85
+ "id": "gitlab-pat-routable",
86
+ "description": "Identified a GitLab Personal Access Token (routable), risking unauthorized access to GitLab repositories and codebase exposure.",
87
+ "regex": "\\bglpat-[0-9a-zA-Z_-]{27,300}\\.[0-9a-z]{2}[0-9a-z]{7}\\b",
88
+ "entropy": 4,
89
+ "keywords": ["glpat-"]
90
+ },
91
+ {
92
+ "id": "gitlab-ptt",
93
+ "description": "Found a GitLab Pipeline Trigger Token, potentially compromising continuous integration workflows and project security.",
94
+ "regex": "glptt-[0-9a-f]{40}",
95
+ "entropy": 3,
96
+ "keywords": ["glptt-"]
97
+ },
98
+ {
99
+ "id": "gitlab-rrt",
100
+ "description": "Discovered a GitLab Runner Registration Token, posing a risk to CI/CD pipeline integrity and unauthorized access.",
101
+ "regex": "GR1348941[\\w-]{20}",
102
+ "entropy": 3,
103
+ "keywords": ["gr1348941"]
104
+ },
105
+ {
106
+ "id": "gitlab-runner-authentication-token",
107
+ "description": "Discovered a GitLab Runner Authentication Token, posing a risk to CI/CD pipeline integrity and unauthorized access.",
108
+ "regex": "glrt-[0-9a-zA-Z_\\-]{20}",
109
+ "entropy": 3,
110
+ "keywords": ["glrt-"]
111
+ },
112
+ {
113
+ "id": "gitlab-runner-authentication-token-routable",
114
+ "description": "Discovered a GitLab Runner Authentication Token (Routable), posing a risk to CI/CD pipeline integrity and unauthorized access.",
115
+ "regex": "\\bglrt-t\\d_[0-9a-zA-Z_\\-]{27,300}\\.[0-9a-z]{2}[0-9a-z]{7}\\b",
116
+ "entropy": 4,
117
+ "keywords": ["glrt-"]
118
+ },
119
+ {
120
+ "id": "gitlab-scim-token",
121
+ "description": "Discovered a GitLab SCIM Token, posing a risk to unauthorized access for a organization or instance.",
122
+ "regex": "glsoat-[0-9a-zA-Z_\\-]{20}",
123
+ "entropy": 3,
124
+ "keywords": ["glsoat-"]
125
+ },
126
+ {
127
+ "id": "gitlab-session-cookie",
128
+ "description": "Discovered a GitLab Session Cookie, posing a risk to unauthorized access to a user account.",
129
+ "regex": "_gitlab_session=[0-9a-z]{32}",
130
+ "entropy": 3,
131
+ "keywords": ["_gitlab_session="]
132
+ },
133
+ {
134
+ "id": "gitter-access-token",
135
+ "description": "Uncovered a Gitter Access Token, which may lead to unauthorized access to chat and communication services.",
136
+ "regex": "(?i)[\\w.-]{0,50}?(?:gitter)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9_-]{40})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
137
+ "keywords": ["gitter"]
138
+ },
139
+ {
140
+ "id": "gocardless-api-token",
141
+ "description": "Detected a GoCardless API token, potentially risking unauthorized direct debit payment operations and financial data exposure.",
142
+ "regex": "(?i)[\\w.-]{0,50}?(?:gocardless)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(live_(?i)[a-z0-9\\-_=]{40})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
143
+ "keywords": ["live_", "gocardless"]
144
+ },
145
+ {
146
+ "id": "grafana-api-key",
147
+ "description": "Identified a Grafana API key, which could compromise monitoring dashboards and sensitive data analytics.",
148
+ "regex": "(?i)\\b(eyJrIjoi[A-Za-z0-9]{70,400}={0,3})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
149
+ "entropy": 3,
150
+ "keywords": ["eyjrijoi"]
151
+ },
152
+ {
153
+ "id": "grafana-cloud-api-token",
154
+ "description": "Found a Grafana cloud API token, risking unauthorized access to cloud-based monitoring services and data exposure.",
155
+ "regex": "(?i)\\b(glc_[A-Za-z0-9+/]{32,400}={0,3})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
156
+ "entropy": 3,
157
+ "keywords": ["glc_"]
158
+ },
159
+ {
160
+ "id": "grafana-service-account-token",
161
+ "description": "Discovered a Grafana service account token, posing a risk of compromised monitoring services and data integrity.",
162
+ "regex": "(?i)\\b(glsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
163
+ "entropy": 3,
164
+ "keywords": ["glsa_"]
165
+ },
166
+ {
167
+ "id": "harness-api-key",
168
+ "description": "Identified a Harness Access Token (PAT or SAT), risking unauthorized access to a Harness account.",
169
+ "regex": "(?:pat|sat)\\.[a-zA-Z0-9_-]{22}\\.[a-zA-Z0-9]{24}\\.[a-zA-Z0-9]{20}",
170
+ "keywords": ["pat.", "sat."]
171
+ },
172
+ {
173
+ "id": "hashicorp-tf-api-token",
174
+ "description": "Uncovered a HashiCorp Terraform user/org API token, which may lead to unauthorized infrastructure management and security breaches.",
175
+ "regex": "(?i)[a-z0-9]{14}\\.(?-i:atlasv1)\\.[a-z0-9\\-_=]{60,70}",
176
+ "entropy": 3.5,
177
+ "keywords": ["atlasv1"]
178
+ },
179
+ {
180
+ "id": "hashicorp-tf-password",
181
+ "description": "Identified a HashiCorp Terraform password field, risking unauthorized infrastructure configuration and security breaches.",
182
+ "regex": "(?i)[\\w.-]{0,50}?(?:administrator_login_password|password)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(\"[a-z0-9=_\\-]{8,20}\")(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
183
+ "path": "(?i)\\.(?:tf|hcl)$",
184
+ "entropy": 2,
185
+ "keywords": ["administrator_login_password", "password"]
186
+ },
187
+ {
188
+ "id": "heroku-api-key",
189
+ "description": "Detected a Heroku API Key, potentially compromising cloud application deployments and operational security.",
190
+ "regex": "(?i)[\\w.-]{0,50}?(?:heroku)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
191
+ "keywords": ["heroku"]
192
+ },
193
+ {
194
+ "id": "heroku-api-key-v2",
195
+ "description": "Detected a Heroku API Key, potentially compromising cloud application deployments and operational security.",
196
+ "regex": "\\b((HRKU-AA[0-9a-zA-Z_-]{58}))(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
197
+ "entropy": 4,
198
+ "keywords": ["hrku-aa"]
199
+ },
200
+ {
201
+ "id": "hubspot-api-key",
202
+ "description": "Found a HubSpot API Token, posing a risk to CRM data integrity and unauthorized marketing operations.",
203
+ "regex": "(?i)[\\w.-]{0,50}?(?:hubspot)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
204
+ "keywords": ["hubspot"]
205
+ },
206
+ {
207
+ "id": "huggingface-access-token",
208
+ "description": "Discovered a Hugging Face Access token, which could lead to unauthorized access to AI models and sensitive data.",
209
+ "regex": "\\b(hf_(?i:[a-z]{34}))(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
210
+ "entropy": 2,
211
+ "keywords": ["hf_"]
212
+ },
213
+ {
214
+ "id": "huggingface-organization-api-token",
215
+ "description": "Uncovered a Hugging Face Organization API token, potentially compromising AI organization accounts and associated data.",
216
+ "regex": "\\b(api_org_(?i:[a-z]{34}))(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
217
+ "entropy": 2,
218
+ "keywords": ["api_org_"]
219
+ },
220
+ {
221
+ "id": "infracost-api-token",
222
+ "description": "Detected an Infracost API Token, risking unauthorized access to cloud cost estimation tools and financial data.",
223
+ "regex": "\\b(ico-[a-zA-Z0-9]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
224
+ "entropy": 3,
225
+ "keywords": ["ico-"]
226
+ },
227
+ {
228
+ "id": "intercom-api-key",
229
+ "description": "Identified an Intercom API Token, which could compromise customer communication channels and data privacy.",
230
+ "regex": "(?i)[\\w.-]{0,50}?(?:intercom)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9=_\\-]{60})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
231
+ "keywords": ["intercom"]
232
+ },
233
+ {
234
+ "id": "intra42-client-secret",
235
+ "description": "Found a Intra42 client secret, which could lead to unauthorized access to the 42School API and sensitive data.",
236
+ "regex": "\\b(s-s4t2(?:ud|af)-(?i)[abcdef0123456789]{64})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
237
+ "entropy": 3,
238
+ "keywords": ["intra", "s-s4t2ud-", "s-s4t2af-"]
239
+ },
240
+ {
241
+ "id": "jfrog-api-key",
242
+ "description": "Found a JFrog API Key, posing a risk of unauthorized access to software artifact repositories and build pipelines.",
243
+ "regex": "(?i)[\\w.-]{0,50}?(?:jfrog|artifactory|bintray|xray)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{73})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
244
+ "keywords": ["jfrog", "artifactory", "bintray", "xray"]
245
+ },
246
+ {
247
+ "id": "jfrog-identity-token",
248
+ "description": "Discovered a JFrog Identity Token, potentially compromising access to JFrog services and sensitive software artifacts.",
249
+ "regex": "(?i)[\\w.-]{0,50}?(?:jfrog|artifactory|bintray|xray)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{64})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
250
+ "keywords": ["jfrog", "artifactory", "bintray", "xray"]
251
+ },
252
+ {
253
+ "id": "jwt",
254
+ "description": "Uncovered a JSON Web Token, which may lead to unauthorized access to web applications and sensitive user data.",
255
+ "regex": "\\b(ey[a-zA-Z0-9]{17,}\\.ey[a-zA-Z0-9\\/\\\\_-]{17,}\\.(?:[a-zA-Z0-9\\/\\\\_-]{10,}={0,2})?)(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
256
+ "entropy": 3,
257
+ "keywords": ["ey"]
258
+ },
259
+ {
260
+ "id": "jwt-base64",
261
+ "description": "Detected a Base64-encoded JSON Web Token, posing a risk of exposing encoded authentication and data exchange information.",
262
+ "regex": "\\bZXlK(?:(?P<alg>aGJHY2lPaU)|(?P<apu>aGNIVWlPaU)|(?P<apv>aGNIWWlPaU)|(?P<aud>aGRXUWlPaU)|(?P<b64>aU5qUWlP)|(?P<crit>amNtbDBJanBi)|(?P<cty>amRIa2lPaU)|(?P<epk>bGNHc2lPbn)|(?P<enc>bGJtTWlPaU)|(?P<jku>cWEzVWlPaU)|(?P<jwk>cWQyc2lPb)|(?P<iss>cGMzTWlPaU)|(?P<iv>cGRpSTZJ)|(?P<kid>cmFXUWlP)|(?P<key_ops>clpYbGZiM0J6SWpwY)|(?P<kty>cmRIa2lPaUp)|(?P<nonce>dWIyNWpaU0k2)|(?P<p2c>d01tTWlP)|(?P<p2s>d01uTWlPaU)|(?P<ppt>d2NIUWlPaU)|(?P<sub>emRXSWlPaU)|(?P<svt>emRuUWlP)|(?P<tag>MFlXY2lPaU)|(?P<typ>MGVYQWlPaUp)|(?P<url>MWNtd2l)|(?P<use>MWMyVWlPaUp)|(?P<ver>MlpYSWlPaU)|(?P<version>MlpYSnphVzl1SWpv)|(?P<x>NElqb2)|(?P<x5c>NE5XTWlP)|(?P<x5t>NE5YUWlPaU)|(?P<x5ts256>NE5YUWpVekkxTmlJNkl)|(?P<x5u>NE5YVWlPaU)|(?P<zip>NmFYQWlPaU))[a-zA-Z0-9\\/\\\\_+\\-\\r\\n]{40,}={0,2}",
263
+ "entropy": 2,
264
+ "keywords": ["zxlk"]
265
+ },
266
+ {
267
+ "id": "kraken-access-token",
268
+ "description": "Identified a Kraken Access Token, potentially compromising cryptocurrency trading accounts and financial security.",
269
+ "regex": "(?i)[\\w.-]{0,50}?(?:kraken)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9\\/=_\\+\\-]{80,90})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
270
+ "keywords": ["kraken"]
271
+ },
272
+ {
273
+ "id": "kubernetes-secret-yaml",
274
+ "description": "Possible Kubernetes Secret detected, posing a risk of leaking credentials/tokens from your deployments",
275
+ "regex": "(?i)(?:\\bkind:[ \\t]*[\"']?\\bsecret\\b[\"']?(?s:.){0,200}?\\bdata:(?s:.){0,100}?\\s+([\\w.-]+:(?:[ \\t]*(?:\\||>[-+]?)\\s+)?[ \\t]*(?:[\"']?[a-z0-9+/]{10,}={0,3}[\"']?|\\{\\{[ \\t\\w\"|$:=,.-]+}}|\"\"|''))|\\bdata:(?s:.){0,100}?\\s+([\\w.-]+:(?:[ \\t]*(?:\\||>[-+]?)\\s+)?[ \\t]*(?:[\"']?[a-z0-9+/]{10,}={0,3}[\"']?|\\{\\{[ \\t\\w\"|$:=,.-]+}}|\"\"|''))(?s:.){0,200}?\\bkind:[ \\t]*[\"']?\\bsecret\\b[\"']?)",
276
+ "path": "(?i)\\.ya?ml$",
277
+ "keywords": ["secret"],
278
+ "allowlists": [
279
+ {
280
+ "regexes": [
281
+ "[\\w.-]+:(?:[ \\t]*(?:\\||>[-+]?)\\s+)?[ \\t]*(?:\\{\\{[ \\t\\w\"|$:=,.-]+}}|\"\"|'')"
282
+ ]
283
+ },
284
+ {
285
+ "regexTarget": "match",
286
+ "regexes": [
287
+ "(kind:(?s:.)+\\n---\\n(?s:.)+\\bdata:|data:(?s:.)+\\n---\\n(?s:.)+\\bkind:)"
288
+ ]
289
+ }
290
+ ]
291
+ }
292
+ ]
@@ -0,0 +1,263 @@
1
+ [
2
+ {
3
+ "id": "kucoin-access-token",
4
+ "description": "Found a Kucoin Access Token, risking unauthorized access to cryptocurrency exchange services and transactions.",
5
+ "regex": "(?i)[\\w.-]{0,50}?(?:kucoin)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-f0-9]{24})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
6
+ "keywords": ["kucoin"]
7
+ },
8
+ {
9
+ "id": "kucoin-secret-key",
10
+ "description": "Discovered a Kucoin Secret Key, which could lead to compromised cryptocurrency operations and financial data breaches.",
11
+ "regex": "(?i)[\\w.-]{0,50}?(?:kucoin)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
12
+ "keywords": ["kucoin"]
13
+ },
14
+ {
15
+ "id": "launchdarkly-access-token",
16
+ "description": "Uncovered a Launchdarkly Access Token, potentially compromising feature flag management and application functionality.",
17
+ "regex": "(?i)[\\w.-]{0,50}?(?:launchdarkly)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9=_\\-]{40})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
18
+ "keywords": ["launchdarkly"]
19
+ },
20
+ {
21
+ "id": "linear-api-key",
22
+ "description": "Detected a Linear API Token, posing a risk to project management tools and sensitive task data.",
23
+ "regex": "lin_api_(?i)[a-z0-9]{40}",
24
+ "entropy": 2,
25
+ "keywords": ["lin_api_"]
26
+ },
27
+ {
28
+ "id": "linear-client-secret",
29
+ "description": "Identified a Linear Client Secret, which may compromise secure integrations and sensitive project management data.",
30
+ "regex": "(?i)[\\w.-]{0,50}?(?:linear)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-f0-9]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
31
+ "entropy": 2,
32
+ "keywords": ["linear"]
33
+ },
34
+ {
35
+ "id": "linkedin-client-id",
36
+ "description": "Found a LinkedIn Client ID, risking unauthorized access to LinkedIn integrations and professional data exposure.",
37
+ "regex": "(?i)[\\w.-]{0,50}?(?:linked[_-]?in)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{14})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
38
+ "entropy": 2,
39
+ "keywords": ["linkedin", "linked_in", "linked-in"]
40
+ },
41
+ {
42
+ "id": "linkedin-client-secret",
43
+ "description": "Discovered a LinkedIn Client secret, potentially compromising LinkedIn application integrations and user data.",
44
+ "regex": "(?i)[\\w.-]{0,50}?(?:linked[_-]?in)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{16})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
45
+ "entropy": 2,
46
+ "keywords": ["linkedin", "linked_in", "linked-in"]
47
+ },
48
+ {
49
+ "id": "lob-api-key",
50
+ "description": "Uncovered a Lob API Key, which could lead to unauthorized access to mailing and address verification services.",
51
+ "regex": "(?i)[\\w.-]{0,50}?(?:lob)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}((live|test)_[a-f0-9]{35})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
52
+ "keywords": ["test_", "live_"]
53
+ },
54
+ {
55
+ "id": "lob-pub-api-key",
56
+ "description": "Detected a Lob Publishable API Key, posing a risk of exposing mail and print service integrations.",
57
+ "regex": "(?i)[\\w.-]{0,50}?(?:lob)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}((test|live)_pub_[a-f0-9]{31})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
58
+ "keywords": ["test_pub", "live_pub", "_pub"]
59
+ },
60
+ {
61
+ "id": "looker-client-id",
62
+ "description": "Found a Looker Client ID, risking unauthorized access to a Looker account and exposing sensitive data.",
63
+ "regex": "(?i)[\\w.-]{0,50}?(?:looker)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{20})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
64
+ "keywords": ["looker"]
65
+ },
66
+ {
67
+ "id": "looker-client-secret",
68
+ "description": "Found a Looker Client Secret, risking unauthorized access to a Looker account and exposing sensitive data.",
69
+ "regex": "(?i)[\\w.-]{0,50}?(?:looker)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{24})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
70
+ "keywords": ["looker"]
71
+ },
72
+ {
73
+ "id": "mailchimp-api-key",
74
+ "description": "Identified a Mailchimp API key, potentially compromising email marketing campaigns and subscriber data.",
75
+ "regex": "(?i)[\\w.-]{0,50}?(?:MailchimpSDK.initialize|mailchimp)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-f0-9]{32}-us\\d\\d)(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
76
+ "keywords": ["mailchimp"]
77
+ },
78
+ {
79
+ "id": "mailgun-private-api-token",
80
+ "description": "Found a Mailgun private API token, risking unauthorized email service operations and data breaches.",
81
+ "regex": "(?i)[\\w.-]{0,50}?(?:mailgun)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(key-[a-f0-9]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
82
+ "keywords": ["mailgun"]
83
+ },
84
+ {
85
+ "id": "mailgun-pub-key",
86
+ "description": "Discovered a Mailgun public validation key, which could expose email verification processes and associated data.",
87
+ "regex": "(?i)[\\w.-]{0,50}?(?:mailgun)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(pubkey-[a-f0-9]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
88
+ "keywords": ["mailgun"]
89
+ },
90
+ {
91
+ "id": "mailgun-signing-key",
92
+ "description": "Uncovered a Mailgun webhook signing key, potentially compromising email automation and data integrity.",
93
+ "regex": "(?i)[\\w.-]{0,50}?(?:mailgun)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
94
+ "keywords": ["mailgun"]
95
+ },
96
+ {
97
+ "id": "mapbox-api-token",
98
+ "description": "Detected a MapBox API token, posing a risk to geospatial services and sensitive location data exposure.",
99
+ "regex": "(?i)[\\w.-]{0,50}?(?:mapbox)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(pk\\.[a-z0-9]{60}\\.[a-z0-9]{22})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
100
+ "keywords": ["mapbox"]
101
+ },
102
+ {
103
+ "id": "mattermost-access-token",
104
+ "description": "Identified a Mattermost Access Token, which may compromise team communication channels and data privacy.",
105
+ "regex": "(?i)[\\w.-]{0,50}?(?:mattermost)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{26})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
106
+ "keywords": ["mattermost"]
107
+ },
108
+ {
109
+ "id": "maxmind-license-key",
110
+ "description": "Discovered a potential MaxMind license key.",
111
+ "regex": "\\b([A-Za-z0-9]{6}_[A-Za-z0-9]{29}_mmk)(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
112
+ "entropy": 4,
113
+ "keywords": ["_mmk"]
114
+ },
115
+ {
116
+ "id": "messagebird-api-token",
117
+ "description": "Found a MessageBird API token, risking unauthorized access to communication platforms and message data.",
118
+ "regex": "(?i)[\\w.-]{0,50}?(?:message[_-]?bird)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{25})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
119
+ "keywords": ["messagebird", "message-bird", "message_bird"]
120
+ },
121
+ {
122
+ "id": "messagebird-client-id",
123
+ "description": "Discovered a MessageBird client ID, potentially compromising API integrations and sensitive communication data.",
124
+ "regex": "(?i)[\\w.-]{0,50}?(?:message[_-]?bird)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
125
+ "keywords": ["messagebird", "message-bird", "message_bird"]
126
+ },
127
+ {
128
+ "id": "microsoft-teams-webhook",
129
+ "description": "Uncovered a Microsoft Teams Webhook, which could lead to unauthorized access to team collaboration tools and data leaks.",
130
+ "regex": "https://[a-z0-9]+\\.webhook\\.office\\.com/webhookb2/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}@[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}/IncomingWebhook/[a-z0-9]{32}/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}",
131
+ "keywords": ["webhook.office.com", "webhookb2", "incomingwebhook"]
132
+ },
133
+ {
134
+ "id": "netlify-access-token",
135
+ "description": "Detected a Netlify Access Token, potentially compromising web hosting services and site management.",
136
+ "regex": "(?i)[\\w.-]{0,50}?(?:netlify)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9=_\\-]{40,46})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
137
+ "keywords": ["netlify"]
138
+ },
139
+ {
140
+ "id": "new-relic-browser-api-token",
141
+ "description": "Identified a New Relic ingest browser API token, risking unauthorized access to application performance data and analytics.",
142
+ "regex": "(?i)[\\w.-]{0,50}?(?:new-relic|newrelic|new_relic)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(NRJS-[a-f0-9]{19})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
143
+ "keywords": ["nrjs-"]
144
+ },
145
+ {
146
+ "id": "new-relic-insert-key",
147
+ "description": "Discovered a New Relic insight insert key, compromising data injection into the platform.",
148
+ "regex": "(?i)[\\w.-]{0,50}?(?:new-relic|newrelic|new_relic)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(NRII-[a-z0-9-]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
149
+ "keywords": ["nrii-"]
150
+ },
151
+ {
152
+ "id": "new-relic-user-api-id",
153
+ "description": "Found a New Relic user API ID, posing a risk to application monitoring services and data integrity.",
154
+ "regex": "(?i)[\\w.-]{0,50}?(?:new-relic|newrelic|new_relic)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{64})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
155
+ "keywords": ["new-relic", "newrelic", "new_relic"]
156
+ },
157
+ {
158
+ "id": "new-relic-user-api-key",
159
+ "description": "Discovered a New Relic user API Key, which could lead to compromised application insights and performance monitoring.",
160
+ "regex": "(?i)[\\w.-]{0,50}?(?:new-relic|newrelic|new_relic)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(NRAK-[a-z0-9]{27})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
161
+ "keywords": ["nrak"]
162
+ },
163
+ {
164
+ "id": "notion-api-token",
165
+ "description": "Notion API token",
166
+ "regex": "\\b(ntn_[0-9]{11}[A-Za-z0-9]{32}[A-Za-z0-9]{3})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
167
+ "entropy": 4,
168
+ "keywords": ["ntn_"]
169
+ },
170
+ {
171
+ "id": "npm-access-token",
172
+ "description": "Uncovered an npm access token, potentially compromising package management and code repository access.",
173
+ "regex": "(?i)\\b(npm_[a-z0-9]{36})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
174
+ "entropy": 2,
175
+ "keywords": ["npm_"]
176
+ },
177
+ {
178
+ "id": "nuget-config-password",
179
+ "description": "Identified a password within a Nuget config file, potentially compromising package management access.",
180
+ "regex": "(?i)<add key=\\\"(?:(?:ClearText)?Password)\\\"\\s*value=\\\"(.{8,})\\\"\\s*/>",
181
+ "path": "(?i)nuget\\.config$",
182
+ "entropy": 1,
183
+ "keywords": ["<add key="],
184
+ "allowlists": [
185
+ {
186
+ "regexes": ["33f!!lloppa", "hal\\+9ooo_da!sY", "^\\%\\S.*\\%$"]
187
+ }
188
+ ]
189
+ },
190
+ {
191
+ "id": "nytimes-access-token",
192
+ "description": "Detected a Nytimes Access Token, risking unauthorized access to New York Times APIs and content services.",
193
+ "regex": "(?i)[\\w.-]{0,50}?(?:nytimes|new-york-times,|newyorktimes)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9=_\\-]{32})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
194
+ "keywords": ["nytimes", "new-york-times", "newyorktimes"]
195
+ },
196
+ {
197
+ "id": "octopus-deploy-api-key",
198
+ "description": "Discovered a potential Octopus Deploy API key, risking application deployments and operational security.",
199
+ "regex": "\\b(API-[A-Z0-9]{26})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
200
+ "entropy": 3,
201
+ "keywords": ["api-"]
202
+ },
203
+ {
204
+ "id": "okta-access-token",
205
+ "description": "Identified an Okta Access Token, which may compromise identity management services and user authentication data.",
206
+ "regex": "[\\w.-]{0,50}?(?i:[\\w.-]{0,50}?(?:(?-i:[Oo]kta|OKTA))(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3})(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(00[\\w=\\-]{40})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
207
+ "entropy": 4,
208
+ "keywords": ["okta"]
209
+ },
210
+ {
211
+ "id": "openai-api-key",
212
+ "description": "Found an OpenAI API Key, posing a risk of unauthorized access to AI services and data manipulation.",
213
+ "regex": "\\b(sk-(?:proj|svcacct|admin)-(?:[A-Za-z0-9_-]{74}|[A-Za-z0-9_-]{58})T3BlbkFJ(?:[A-Za-z0-9_-]{74}|[A-Za-z0-9_-]{58})\\b|sk-[a-zA-Z0-9]{20}T3BlbkFJ[a-zA-Z0-9]{20})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
214
+ "entropy": 3,
215
+ "keywords": ["t3blbkfj"]
216
+ },
217
+ {
218
+ "id": "openshift-user-token",
219
+ "description": "Found an OpenShift user token, potentially compromising an OpenShift/Kubernetes cluster.",
220
+ "regex": "\\b(sha256~[\\w-]{43})(?:[^\\w-]|\\z)",
221
+ "entropy": 3.5,
222
+ "keywords": ["sha256~"]
223
+ },
224
+ {
225
+ "id": "perplexity-api-key",
226
+ "description": "Detected a Perplexity API key, which could lead to unauthorized access to Perplexity AI services and data exposure.",
227
+ "regex": "\\b(pplx-[a-zA-Z0-9]{48})(?:[\\x60'\"\\s;]|\\\\[nr]|$|\\b)",
228
+ "entropy": 4,
229
+ "keywords": ["pplx-"]
230
+ },
231
+ {
232
+ "id": "pkcs12-file",
233
+ "description": "Found a PKCS #12 file, which commonly contain bundled private keys.",
234
+ "path": "(?i)(?:^|\\/)[^\\/]+\\.p(?:12|fx)$"
235
+ },
236
+ {
237
+ "id": "plaid-api-token",
238
+ "description": "Discovered a Plaid API Token, potentially compromising financial data aggregation and banking services.",
239
+ "regex": "(?i)[\\w.-]{0,50}?(?:plaid)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}(access-(?:sandbox|development|production)-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
240
+ "keywords": ["plaid"]
241
+ },
242
+ {
243
+ "id": "plaid-client-id",
244
+ "description": "Uncovered a Plaid Client ID, which could lead to unauthorized financial service integrations and data breaches.",
245
+ "regex": "(?i)[\\w.-]{0,50}?(?:plaid)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{24})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
246
+ "entropy": 3.5,
247
+ "keywords": ["plaid"]
248
+ },
249
+ {
250
+ "id": "plaid-secret-key",
251
+ "description": "Detected a Plaid Secret key, risking unauthorized access to financial accounts and sensitive transaction data.",
252
+ "regex": "(?i)[\\w.-]{0,50}?(?:plaid)(?:[ \\t\\w.-]{0,20})[\\s'\"]{0,3}(?:=|>|:{1,3}=|\\|\\||:|=>|\\?=|,)[\\x60'\"\\s=]{0,5}([a-z0-9]{30})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
253
+ "entropy": 3.5,
254
+ "keywords": ["plaid"]
255
+ },
256
+ {
257
+ "id": "planetscale-api-token",
258
+ "description": "Identified a PlanetScale API token, potentially compromising database management and operations.",
259
+ "regex": "\\b(pscale_tkn_(?i)[\\w=\\.-]{32,64})(?:[\\x60'\"\\s;]|\\\\[nr]|$)",
260
+ "entropy": 3,
261
+ "keywords": ["pscale_tkn_"]
262
+ }
263
+ ]