@akasecurity/cli 0.8.1 → 0.9.0-rc1

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 (215) hide show
  1. package/README.md +2 -0
  2. package/dist/cli.js +2353 -1293
  3. package/package.json +12 -6
  4. package/web-ui/packages/dashboard-ui/package.json +1 -1
  5. package/web-ui/packages/detections/package.json +2 -2
  6. package/web-ui/packages/local-ops/package.json +3 -2
  7. package/web-ui/packages/persistence/package.json +2 -2
  8. package/web-ui/packages/plugin-sdk/package.json +29 -0
  9. package/web-ui/packages/schema/package.json +2 -2
  10. package/web-ui/rules/code-flaws/auth-jwt-no-verify.json +20 -0
  11. package/web-ui/rules/code-flaws/auth-ssl-verify-false.json +19 -0
  12. package/web-ui/rules/code-flaws/cmd-inject-exec.json +20 -0
  13. package/web-ui/rules/code-flaws/cmd-inject-node-exec.json +20 -0
  14. package/web-ui/rules/code-flaws/cmd-inject-shell.json +20 -0
  15. package/web-ui/rules/code-flaws/crypto-insecure-random.json +20 -0
  16. package/web-ui/rules/code-flaws/crypto-weak-hash-md5.json +16 -0
  17. package/web-ui/rules/code-flaws/crypto-weak-hash-sha1.json +23 -0
  18. package/web-ui/rules/code-flaws/deser-java-ois.json +22 -0
  19. package/web-ui/rules/code-flaws/deser-pickle.json +16 -0
  20. package/web-ui/rules/code-flaws/deser-yaml-unsafe.json +16 -0
  21. package/web-ui/rules/code-flaws/dev-debug-enabled.json +13 -0
  22. package/web-ui/rules/code-flaws/dev-placeholder-secret.json +24 -0
  23. package/web-ui/rules/code-flaws/dev-wildcard-cors.json +17 -0
  24. package/web-ui/rules/code-flaws/eval-dynamic-exec.json +17 -0
  25. package/web-ui/rules/code-flaws/hardcoded-password.json +23 -0
  26. package/web-ui/rules/code-flaws/hardcoded-secret-key.json +17 -0
  27. package/web-ui/rules/code-flaws/path-traversal-join.json +19 -0
  28. package/web-ui/rules/code-flaws/path-traversal-open.json +20 -0
  29. package/web-ui/rules/code-flaws/prototype-pollution-merge.json +16 -0
  30. package/web-ui/rules/code-flaws/regex-redos-backtrack.json +13 -0
  31. package/web-ui/rules/code-flaws/sql-inject-concat-dot.json +16 -0
  32. package/web-ui/rules/code-flaws/sql-inject-concat.json +13 -0
  33. package/web-ui/rules/code-flaws/sql-inject-format.json +16 -0
  34. package/web-ui/rules/code-flaws/sql-inject-interp.json +19 -0
  35. package/web-ui/rules/code-flaws/ssrf-user-url.json +16 -0
  36. package/web-ui/rules/code-flaws/xss-dangerously-set.json +16 -0
  37. package/web-ui/rules/code-flaws/xss-inner-html.json +16 -0
  38. package/web-ui/rules/code-flaws/xss-unescaped-render.json +16 -0
  39. package/web-ui/rules/core-code-context/db-table-name.json +29 -0
  40. package/web-ui/rules/core-code-context/feature-flag.json +24 -0
  41. package/web-ui/rules/core-code-context/file-path.json +17 -0
  42. package/web-ui/rules/core-code-context/internal-domain.json +13 -0
  43. package/web-ui/rules/core-code-context/internal-ip.json +13 -0
  44. package/web-ui/rules/core-code-context/internal-url.json +27 -0
  45. package/web-ui/rules/core-code-context/localhost-ref.json +13 -0
  46. package/web-ui/rules/core-code-context/stack-trace.json +13 -0
  47. package/web-ui/rules/core-financial/credit-card.json +14 -0
  48. package/web-ui/rules/core-financial/cusip.json +14 -0
  49. package/web-ui/rules/core-financial/cvv.json +13 -0
  50. package/web-ui/rules/core-financial/iban.json +17 -0
  51. package/web-ui/rules/core-financial/paypal.json +14 -0
  52. package/web-ui/rules/core-financial/routing-number.json +14 -0
  53. package/web-ui/rules/core-financial/salary.json +23 -0
  54. package/web-ui/rules/core-financial/swift.json +14 -0
  55. package/web-ui/rules/core-phi/biometric-ref.json +23 -0
  56. package/web-ui/rules/core-phi/genetic-data.json +24 -0
  57. package/web-ui/rules/core-phi/group-id.json +19 -0
  58. package/web-ui/rules/core-phi/hipaa-identifier.json +13 -0
  59. package/web-ui/rules/core-phi/icd10-code.json +14 -0
  60. package/web-ui/rules/core-phi/member-id.json +13 -0
  61. package/web-ui/rules/core-phi/mrn.json +13 -0
  62. package/web-ui/rules/core-phi/ndc-code.json +13 -0
  63. package/web-ui/rules/core-pii/dob.json +18 -0
  64. package/web-ui/rules/core-pii/drivers-license-us.json +14 -0
  65. package/web-ui/rules/core-pii/email.json +13 -0
  66. package/web-ui/rules/core-pii/home-address.json +21 -0
  67. package/web-ui/rules/core-pii/ip-address.json +13 -0
  68. package/web-ui/rules/core-pii/mac-address.json +13 -0
  69. package/web-ui/rules/core-pii/name.json +21 -0
  70. package/web-ui/rules/core-pii/national-id.json +27 -0
  71. package/web-ui/rules/core-pii/passport-us.json +17 -0
  72. package/web-ui/rules/core-pii/phone-intl.json +13 -0
  73. package/web-ui/rules/core-pii/phone-us.json +17 -0
  74. package/web-ui/rules/core-pii/ssn.json +13 -0
  75. package/web-ui/rules/core-pii/vin.json +13 -0
  76. package/web-ui/rules/core-pii/zip.json +30 -0
  77. package/web-ui/rules/secrets/anthropic-api-key.json +14 -0
  78. package/web-ui/rules/secrets/aws-access-key.json +14 -0
  79. package/web-ui/rules/secrets/aws-secret-key.json +15 -0
  80. package/web-ui/rules/secrets/azure-connection-string.json +13 -0
  81. package/web-ui/rules/secrets/cloudflare-api-key.json +15 -0
  82. package/web-ui/rules/secrets/datadog-key.json +15 -0
  83. package/web-ui/rules/secrets/digitalocean-token.json +13 -0
  84. package/web-ui/rules/secrets/discord-token.json +14 -0
  85. package/web-ui/rules/secrets/gcp-service-account.json +16 -0
  86. package/web-ui/rules/secrets/github-pat.json +16 -0
  87. package/web-ui/rules/secrets/gitlab-token.json +14 -0
  88. package/web-ui/rules/secrets/heroku-api-key.json +14 -0
  89. package/web-ui/rules/secrets/npm-token.json +14 -0
  90. package/web-ui/rules/secrets/openai-api-key.json +14 -0
  91. package/web-ui/rules/secrets/pulumi-access-token.json +14 -0
  92. package/web-ui/rules/secrets/sendgrid-key.json +14 -0
  93. package/web-ui/rules/secrets/slack-token.json +13 -0
  94. package/web-ui/rules/secrets/stripe-live-key.json +14 -0
  95. package/web-ui/rules/secrets/terraform-cloud-token.json +16 -0
  96. package/web-ui/rules/secrets/twilio-key.json +13 -0
  97. package/web-ui/rules/secrets/vault-token.json +14 -0
  98. package/web-ui/rules/secrets-infra/api-key-header.json +15 -0
  99. package/web-ui/rules/secrets-infra/basic-auth-header.json +13 -0
  100. package/web-ui/rules/secrets-infra/basic-auth-url.json +13 -0
  101. package/web-ui/rules/secrets-infra/bearer-token.json +17 -0
  102. package/web-ui/rules/secrets-infra/db-connection-string.json +13 -0
  103. package/web-ui/rules/secrets-infra/docker-config-auth.json +13 -0
  104. package/web-ui/rules/secrets-infra/env-key-value.json +14 -0
  105. package/web-ui/rules/secrets-infra/generic-high-entropy-secret.json +18 -0
  106. package/web-ui/rules/secrets-infra/jwt-token.json +16 -0
  107. package/web-ui/rules/secrets-infra/kubeconfig-token.json +14 -0
  108. package/web-ui/rules/secrets-infra/password-field.json +14 -0
  109. package/web-ui/rules/secrets-infra/pgp-private-key.json +15 -0
  110. package/web-ui/rules/secrets-infra/ssh-private-key.json +15 -0
  111. package/web-ui/web-ui/.next/BUILD_ID +1 -1
  112. package/web-ui/web-ui/.next/app-build-manifest.json +56 -55
  113. package/web-ui/web-ui/.next/app-path-routes-manifest.json +6 -6
  114. package/web-ui/web-ui/.next/build-manifest.json +2 -2
  115. package/web-ui/web-ui/.next/prerender-manifest.json +15 -15
  116. package/web-ui/web-ui/.next/required-server-files.json +4 -3
  117. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
  118. package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  119. package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  120. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
  121. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
  122. package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
  123. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
  124. package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
  125. package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
  126. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
  127. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
  128. package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
  129. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +2 -2
  130. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
  131. package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
  132. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
  133. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
  134. package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
  135. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
  136. package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
  137. package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
  138. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
  139. package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
  140. package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
  141. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
  142. package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
  143. package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
  144. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +1 -1
  145. package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
  146. package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
  147. package/web-ui/web-ui/.next/server/app/(app)/security/page.js +1 -1
  148. package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
  149. package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  150. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
  151. package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  152. package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  153. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
  154. package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
  155. package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
  156. package/web-ui/web-ui/.next/server/app/_not-found/page.js +1 -1
  157. package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  158. package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
  159. package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
  160. package/web-ui/web-ui/.next/server/app/index.html +1 -1
  161. package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
  162. package/web-ui/web-ui/.next/server/app/page.js +1 -1
  163. package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
  164. package/web-ui/web-ui/.next/server/app-paths-manifest.json +6 -6
  165. package/web-ui/web-ui/.next/server/chunks/366.js +582 -0
  166. package/web-ui/web-ui/.next/server/chunks/45.js +1 -1
  167. package/web-ui/web-ui/.next/server/chunks/461.js +5 -5
  168. package/web-ui/web-ui/.next/server/chunks/484.js +580 -0
  169. package/web-ui/web-ui/.next/server/chunks/773.js +4 -4
  170. package/web-ui/web-ui/.next/server/chunks/900.js +1 -0
  171. package/web-ui/web-ui/.next/server/chunks/918.js +2 -0
  172. package/web-ui/web-ui/.next/server/functions-config-manifest.json +5 -5
  173. package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
  174. package/web-ui/web-ui/.next/server/pages/404.html +1 -1
  175. package/web-ui/web-ui/.next/server/pages/500.html +1 -1
  176. package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
  177. package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
  178. package/web-ui/web-ui/.next/static/chunks/{24-b20c857178647805.js → 24-55b96836aea5ce23.js} +3 -3
  179. package/web-ui/web-ui/.next/static/chunks/561-c3388f066f813e17.js +1 -0
  180. package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-0c208c8b275a69ac.js +1 -0
  181. package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-041187c76bd42461.js +1 -0
  182. package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-481fedcbfb474cef.js +1 -0
  183. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-a20e7d7a2f0ad507.js +1 -0
  184. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-2cfe42c3dd4833c3.js +1 -0
  185. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-849d66cc2cd77cb6.js +1 -0
  186. package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-d33f3999e89c7e77.js +1 -0
  187. package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-76edd10592ba3cb1.js +1 -0
  188. package/web-ui/web-ui/.next/static/chunks/app/(app)/layout-d15081016f40ac92.js +1 -0
  189. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-50b604f229747240.js +1 -0
  190. package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-92d1086c8e8ed3bf.js +1 -0
  191. package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/{page-b9607b5e2e8700d6.js → page-c3c1671d32547619.js} +1 -1
  192. package/web-ui/web-ui/.next/static/chunks/app/{layout-8b19b03146218dc7.js → layout-40fea3e270a8e120.js} +1 -1
  193. package/web-ui/web-ui/.next/static/css/43f95c94ecc1bd17.css +2 -0
  194. package/web-ui/web-ui/package.json +1 -1
  195. package/web-ui/web-ui/server.js +1 -1
  196. package/LICENSE +0 -201
  197. package/web-ui/web-ui/.next/server/chunks/116.js +0 -536
  198. package/web-ui/web-ui/.next/server/chunks/223.js +0 -534
  199. package/web-ui/web-ui/.next/server/chunks/226.js +0 -2
  200. package/web-ui/web-ui/.next/server/chunks/640.js +0 -1
  201. package/web-ui/web-ui/.next/static/chunks/561-3a19cd28d2b941fa.js +0 -1
  202. package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-f6b1b344709ee48e.js +0 -1
  203. package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-548fa0d3dee6e829.js +0 -1
  204. package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-0bfa1f371b65b5ad.js +0 -1
  205. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-56ec5c05f347108a.js +0 -1
  206. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/page-cb33dc32fd3648bf.js +0 -1
  207. package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-b6fbc540ef0a50f8.js +0 -1
  208. package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-94eb9d838ae00222.js +0 -1
  209. package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-89cf3ac5a30e76a0.js +0 -1
  210. package/web-ui/web-ui/.next/static/chunks/app/(app)/layout-a86819fe3aeb2491.js +0 -1
  211. package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-0d43a6b2acafe349.js +0 -1
  212. package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-2cf02a09402cfb4d.js +0 -1
  213. package/web-ui/web-ui/.next/static/css/69dfaec5234c6b99.css +0 -2
  214. /package/web-ui/web-ui/.next/static/{X9C7-HlMI5zAQEKfIW_6e → unUYwnPVSRwxtrUFgSAxr}/_buildManifest.js +0 -0
  215. /package/web-ui/web-ui/.next/static/{X9C7-HlMI5zAQEKfIW_6e → unUYwnPVSRwxtrUFgSAxr}/_ssgManifest.js +0 -0
@@ -0,0 +1,27 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/national-id",
4
+ "name": "National ID number (multi-country)",
5
+ "category": "pii",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-Z]{2}\\d{6}[A-D]\\b|\\b[2-9]\\d{11}\\b|(?:national\\s*id|aadhaar|\\bSIN\\b).{0,10}?\\d{3}[\\s-]?\\d{3}[\\s-]?\\d{3}\\b",
10
+ "flags": "gi"
11
+ },
12
+ "requiresNearby": {
13
+ "labels": [
14
+ "national id",
15
+ "national identity",
16
+ "national insurance",
17
+ "nino",
18
+ "ni",
19
+ "aadhaar",
20
+ "sin",
21
+ "identity number",
22
+ "id number"
23
+ ],
24
+ "windowChars": 160
25
+ },
26
+ "examples": ["Aadhaar: 234567890123", "NI: AB123456C", "SIN: 123-456-789"]
27
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/passport-us",
4
+ "name": "US passport number",
5
+ "category": "pii",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-Z]\\d{8}\\b",
10
+ "flags": "g"
11
+ },
12
+ "requiresNearby": {
13
+ "labels": ["passport"],
14
+ "windowChars": 160
15
+ },
16
+ "examples": ["Passport: A12345678"]
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/phone-intl",
4
+ "name": "International phone number",
5
+ "category": "pii",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\+\\d{1,3}(?:[-.\\s]\\d{1,14}){1,5}\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["+44 20 7946 0958", "+86 138 0013 8000"]
13
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/phone-us",
4
+ "name": "US phone number",
5
+ "category": "pii",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "(?<!\\d)(?:\\+?1[-.\\s]?)?(?:\\([2-9]\\d{2}\\)[-.\\s]?|[2-9]\\d{2}[-.\\s])\\d{3}[-.\\s]\\d{4}(?!\\d)",
10
+ "flags": "g"
11
+ },
12
+ "requiresNearby": {
13
+ "labels": ["phone", "call", "mobile", "cell", "tel", "telephone", "contact", "fax", "dial"],
14
+ "windowChars": 160
15
+ },
16
+ "examples": ["(555) 123-4567", "+1-555-123-4567"]
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/ssn",
4
+ "name": "US Social Security Number",
5
+ "category": "pii",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?!000|666|9\\d{2})\\d{3}[\\s\\-](?!00)\\d{2}[\\s\\-](?!0000)\\d{4}\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["123-45-6789"]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/vin",
4
+ "name": "Vehicle Identification Number",
5
+ "category": "pii",
6
+ "severity": "medium",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-HJ-NPR-Z0-9]{17}\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["1HGCM82633A004352"]
13
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "core-pii/zip",
4
+ "name": "US ZIP / ZIP+4 postal code",
5
+ "category": "pii",
6
+ "severity": "low",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b\\d{5}(?:-\\d{4})?\\b",
10
+ "flags": "g"
11
+ },
12
+ "requiresNearby": {
13
+ "ruleIds": ["core-pii/home-address"],
14
+ "labels": [
15
+ "address",
16
+ "street",
17
+ "avenue",
18
+ "boulevard",
19
+ "mailing",
20
+ "shipping",
21
+ "billing",
22
+ "suite",
23
+ "p.o. box",
24
+ "po box",
25
+ "postal"
26
+ ],
27
+ "windowChars": 120
28
+ },
29
+ "examples": ["Shipping address: 123 Main Street, Springfield, IL 94107-1234"]
30
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/anthropic-api-key",
4
+ "name": "Anthropic API key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bsk-ant-[A-Za-z0-9_-]{40,}",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["sk-ant-AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/aws-access-key",
4
+ "name": "AWS Access Key ID",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(AKIA|ASIA|AROA|AIDA|ANPA|ANVA|APKA)[A-Z0-9]{16}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["AKIAIOSFODNN7EXAMPLE"]
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/aws-secret-key",
4
+ "name": "AWS Secret Access Key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "aws[_.-]?secret[_.-]?(?:access[_.-]?)?key[\"'\\s:=]{1,5}([A-Za-z0-9/+]{40})",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": ["AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"]
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/azure-connection-string",
4
+ "name": "Azure connection string",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "(?<![A-Za-z0-9])(?:DefaultEndpointsProtocol|AccountEndpoint|AccountName|AccountKey|SharedAccessSignature|SharedAccessKeyName|SharedAccessKey|EndpointSuffix|BlobEndpoint|QueueEndpoint|TableEndpoint|FileEndpoint|HostName|Endpoint)=(?![{<($])[^\\x3B\\r\\n]{1,400}\\x3B(?:[A-Za-z][A-Za-z0-9_]{0,39}=[^\\x3B\\r\\n]{1,400}\\x3B){0,10}(?:DefaultEndpointsProtocol|AccountEndpoint|AccountName|AccountKey|SharedAccessSignature|SharedAccessKeyName|SharedAccessKey|EndpointSuffix|BlobEndpoint|QueueEndpoint|TableEndpoint|FileEndpoint|HostName|Endpoint)=(?![{<($])[^\\x3B\\r\\n]{1,400}(?:\\x3B[A-Za-z][A-Za-z0-9_]{0,39}=[^\\x3B\\r\\n]{1,400}){0,10}",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["AccountName=mystorage;AccountKey=abc123=="]
13
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/cloudflare-api-key",
4
+ "name": "Cloudflare API token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "cloudflare.{0,40}?[\"'\\s:=]([A-Za-z0-9_-]{40})",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": ["CLOUDFLARE_API_TOKEN=kQ9fL2mP7xR4tY6wB1nC8vD3jH5sZ0aG2eU4iO7p"]
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/datadog-key",
4
+ "name": "Datadog API/Application key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:DD_API_KEY|DD_APP_KEY|DATADOG_API_KEY|DATADOG_APP_KEY)[\\s:=]+([A-Za-z0-9]{32,40})\\b",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": ["DD_API_KEY=a3F5g8H1j4K7m2N0p9Q6r1S4t7U0v3W8"]
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/digitalocean-token",
4
+ "name": "DigitalOcean Personal Access Token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bdop_v1_[A-Za-z0-9]{64}\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["dop_v1_1234567890123456789012345678901234567890123456789012345678901234"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/discord-token",
4
+ "name": "Discord bot token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-Za-z0-9]{24}\\.[A-Za-z0-9]{6}\\.[A-Za-z0-9_\\-]{27}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["AbCdEfGhIjKlMnOpQrStUvWx.YzAbCd.ABCdEfGhIjKlMnOpQrStUvWxYzAbCdEf"]
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/gcp-service-account",
4
+ "name": "GCP service account key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[a-z0-9][a-z0-9-]{2,60}@[a-z0-9][a-z0-9-]{2,60}\\.iam\\.gserviceaccount\\.com\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": [
13
+ "deploy-bot@sample-project.iam.gserviceaccount.com",
14
+ "12345678-1234-1234-1234-123456789012@my-project.iam.gserviceaccount.com"
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/github-pat",
4
+ "name": "GitHub Personal Access Token (classic and fine-grained)",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:gh[psou]_[A-Za-z0-9]{36}|github_pat_[0-9A-Za-z_]{82})\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": [
13
+ "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",
14
+ "ghp_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890"
15
+ ]
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/gitlab-token",
4
+ "name": "GitLab Personal/Project Access Token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bglpat-[A-Za-z0-9\\-_]{20,40}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["glpat-ABCdEfGhIjKlMnOpQrStUvWxYz1234567890"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/heroku-api-key",
4
+ "name": "Heroku API key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "heroku.{0,40}?([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "examples": ["HEROKU_API_KEY=3f8a1c2e-9b4d-4e6f-a1b2-c3d4e5f6a7b8"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/npm-token",
4
+ "name": "npm access token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bnpm_[A-Za-z0-9]{36,60}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["npm_AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjKlMnO"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/openai-api-key",
4
+ "name": "OpenAI API key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bsk-proj-[A-Za-z0-9]{20,60}\\b|\\bsk-[A-Za-z0-9]{40,55}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["sk-proj-AbCdEfGhIjKlMnOpQrStUvWxYz1234567890AbCdEfGhIjK"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/pulumi-access-token",
4
+ "name": "Pulumi access token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bpul-[A-Za-z0-9]{20,60}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["pul-ABCdEfGhIjKlMnOpQrStUvWxYz1234567890"]
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/sendgrid-key",
4
+ "name": "SendGrid API key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bSG\\.[A-Za-z0-9_\\-]{20,60}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["SG.AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"]
14
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/slack-token",
4
+ "name": "Slack API token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:xox[baprs]-[A-Za-z0-9]{10,60}|xapp-[A-Za-z0-9-]{10,60})\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["xoxb-123456789012-123456789012-ABCdEfGhIjKlMnOpQrStUvWx"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/stripe-live-key",
4
+ "name": "Stripe live API key",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:sk|pk|rk)_live_[A-Za-z0-9]{24,40}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["sk_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"]
14
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/terraform-cloud-token",
4
+ "name": "Terraform Cloud / TFE user token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-Za-z0-9]{14}\\.atlasv1\\.[A-Za-z0-9_\\-]{60,80}\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": [
14
+ "AbCdEfGhIjKlMnOp.atlasv1.XyZ1234567890123456789012345678901234567890123456789012345678901234567890"
15
+ ]
16
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/twilio-key",
4
+ "name": "Twilio Account SID",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\bAC[A-Za-z0-9]{32}\\b",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["AC12345678901234567890123456789012"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets/vault-token",
4
+ "name": "HashiCorp Vault token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:hvs\\.[A-Za-z0-9\\-_]{20,50}|s\\.[A-Za-z0-9\\-_]{20,50})\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": ["hvs.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890"]
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/api-key-header",
4
+ "name": "API key in a custom HTTP header",
5
+ "category": "secret",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "[\"']?\\bapi-?key\\b[\"']?\\s*:\\s*[\"']?([A-Za-z0-9+/_\\-.]{16,500})[\"']?",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": ["X-Api-Key: aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890"]
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/basic-auth-header",
4
+ "name": "HTTP Basic auth Authorization header",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "authorization\\s*:\\s*basic\\s+[A-Za-z0-9+/=]{16,}",
10
+ "flags": "gi"
11
+ },
12
+ "examples": ["Authorization: Basic dXNlcjpwYXNzd29yZDEyMzQ="]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/basic-auth-url",
4
+ "name": "URL with embedded basic auth credentials",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "https?://[A-Za-z0-9_%\\-]+:[A-Za-z0-9_%\\-]+@[A-Za-z0-9.\\-]+",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["https://user:password@example.com/path"]
13
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/bearer-token",
4
+ "name": "Generic Authorization Bearer token",
5
+ "category": "secret",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:Bearer|bearer)\\s+([A-Za-z0-9_\\-.]{20,500})",
10
+ "flags": "g",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": [
15
+ "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"
16
+ ]
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/db-connection-string",
4
+ "name": "Database connection string with credentials",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:postgres(?:ql)?|mysql|mongodb(?:\\+srv)?|redis|rediss)://[A-Za-z0-9_%\\-]+:[A-Za-z0-9_%\\-]+@[A-Za-z0-9.\\-]+(?:\\:\\d+)?",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["postgresql://user:password@localhost:5432/mydb"]
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/docker-config-auth",
4
+ "name": "Docker config.json auth (base64-encoded)",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\"auth\"\\s*:\\s*\"[A-Za-z0-9+/]{12,}={0,2}\"",
10
+ "flags": "g"
11
+ },
12
+ "examples": ["\"auths\": {\"https://index.docker.io/v1/\": {\"auth\": \"dXNlcjpwYXNzd29yZA==\"}}"]
13
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/env-key-value",
4
+ "name": "Environment variable assignment with sensitive key",
5
+ "category": "secret",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b[A-Za-z0-9_]*(?:API_KEY|API_SECRET|SECRET_KEY|SECRET|TOKEN|PASSWORD|PASS|CREDENTIALS|PRIVATE_KEY|ENCRYPTION_KEY|SIGNING_KEY)\\s*=\\s*[\"']?([^\\s\"']{4,})",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "examples": ["API_KEY=aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890"]
14
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/generic-high-entropy-secret",
4
+ "name": "Generic high-entropy secret assigned to a credential-shaped field",
5
+ "category": "secret",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "(?<![A-Za-z0-9_-])[A-Za-z0-9_]{0,34}(?:(?:secret|token|passw(?:or)?d|credentials?|(?<!api[_-]?)key)(?:[\"']?\\s*:|\\s+=)|(?:passwd|credential|(?<!api[_-]?)(?<!secret_)(?<!private_)(?<!encryption_)(?<!signing_)key)=)\\s*[\"']?((?!eyJ)[A-Za-z0-9+/_\\-]{20,200})",
10
+ "flags": "gi",
11
+ "captureGroup": 1
12
+ },
13
+ "postValidators": ["entropy"],
14
+ "examples": [
15
+ "authToken: \"aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890\"",
16
+ "MASTER_KEY=aBc123XyZ789kLmNoPqRsTuVwXyZ1234567890"
17
+ ]
18
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/jwt-token",
4
+ "name": "JSON Web Token (JWT)",
5
+ "category": "secret",
6
+ "severity": "high",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\beyJ[A-Za-z0-9_\\-+/]+\\.[A-Za-z0-9_\\-+/]+\\.[A-Za-z0-9_\\-+/]+\\b",
10
+ "flags": "g"
11
+ },
12
+ "postValidators": ["entropy"],
13
+ "examples": [
14
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"
15
+ ]
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "specVersion": 1,
3
+ "id": "secrets-infra/kubeconfig-token",
4
+ "name": "Kubernetes kubeconfig embedded token",
5
+ "category": "secret",
6
+ "severity": "critical",
7
+ "matcher": {
8
+ "type": "regex",
9
+ "pattern": "\\b(?:client-(?:certificate|key)-data|token):\\s+([A-Za-z0-9+/=_.-]{20,})",
10
+ "flags": "g",
11
+ "captureGroup": 1
12
+ },
13
+ "examples": ["token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9..."]
14
+ }