code-secret-handler 1.0.0

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 (171) hide show
  1. package/LICENSE +79 -0
  2. package/README.md +221 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +121 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/env/envWriter.d.ts +9 -0
  8. package/dist/env/envWriter.d.ts.map +1 -0
  9. package/dist/env/envWriter.js +76 -0
  10. package/dist/env/envWriter.js.map +1 -0
  11. package/dist/env/keyNamer.d.ts +13 -0
  12. package/dist/env/keyNamer.d.ts.map +1 -0
  13. package/dist/env/keyNamer.js +33 -0
  14. package/dist/env/keyNamer.js.map +1 -0
  15. package/dist/interactive/confirm.d.ts +16 -0
  16. package/dist/interactive/confirm.d.ts.map +1 -0
  17. package/dist/interactive/confirm.js +72 -0
  18. package/dist/interactive/confirm.js.map +1 -0
  19. package/dist/license/gitContext.d.ts +16 -0
  20. package/dist/license/gitContext.d.ts.map +1 -0
  21. package/dist/license/gitContext.js +117 -0
  22. package/dist/license/gitContext.js.map +1 -0
  23. package/dist/license/licenseCheck.d.ts +22 -0
  24. package/dist/license/licenseCheck.d.ts.map +1 -0
  25. package/dist/license/licenseCheck.js +119 -0
  26. package/dist/license/licenseCheck.js.map +1 -0
  27. package/dist/license/telemetry.d.ts +17 -0
  28. package/dist/license/telemetry.d.ts.map +1 -0
  29. package/dist/license/telemetry.js +87 -0
  30. package/dist/license/telemetry.js.map +1 -0
  31. package/dist/reporter/console.d.ts +3 -0
  32. package/dist/reporter/console.d.ts.map +1 -0
  33. package/dist/reporter/console.js +96 -0
  34. package/dist/reporter/console.js.map +1 -0
  35. package/dist/reporter/csv.d.ts +6 -0
  36. package/dist/reporter/csv.d.ts.map +1 -0
  37. package/dist/reporter/csv.js +56 -0
  38. package/dist/reporter/csv.js.map +1 -0
  39. package/dist/reporter/index.d.ts +13 -0
  40. package/dist/reporter/index.d.ts.map +1 -0
  41. package/dist/reporter/index.js +52 -0
  42. package/dist/reporter/index.js.map +1 -0
  43. package/dist/reporter/json.d.ts +7 -0
  44. package/dist/reporter/json.d.ts.map +1 -0
  45. package/dist/reporter/json.js +39 -0
  46. package/dist/reporter/json.js.map +1 -0
  47. package/dist/reporter/markdown.d.ts +6 -0
  48. package/dist/reporter/markdown.d.ts.map +1 -0
  49. package/dist/reporter/markdown.js +106 -0
  50. package/dist/reporter/markdown.js.map +1 -0
  51. package/dist/rewriter/index.d.ts +9 -0
  52. package/dist/rewriter/index.d.ts.map +1 -0
  53. package/dist/rewriter/index.js +95 -0
  54. package/dist/rewriter/index.js.map +1 -0
  55. package/dist/rewriter/langDetector.d.ts +7 -0
  56. package/dist/rewriter/langDetector.d.ts.map +1 -0
  57. package/dist/rewriter/langDetector.js +96 -0
  58. package/dist/rewriter/langDetector.js.map +1 -0
  59. package/dist/rewriter/templates/csharp.d.ts +8 -0
  60. package/dist/rewriter/templates/csharp.d.ts.map +1 -0
  61. package/dist/rewriter/templates/csharp.js +36 -0
  62. package/dist/rewriter/templates/csharp.js.map +1 -0
  63. package/dist/rewriter/templates/generic.d.ts +7 -0
  64. package/dist/rewriter/templates/generic.d.ts.map +1 -0
  65. package/dist/rewriter/templates/generic.js +40 -0
  66. package/dist/rewriter/templates/generic.js.map +1 -0
  67. package/dist/rewriter/templates/go.d.ts +8 -0
  68. package/dist/rewriter/templates/go.d.ts.map +1 -0
  69. package/dist/rewriter/templates/go.js +56 -0
  70. package/dist/rewriter/templates/go.js.map +1 -0
  71. package/dist/rewriter/templates/java.d.ts +7 -0
  72. package/dist/rewriter/templates/java.d.ts.map +1 -0
  73. package/dist/rewriter/templates/java.js +31 -0
  74. package/dist/rewriter/templates/java.js.map +1 -0
  75. package/dist/rewriter/templates/javascript.d.ts +10 -0
  76. package/dist/rewriter/templates/javascript.d.ts.map +1 -0
  77. package/dist/rewriter/templates/javascript.js +54 -0
  78. package/dist/rewriter/templates/javascript.js.map +1 -0
  79. package/dist/rewriter/templates/php.d.ts +8 -0
  80. package/dist/rewriter/templates/php.d.ts.map +1 -0
  81. package/dist/rewriter/templates/php.js +41 -0
  82. package/dist/rewriter/templates/php.js.map +1 -0
  83. package/dist/rewriter/templates/properties.d.ts +9 -0
  84. package/dist/rewriter/templates/properties.d.ts.map +1 -0
  85. package/dist/rewriter/templates/properties.js +39 -0
  86. package/dist/rewriter/templates/properties.js.map +1 -0
  87. package/dist/rewriter/templates/python.d.ts +8 -0
  88. package/dist/rewriter/templates/python.d.ts.map +1 -0
  89. package/dist/rewriter/templates/python.js +48 -0
  90. package/dist/rewriter/templates/python.js.map +1 -0
  91. package/dist/rewriter/templates/ruby.d.ts +8 -0
  92. package/dist/rewriter/templates/ruby.d.ts.map +1 -0
  93. package/dist/rewriter/templates/ruby.js +40 -0
  94. package/dist/rewriter/templates/ruby.js.map +1 -0
  95. package/dist/rewriter/templates/rust.d.ts +7 -0
  96. package/dist/rewriter/templates/rust.d.ts.map +1 -0
  97. package/dist/rewriter/templates/rust.js +27 -0
  98. package/dist/rewriter/templates/rust.js.map +1 -0
  99. package/dist/rewriter/templates/shell.d.ts +7 -0
  100. package/dist/rewriter/templates/shell.d.ts.map +1 -0
  101. package/dist/rewriter/templates/shell.js +42 -0
  102. package/dist/rewriter/templates/shell.js.map +1 -0
  103. package/dist/rewriter/templates/toml.d.ts +9 -0
  104. package/dist/rewriter/templates/toml.d.ts.map +1 -0
  105. package/dist/rewriter/templates/toml.js +34 -0
  106. package/dist/rewriter/templates/toml.js.map +1 -0
  107. package/dist/rewriter/templates/yaml.d.ts +8 -0
  108. package/dist/rewriter/templates/yaml.d.ts.map +1 -0
  109. package/dist/rewriter/templates/yaml.js +37 -0
  110. package/dist/rewriter/templates/yaml.js.map +1 -0
  111. package/dist/scanner/detector.d.ts +18 -0
  112. package/dist/scanner/detector.d.ts.map +1 -0
  113. package/dist/scanner/detector.js +156 -0
  114. package/dist/scanner/detector.js.map +1 -0
  115. package/dist/scanner/fileWalker.d.ts +6 -0
  116. package/dist/scanner/fileWalker.d.ts.map +1 -0
  117. package/dist/scanner/fileWalker.js +146 -0
  118. package/dist/scanner/fileWalker.js.map +1 -0
  119. package/dist/scanner/index.d.ts +8 -0
  120. package/dist/scanner/index.d.ts.map +1 -0
  121. package/dist/scanner/index.js +74 -0
  122. package/dist/scanner/index.js.map +1 -0
  123. package/dist/scanner/rules/aws.d.ts +6 -0
  124. package/dist/scanner/rules/aws.d.ts.map +1 -0
  125. package/dist/scanner/rules/aws.js +90 -0
  126. package/dist/scanner/rules/aws.js.map +1 -0
  127. package/dist/scanner/rules/azure.d.ts +6 -0
  128. package/dist/scanner/rules/azure.d.ts.map +1 -0
  129. package/dist/scanner/rules/azure.js +86 -0
  130. package/dist/scanner/rules/azure.js.map +1 -0
  131. package/dist/scanner/rules/cloud.d.ts +11 -0
  132. package/dist/scanner/rules/cloud.d.ts.map +1 -0
  133. package/dist/scanner/rules/cloud.js +1066 -0
  134. package/dist/scanner/rules/cloud.js.map +1 -0
  135. package/dist/scanner/rules/database.d.ts +6 -0
  136. package/dist/scanner/rules/database.d.ts.map +1 -0
  137. package/dist/scanner/rules/database.js +283 -0
  138. package/dist/scanner/rules/database.js.map +1 -0
  139. package/dist/scanner/rules/gcp.d.ts +6 -0
  140. package/dist/scanner/rules/gcp.d.ts.map +1 -0
  141. package/dist/scanner/rules/gcp.js +108 -0
  142. package/dist/scanner/rules/gcp.js.map +1 -0
  143. package/dist/scanner/rules/generic.d.ts +13 -0
  144. package/dist/scanner/rules/generic.d.ts.map +1 -0
  145. package/dist/scanner/rules/generic.js +305 -0
  146. package/dist/scanner/rules/generic.js.map +1 -0
  147. package/dist/scanner/rules/index.d.ts +18 -0
  148. package/dist/scanner/rules/index.d.ts.map +1 -0
  149. package/dist/scanner/rules/index.js +40 -0
  150. package/dist/scanner/rules/index.js.map +1 -0
  151. package/dist/scanner/rules/jwt.d.ts +6 -0
  152. package/dist/scanner/rules/jwt.d.ts.map +1 -0
  153. package/dist/scanner/rules/jwt.js +97 -0
  154. package/dist/scanner/rules/jwt.js.map +1 -0
  155. package/dist/scanner/rules/network.d.ts +7 -0
  156. package/dist/scanner/rules/network.d.ts.map +1 -0
  157. package/dist/scanner/rules/network.js +166 -0
  158. package/dist/scanner/rules/network.js.map +1 -0
  159. package/dist/scanner/rules/privateKey.d.ts +6 -0
  160. package/dist/scanner/rules/privateKey.d.ts.map +1 -0
  161. package/dist/scanner/rules/privateKey.js +60 -0
  162. package/dist/scanner/rules/privateKey.js.map +1 -0
  163. package/dist/scanner/rules/ssh.d.ts +6 -0
  164. package/dist/scanner/rules/ssh.d.ts.map +1 -0
  165. package/dist/scanner/rules/ssh.js +49 -0
  166. package/dist/scanner/rules/ssh.js.map +1 -0
  167. package/dist/types.d.ts +78 -0
  168. package/dist/types.d.ts.map +1 -0
  169. package/dist/types.js +3 -0
  170. package/dist/types.js.map +1 -0
  171. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../../src/scanner/rules/cloud.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACU,QAAA,UAAU,GAAW;IAChC,+EAA+E;IAC/E;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,oCAAoC;QAC7C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,WAAW,EAAE,yDAAyD;QACtE,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,uHAAuH;QAChI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,+CAA+C;QAC5D,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,wBAAwB;QACtC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,iDAAiD;QAC1D,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,8BAA8B;QACvC,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,sFAAsF;QAC/F,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,8BAA8B;QACvC,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,0DAA0D;QACnE,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,4CAA4C;QACrD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,2FAA2F;QACpG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,4FAA4F;QACrG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,+GAA+G;QACxH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,wHAAwH;QACjI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,gGAAgG;QACzG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,gGAAgG;QACzG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,sGAAsG;QAC/G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,WAAW;QACzB,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,gIAAgI;QACzI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,0GAA0G;QACnH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,4GAA4G;QACrH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,kHAAkH;QAC3H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,gGAAgG;QACzG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,uFAAuF;QAChG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,MAAM;KACjB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,yCAAyC;QAClD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,mGAAmG;QAC5G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,2FAA2F;QACpG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,2FAA2F;QACpG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,oGAAoG;QAC7G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,MAAM;KACjB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,uFAAuF;QAChG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,2BAA2B;QAC/B,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,4IAA4I;QACrJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,2BAA2B;QACzC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,wJAAwJ;QACjK,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,MAAM;KACjB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,cAAc;QAClB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,yFAAyF;QAClG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,+HAA+H;QACxI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,qGAAqG;QAC9G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,0HAA0H;QACnI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,6FAA6F;QACtG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,QAAQ;KACnB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,2DAA2D;QACpE,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,sHAAsH;QAC/H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,uJAAuJ;QAChK,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,mFAAmF;QAC5F,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,qGAAqG;QAC9G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,0BAA0B;QAC9B,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,yHAAyH;QAClI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,uGAAuG;QAChH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,6GAA6G;QACtH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,yHAAyH;QAClI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,iGAAiG;QAC1G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,sGAAsG;QAC/G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,mGAAmG;QAC5G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,wGAAwG;QACjH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,qGAAqG;QAC9G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,+GAA+G;QACxH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,+HAA+H;QACxI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,MAAM;KACjB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,0IAA0I;QACnJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,MAAM;KACjB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,0FAA0F;QACnG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,MAAM;KACjB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,qHAAqH;QAC9H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,wGAAwG;QACjH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,yHAAyH;QAClI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,0HAA0H;QACnI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,0IAA0I;QACnJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,8HAA8H;QACvI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,8IAA8I;QACvJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,6DAA6D;QACtE,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,yFAAyF;QAClG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,gFAAgF;IAChF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,mCAAmC;QAC5C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,qJAAqJ;QAC9J,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,MAAM;KACjB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,2BAA2B;QAC/B,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,gJAAgJ;QACzJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,2BAA2B;QACzC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,kHAAkH;QAC3H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,iGAAiG;QAC1G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,qCAAqC;QAC9C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,iFAAiF;IACjF;QACE,EAAE,EAAE,4BAA4B;QAChC,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,sGAAsG;QAC/G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,yDAAyD;QACtE,OAAO,EAAE,yGAAyG;QAClH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,wBAAwB;QACtC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,sHAAsH;QAC/H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,yBAAyB;QACvC,QAAQ,EAAE,UAAU;KACrB;IAED,mBAAmB;IACnB;QACE,EAAE,EAAE,oCAAoC;QACxC,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,UAAU;QACxB,QAAQ,EAAE,UAAU;KACrB;IACD,6BAA6B;IAC7B;QACE,EAAE,EAAE,4BAA4B;QAChC,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,0FAA0F;QACnG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD,iBAAiB;IACjB;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD,2BAA2B;IAC3B;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,8HAA8H;QACvI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IACD,kBAAkB;IAClB;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,iLAAiL;QAC1L,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IACD,oBAAoB;IACpB;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,6GAA6G;QACtH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,oBAAoB;IACpB;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,+FAA+F;QACxG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD,kBAAkB;IAClB;QACE,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,8GAA8G;QACvH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,iBAAiB;QAC/B,QAAQ,EAAE,UAAU;KACrB;IAED,YAAY;IACZ;QACE,EAAE,EAAE,6BAA6B;QACjC,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,6HAA6H;QACtI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,UAAU;KACrB;IACD,uBAAuB;IACvB;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,0GAA0G;QACnH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IACD,wBAAwB;IACxB;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,8FAA8F;QACvG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IACD,uBAAuB;IACvB;QACE,EAAE,EAAE,oBAAoB;QACxB,WAAW,EAAE,4DAA4D;QACzE,OAAO,EAAE,2LAA2L;QACpM,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD,2BAA2B;IAC3B;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,mJAAmJ;QAC5J,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,UAAU;KACrB;IACD,yBAAyB;IACzB;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,8IAA8I;QACvJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,wBAAwB;QACtC,QAAQ,EAAE,MAAM;KACjB;IACD,uBAAuB;IACvB;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,2HAA2H;QACpI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD,sBAAsB;IACtB;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,0IAA0I;QACnJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,mFAAmF;QAChG,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uEAAuE;QACpF,OAAO,EAAE,qIAAqI;QAC9I,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,mGAAmG;QAC5G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,2FAA2F;QACpG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,MAAM;KACjB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,yGAAyG;QAClH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,gEAAgE;QAC7E,OAAO,EAAE,oHAAoH;QAC7H,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,YAAY;QAC1B,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,2EAA2E;QACxF,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,6FAA6F;QACtG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,kFAAkF;QAC3F,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,MAAM;KACjB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,kLAAkL;QAC3L,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,uCAAuC;QAChD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,wFAAwF;QACjG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,gGAAgG;QACzG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,QAAQ;KACnB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,uGAAuG;QAChH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,eAAe;QACnB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,iIAAiI;QAC1I,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,kEAAkE;QAC/E,OAAO,EAAE,mIAAmI;QAC5I,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,wCAAwC;QACjD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,eAAe;QAC7B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IAED,iFAAiF;IACjF;QACE,EAAE,EAAE,mBAAmB;QACvB,WAAW,EAAE,uDAAuD;QACpE,OAAO,EAAE,gJAAgJ;QACzJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,mBAAmB;QACjC,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Rule } from '../../types';
2
+ /**
3
+ * Database connection URI and credential patterns.
4
+ */
5
+ export declare const databaseRules: Rule[];
6
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/scanner/rules/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAAI,EAwR/B,CAAC"}
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.databaseRules = void 0;
4
+ /**
5
+ * Database connection URI and credential patterns.
6
+ */
7
+ exports.databaseRules = [
8
+ {
9
+ id: 'db-postgres-uri',
10
+ description: 'PostgreSQL connection URI with credentials',
11
+ pattern: /(?:database[_-]?url|db[_-]?url|postgres(?:ql)?[_-]?(?:url|uri)|DATABASE_URL)\s*[:=]\s*['"\`](postgres(?:ql)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
12
+ valueGroup: 1,
13
+ envKeyPrefix: 'DATABASE_URL',
14
+ severity: 'critical',
15
+ },
16
+ {
17
+ id: 'db-mysql-uri',
18
+ description: 'MySQL connection URI with credentials',
19
+ pattern: /(?:database[_-]?url|db[_-]?url|mysql[_-]?(?:url|uri)|MYSQL_URI)\s*[:=]\s*['"\`](mysql(?:2)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
20
+ valueGroup: 1,
21
+ envKeyPrefix: 'MYSQL_URL',
22
+ severity: 'critical',
23
+ },
24
+ {
25
+ id: 'db-mysql-uri-bare',
26
+ description: 'Bare MySQL URI (any variable name)',
27
+ pattern: /['"\`](mysql(?:2)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/,
28
+ valueGroup: 1,
29
+ envKeyPrefix: 'MYSQL_URL',
30
+ severity: 'critical',
31
+ },
32
+ {
33
+ id: 'db-mongodb-uri',
34
+ description: 'MongoDB connection URI with credentials',
35
+ pattern: /(?:mongo(?:db)?[_-]?(?:url|uri)|MONGO(?:DB)?_URI|MONGODB_URI)\s*[:=]\s*['"\`](mongodb(?:\+srv)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
36
+ valueGroup: 1,
37
+ envKeyPrefix: 'MONGODB_URI',
38
+ severity: 'critical',
39
+ },
40
+ {
41
+ id: 'db-mongodb-uri-bare',
42
+ description: 'Bare MongoDB URI (any variable name)',
43
+ pattern: /['"\`](mongodb(?:\+srv)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/,
44
+ valueGroup: 1,
45
+ envKeyPrefix: 'MONGODB_URI',
46
+ severity: 'critical',
47
+ },
48
+ {
49
+ id: 'db-redis-uri',
50
+ description: 'Redis connection URI with credentials',
51
+ pattern: /(?:redis[_-]?(?:url|uri)|REDIS_URL|REDIS_URI)\s*[:=]\s*['"\`](rediss?:\/\/(?:[^'"\`\s]+:[^'"\`\s]+@)?[^'"\`\s]+)['"\`]/i,
52
+ valueGroup: 1,
53
+ envKeyPrefix: 'REDIS_URL',
54
+ severity: 'critical',
55
+ },
56
+ {
57
+ id: 'db-redis-uri-bare',
58
+ description: 'Bare Redis URI (any variable name, including password-only form)',
59
+ pattern: /['"\`](rediss?:\/\/[^'"\`\s]*:[^'"\`\s]*@[^'"\`\s]+)['"\`]/,
60
+ valueGroup: 1,
61
+ envKeyPrefix: 'REDIS_URL',
62
+ severity: 'critical',
63
+ },
64
+ {
65
+ id: 'db-rabbitmq-uri',
66
+ description: 'RabbitMQ / AMQP connection URI with credentials',
67
+ pattern: /(?:rabbitmq[_-]?(?:url|uri)|amqp[_-]?(?:url|uri)|RABBITMQ_URL|AMQP_URL|RABBITMQ_URI)\s*[:=]\s*['"\`](amqps?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
68
+ valueGroup: 1,
69
+ envKeyPrefix: 'RABBITMQ_URL',
70
+ severity: 'critical',
71
+ },
72
+ {
73
+ id: 'db-rabbitmq-uri-bare',
74
+ description: 'Bare RabbitMQ/AMQP URI (any variable name)',
75
+ pattern: /['"\`](amqps?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/,
76
+ valueGroup: 1,
77
+ envKeyPrefix: 'RABBITMQ_URL',
78
+ severity: 'critical',
79
+ },
80
+ {
81
+ id: 'db-password',
82
+ description: 'Database password assignment (any service-prefixed _PASSWORD variable)',
83
+ pattern: /(?:db[_-]?pass(?:word)?|database[_-]?pass(?:word)?|replica[_-]?pass(?:word)?|mysql[_-]?pass(?:word)?|redis[_-]?pass(?:word)?|mongo(?:db)?[_-]?pass(?:word)?|postgres(?:ql)?[_-]?pass(?:word)?|mssql[_-]?pass(?:word)?|rabbit(?:mq)?[_-]?pass(?:word)?|elastic(?:search)?[_-]?pass(?:word)?|DB_PASSWORD|DATABASE_PASSWORD|MYSQL_PASSWORD|REDIS_PASSWORD|MONGODB_PASSWORD|MSSQL_PASSWORD|RABBITMQ_PASSWORD|ELASTICSEARCH_PASSWORD|REPLICA_PASSWORD)\s*[:=,]\s*['"\`]([^'"\`\n]{4,})['"\`]/i,
84
+ valueGroup: 1,
85
+ envKeyPrefix: 'DB_PASSWORD',
86
+ severity: 'critical',
87
+ },
88
+ {
89
+ id: 'db-username',
90
+ description: 'Database username assignment',
91
+ pattern: /(?:db[_-]?user(?:name)?|database[_-]?user(?:name)?|DB_USER(?:NAME)?|DATABASE_USER(?:NAME)?)\s*[:=]\s*['"\`]([^'"\`\n]{2,})['"\`]/i,
92
+ valueGroup: 1,
93
+ envKeyPrefix: 'DB_USERNAME',
94
+ severity: 'medium',
95
+ },
96
+ {
97
+ id: 'db-host',
98
+ description: 'Database host assignment (non-localhost)',
99
+ pattern: /(?:db[_-]?host|database[_-]?host|DB_HOST|DATABASE_HOST)\s*[:=]\s*['"\`]((?!localhost|127\.0\.0\.1|0\.0\.0\.0)[^'"\`\n]{4,})['"\`]/i,
100
+ valueGroup: 1,
101
+ envKeyPrefix: 'DB_HOST',
102
+ severity: 'medium',
103
+ },
104
+ {
105
+ id: 'db-sqlite-path',
106
+ description: 'SQLite database file path',
107
+ pattern: /(?:sqlite[_-]?(?:url|path|db)|DATABASE_URL)\s*[:=]\s*['"\`](sqlite(?:3)?:\/\/\/[^'"\`\s]+\.db)['"\`]/i,
108
+ valueGroup: 1,
109
+ envKeyPrefix: 'SQLITE_PATH',
110
+ severity: 'low',
111
+ },
112
+ {
113
+ // Captures the ENTIRE connection string between double-quotes so the rewriter
114
+ // replaces the full literal value — not a truncated portion stopping at Password=.
115
+ id: 'db-mssql-connection-double-quote',
116
+ description: 'Microsoft SQL Server connection string in double quotes',
117
+ pattern: /(?:mssql[_-]?connection[_-]?(?:string)?|MSSQL_CONNECTION_STRING|connection[_-]?string)\s*[:=,]\s*"(Server=[^"]+Password=[^"]+)"/i,
118
+ valueGroup: 1,
119
+ envKeyPrefix: 'MSSQL_CONNECTION_STRING',
120
+ severity: 'critical',
121
+ },
122
+ {
123
+ id: 'db-mssql-connection-single-quote',
124
+ description: 'Microsoft SQL Server connection string in single quotes',
125
+ pattern: /(?:mssql[_-]?connection[_-]?(?:string)?|MSSQL_CONNECTION_STRING|connection[_-]?string)\s*[:=,]\s*'(Server=[^']+Password=[^']+)'/i,
126
+ valueGroup: 1,
127
+ envKeyPrefix: 'MSSQL_CONNECTION_STRING',
128
+ severity: 'critical',
129
+ },
130
+ {
131
+ id: 'db-mssql-connection-bare',
132
+ description: 'Microsoft SQL Server connection string (unquoted, e.g. in .env files)',
133
+ // Stops at whitespace and quote chars; does NOT stop at ; so the full string is captured.
134
+ pattern: /(Server=[^;\s'"]+;(?:Database=[^;]+;)?User\s*Id=[^;]+;Password=[^;\s'"]+)/i,
135
+ valueGroup: 1,
136
+ envKeyPrefix: 'MSSQL_CONNECTION_STRING',
137
+ severity: 'critical',
138
+ },
139
+ {
140
+ id: 'db-elasticsearch-uri',
141
+ description: 'Elasticsearch connection URI with credentials',
142
+ pattern: /(?:elastic(?:search)?[_-]?(?:url|uri)|ELASTICSEARCH_URL|ELASTICSEARCH_URI)\s*[:=]\s*['"\`](https?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
143
+ valueGroup: 1,
144
+ envKeyPrefix: 'ELASTICSEARCH_URL',
145
+ severity: 'critical',
146
+ },
147
+ {
148
+ id: 'db-elasticsearch-api-key',
149
+ description: 'Elasticsearch API key (base64 encoded)',
150
+ pattern: /(?:elastic(?:search)?[_-]?api[_-]?key|ELASTICSEARCH_API_KEY)\s*[:=,]\s*['"\`]([A-Za-z0-9+/=]{20,})['"\`]/i,
151
+ valueGroup: 1,
152
+ envKeyPrefix: 'ELASTICSEARCH_API_KEY',
153
+ severity: 'critical',
154
+ },
155
+ {
156
+ id: 'db-cassandra-credentials',
157
+ description: 'Cassandra username or password assignment',
158
+ pattern: /(?:cassandra[_-]?(?:user(?:name)?|pass(?:word)?)|CASSANDRA_(?:USERNAME|PASSWORD))\s*[:=]\s*['"\`]([^'"\`\n]{4,})['"\`]/i,
159
+ valueGroup: 1,
160
+ envKeyPrefix: 'CASSANDRA_CREDENTIALS',
161
+ severity: 'critical',
162
+ },
163
+ {
164
+ id: 'db-oracle-connection',
165
+ description: 'Oracle DB connection string or credentials',
166
+ pattern: /(?:oracle[_-]?(?:url|uri|connection)|DATA_SOURCE_NAME)\s*[:=]\s*['"\`]([^'"\`\n]{8,})['"\`]/i,
167
+ valueGroup: 1,
168
+ envKeyPrefix: 'ORACLE_CONNECTION_STRING',
169
+ severity: 'critical',
170
+ },
171
+ {
172
+ id: 'db-generic-dsn',
173
+ description: 'Generic DSN (Data Source Name) with embedded credentials',
174
+ pattern: /(?:dsn|data[_-]?source[_-]?name)\s*[:=]\s*['"\`]([^'"\`\n]{8,})['"\`]/i,
175
+ valueGroup: 1,
176
+ envKeyPrefix: 'DSN',
177
+ severity: 'critical',
178
+ },
179
+ {
180
+ id: 'db-cockroachdb-uri',
181
+ description: 'CockroachDB connection URI with credentials',
182
+ pattern: /(?:cockroach(?:db)?[_-]?(?:url|uri)|COCKROACHDB_URL)\s*[:=]\s*['"\`](cockroachdb:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
183
+ valueGroup: 1,
184
+ envKeyPrefix: 'COCKROACHDB_URL',
185
+ severity: 'critical',
186
+ },
187
+ {
188
+ id: 'db-kafka-sasl-password',
189
+ description: 'Kafka SASL password or credentials',
190
+ pattern: /(?:kafka[_-]?(?:sasl[_-]?)?(?:password|pass|secret)|KAFKA_PASSWORD|KAFKA_SASL_PASSWORD)\s*[:=]\s*['"\`]([^'"\`\n]{4,})['"\`]/i,
191
+ valueGroup: 1,
192
+ envKeyPrefix: 'KAFKA_PASSWORD',
193
+ severity: 'critical',
194
+ },
195
+ {
196
+ id: 'db-dynamodb-endpoint',
197
+ description: 'DynamoDB custom endpoint (non-AWS, e.g., local or 3rd-party)',
198
+ pattern: /(?:dynamodb[_-]?endpoint|DYNAMODB_ENDPOINT)\s*[:=]\s*['"\`](https?:\/\/(?!localhost|127\.0\.0\.1)[^'"\`\s]+)['"\`]/i,
199
+ valueGroup: 1,
200
+ envKeyPrefix: 'DYNAMODB_ENDPOINT',
201
+ severity: 'medium',
202
+ },
203
+ {
204
+ id: 'db-neo4j-uri',
205
+ description: 'Neo4j graph database connection URI with credentials',
206
+ pattern: /(?:neo4j[_-]?(?:url|uri|bolt)|NEO4J_URI)\s*[:=]\s*['"\`](bolt(?:\+ssc)?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
207
+ valueGroup: 1,
208
+ envKeyPrefix: 'NEO4J_URI',
209
+ severity: 'critical',
210
+ },
211
+ {
212
+ id: 'db-influxdb-token',
213
+ description: 'InfluxDB authentication token',
214
+ pattern: /(?:influxdb?[_-]?token|INFLUX(?:DB)?_TOKEN)\s*[:=]\s*['"\`]([A-Za-z0-9\-_=]{16,})['"\`]/i,
215
+ valueGroup: 1,
216
+ envKeyPrefix: 'INFLUXDB_TOKEN',
217
+ severity: 'critical',
218
+ },
219
+ // ClickHouse credentials
220
+ {
221
+ id: 'db-clickhouse-credentials',
222
+ description: 'ClickHouse HTTP connection URI or credentials',
223
+ pattern: /(?:clickhouse[_-]?(?:url|uri|password)|CLICKHOUSE_URL|CLICKHOUSE_PASSWORD)\s*[:=]\s*['"\`]([^'"\`\n]{8,})['"\`]/i,
224
+ valueGroup: 1,
225
+ envKeyPrefix: 'CLICKHOUSE_URL',
226
+ severity: 'critical',
227
+ },
228
+ // CouchDB URI
229
+ {
230
+ id: 'db-couchdb-uri',
231
+ description: 'CouchDB connection URI with credentials',
232
+ pattern: /(?:couchdb[_-]?(?:url|uri)|COUCHDB_URL)\s*[:=]\s*['"\`](https?:\/\/[^'"\`\s]+:[^'"\`\s]+@[^'"\`\s]+)['"\`]/i,
233
+ valueGroup: 1,
234
+ envKeyPrefix: 'COUCHDB_URL',
235
+ severity: 'critical',
236
+ },
237
+ // etcd password
238
+ {
239
+ id: 'db-etcd-password',
240
+ description: 'etcd cluster password (common in Kubernetes configs)',
241
+ pattern: /(?:etcd[_-]?(?:password|pass)|ETCD_PASSWORD)\s*[:=]\s*['"\`]([^'"\`\n]{4,})['"\`]/i,
242
+ valueGroup: 1,
243
+ envKeyPrefix: 'ETCD_PASSWORD',
244
+ severity: 'critical',
245
+ },
246
+ // LDAP inline DN password
247
+ {
248
+ id: 'db-ldap-password-inline',
249
+ description: 'LDAP credentials embedded inline in a DN string',
250
+ pattern: /(?:ldap[_-]?bind[_-]?dn|LDAP_BIND_DN)\s*[:=]\s*['"\`]([^'"\`\n]*(?:password|pass)=[^'"\`\n]{4,})['"\`]/i,
251
+ valueGroup: 1,
252
+ envKeyPrefix: 'LDAP_BIND_DN',
253
+ severity: 'critical',
254
+ },
255
+ // ── Apache Cassandra ──────────────────────────────────────────────────────────
256
+ {
257
+ id: 'db-cassandra-password',
258
+ description: 'Apache Cassandra database password',
259
+ pattern: /(?:cassandra[_-]?(?:password|pass)|CASSANDRA_PASSWORD)\s*[:=]\s*['"`]([^'"`\n]{4,})['"`]/i,
260
+ valueGroup: 1,
261
+ envKeyPrefix: 'CASSANDRA_PASSWORD',
262
+ severity: 'critical',
263
+ },
264
+ // ── Couchbase ─────────────────────────────────────────────────────────────────
265
+ {
266
+ id: 'db-couchbase-password',
267
+ description: 'Couchbase database password or connection URL',
268
+ pattern: /(?:couchbase[_-]?(?:password|pass|url|uri)|COUCHBASE_PASSWORD|COUCHBASE_URL)\s*[:=]\s*['"`]([^'"`\n]{4,})['"`]/i,
269
+ valueGroup: 1,
270
+ envKeyPrefix: 'COUCHBASE_PASSWORD',
271
+ severity: 'critical',
272
+ },
273
+ // ── ScyllaDB ──────────────────────────────────────────────────────────────────
274
+ {
275
+ id: 'db-scylladb-password',
276
+ description: 'ScyllaDB database password',
277
+ pattern: /(?:scylla(?:db)?[_-]?(?:password|pass)|SCYLLADB_PASSWORD|SCYLLA_PASSWORD)\s*[:=]\s*['"`]([^'"`\n]{4,})['"`]/i,
278
+ valueGroup: 1,
279
+ envKeyPrefix: 'SCYLLADB_PASSWORD',
280
+ severity: 'critical',
281
+ },
282
+ ];
283
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/scanner/rules/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Rule } from '../../types';
2
+ /**
3
+ * Google Cloud Platform credential patterns.
4
+ */
5
+ export declare const gcpRules: Rule[];
6
+ //# sourceMappingURL=gcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcp.d.ts","sourceRoot":"","sources":["../../../src/scanner/rules/gcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,IAAI,EAsG1B,CAAC"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gcpRules = void 0;
4
+ /**
5
+ * Google Cloud Platform credential patterns.
6
+ */
7
+ exports.gcpRules = [
8
+ {
9
+ id: 'gcp-api-key',
10
+ description: 'Google Cloud / Firebase API Key',
11
+ pattern: /(?:google[_-]?api[_-]?key|gcp[_-]?api[_-]?key|firebase[_-]?api[_-]?key|GOOGLE_API_KEY)\s*[:=]\s*['"\`](AIza[0-9A-Za-z\-_]{35})['"\`]/i,
12
+ valueGroup: 1,
13
+ envKeyPrefix: 'GOOGLE_API_KEY',
14
+ severity: 'critical',
15
+ },
16
+ {
17
+ id: 'gcp-api-key-bare',
18
+ description: 'Bare Google API Key (AIza... without variable name context)',
19
+ pattern: /['"\`](AIza[0-9A-Za-z\-_]{35})['"\`]/,
20
+ valueGroup: 1,
21
+ envKeyPrefix: 'GOOGLE_API_KEY',
22
+ severity: 'critical',
23
+ },
24
+ {
25
+ id: 'gcp-oauth-client-id',
26
+ description: 'Google OAuth 2.0 Client ID',
27
+ pattern: /(?:google[_-]?client[_-]?id|gcp[_-]?client[_-]?id)\s*[:=]\s*['"\`](\d+-[A-Za-z0-9_]+\.apps\.googleusercontent\.com)['"\`]/i,
28
+ valueGroup: 1,
29
+ envKeyPrefix: 'GOOGLE_CLIENT_ID',
30
+ severity: 'high',
31
+ },
32
+ {
33
+ id: 'gcp-oauth-client-secret',
34
+ description: 'Google OAuth 2.0 Client Secret',
35
+ pattern: /(?:google[_-]?client[_-]?secret|gcp[_-]?client[_-]?secret)\s*[:=]\s*['"\`](GOCSPX-[A-Za-z0-9\-_]{28})['"\`]/i,
36
+ valueGroup: 1,
37
+ envKeyPrefix: 'GOOGLE_CLIENT_SECRET',
38
+ severity: 'critical',
39
+ },
40
+ {
41
+ id: 'gcp-service-account-key',
42
+ description: 'GCP Service Account private_key_id field',
43
+ pattern: /"private_key_id"\s*:\s*"([a-f0-9]{40})"/i,
44
+ valueGroup: 1,
45
+ envKeyPrefix: 'GCP_PRIVATE_KEY_ID',
46
+ severity: 'critical',
47
+ },
48
+ {
49
+ id: 'gcp-service-account-email',
50
+ description: 'GCP Service Account email',
51
+ pattern: /"client_email"\s*:\s*"([^"]+@[^"]+\.iam\.gserviceaccount\.com)"/i,
52
+ valueGroup: 1,
53
+ envKeyPrefix: 'GCP_CLIENT_EMAIL',
54
+ severity: 'high',
55
+ },
56
+ {
57
+ id: 'gcp-project-id',
58
+ description: 'GCP Project ID hardcoded assignment',
59
+ pattern: /(?:google[_-]?cloud[_-]?project|gcp[_-]?project[_-]?id|GOOGLE_CLOUD_PROJECT)\s*[:=]\s*['"\`]([a-z][a-z0-9\-]{4,28}[a-z0-9])['"\`]/i,
60
+ valueGroup: 1,
61
+ envKeyPrefix: 'GCP_PROJECT_ID',
62
+ severity: 'medium',
63
+ },
64
+ {
65
+ id: 'google-recaptcha-secret',
66
+ description: 'Google reCAPTCHA Secret Key',
67
+ pattern: /(?:recaptcha[_-]?secret[_-]?key|recaptcha[_-]?secret)\s*[:=]\s*['"\`](6[A-Za-z0-9_\-]{39})['"\`]/i,
68
+ valueGroup: 1,
69
+ envKeyPrefix: 'RECAPTCHA_SECRET_KEY',
70
+ severity: 'high',
71
+ },
72
+ {
73
+ id: 'google-maps-api-key',
74
+ description: 'Google Maps / Places API Key (assigned to maps-specific variable)',
75
+ pattern: /(?:google[_-]?maps[_-]?(?:api[_-]?)?key|maps[_-]?api[_-]?key|GOOGLE_MAPS_API_KEY|MAPS_API_KEY)\s*[:=]\s*['"\`](AIza[0-9A-Za-z\-_]{35})['"\`]/i,
76
+ valueGroup: 1,
77
+ envKeyPrefix: 'GOOGLE_MAPS_API_KEY',
78
+ severity: 'high',
79
+ },
80
+ {
81
+ id: 'gcp-application-credentials',
82
+ description: 'GOOGLE_APPLICATION_CREDENTIALS file path',
83
+ pattern: /(?:GOOGLE_APPLICATION_CREDENTIALS|google[_-]?application[_-]?credentials)\s*[:=]\s*['"\`]([^'"\`\n]{4,}\.json)['"\`]/i,
84
+ valueGroup: 1,
85
+ envKeyPrefix: 'GOOGLE_APPLICATION_CREDENTIALS',
86
+ severity: 'high',
87
+ },
88
+ {
89
+ id: 'firebase-database-url',
90
+ description: 'Firebase Realtime Database URL',
91
+ pattern: /(?:firebase[_-]?(?:database[_-]?)?url|FIREBASE_DATABASE_URL)\s*[:=]\s*['"\`](https:\/\/[a-z0-9\-]+(?:-default-rtdb)?\.firebaseio\.com)['"\`]/i,
92
+ valueGroup: 1,
93
+ envKeyPrefix: 'FIREBASE_DATABASE_URL',
94
+ severity: 'high',
95
+ },
96
+ // ── Firebase / GCP Service Account private_key field ─────────────────────────
97
+ {
98
+ id: 'firebase-admin-sdk-private-key',
99
+ description: 'Firebase Admin SDK / GCP Service Account private_key value (inline JSON field)',
100
+ // Complements the existing gcp-service-account-key which only catches private_key_id.
101
+ // This rule catches the actual RSA private key value stored in the "private_key" JSON field.
102
+ pattern: /"private_key"\s*:\s*"(-----BEGIN PRIVATE KEY-----[^"]+-----END PRIVATE KEY-----\\n?)"/,
103
+ valueGroup: 1,
104
+ envKeyPrefix: 'FIREBASE_PRIVATE_KEY',
105
+ severity: 'critical',
106
+ },
107
+ ];
108
+ //# sourceMappingURL=gcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcp.js","sourceRoot":"","sources":["../../../src/scanner/rules/gcp.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,QAAQ,GAAW;IAC9B;QACE,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,uIAAuI;QAChJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,sCAAsC;QAC/C,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,4HAA4H;QACrI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,8GAA8G;QACvH,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,oBAAoB;QAClC,QAAQ,EAAE,UAAU;KACrB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,kEAAkE;QAC3E,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,oIAAoI;QAC7I,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gBAAgB;QAC9B,QAAQ,EAAE,QAAQ;KACnB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,mGAAmG;QAC5G,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,WAAW,EAAE,mEAAmE;QAChF,OAAO,EAAE,+IAA+I;QACxJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,qBAAqB;QACnC,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,uHAAuH;QAChI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,gCAAgC;QAC9C,QAAQ,EAAE,MAAM;KACjB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,+IAA+I;QACxJ,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,uBAAuB;QACrC,QAAQ,EAAE,MAAM;KACjB;IAED,gFAAgF;IAChF;QACE,EAAE,EAAE,gCAAgC;QACpC,WAAW,EAAE,gFAAgF;QAC7F,sFAAsF;QACtF,6FAA6F;QAC7F,OAAO,EAAE,uFAAuF;QAChG,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,UAAU;KACrB;CAEF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Rule } from '../../types';
2
+ /**
3
+ * Generic secret patterns: API keys, passwords, tokens, secrets.
4
+ * These patterns match common assignment patterns across all languages.
5
+ *
6
+ * Assignment forms covered:
7
+ * key = 'value' (Python, JS, shell, YAML)
8
+ * key: 'value' (YAML, JSON)
9
+ * define('KEY', 'value') (PHP)
10
+ * KEY=value (.env files)
11
+ */
12
+ export declare const genericRules: Rule[];
13
+ //# sourceMappingURL=generic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/scanner/rules/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,IAAI,EAsS9B,CAAC"}