s1-shift-left-cli 0.4.0__py3-none-any.whl

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 (2207) hide show
  1. s1_cns_cli/__init__.py +0 -0
  2. s1_cns_cli/cli/__init__.py +0 -0
  3. s1_cns_cli/cli/command_line_arguments.py +683 -0
  4. s1_cns_cli/cli/config/__init__.py +1 -0
  5. s1_cns_cli/cli/config/config.py +64 -0
  6. s1_cns_cli/cli/config/config_manager.py +30 -0
  7. s1_cns_cli/cli/main.py +167 -0
  8. s1_cns_cli/cli/registry.py +361 -0
  9. s1_cns_cli/cli/scan/__init__.py +0 -0
  10. s1_cns_cli/cli/scan/code_scanner.py +62 -0
  11. s1_cns_cli/cli/scan/iac.py +798 -0
  12. s1_cns_cli/cli/scan/secret.py +423 -0
  13. s1_cns_cli/cli/scan/vulnerability.py +396 -0
  14. s1_cns_cli/cli/utils.py +545 -0
  15. s1_cns_cli/s1graph/__init__.py +0 -0
  16. s1_cns_cli/s1graph/ansible/__init__.py +1 -0
  17. s1_cns_cli/s1graph/ansible/checks/__init__.py +1 -0
  18. s1_cns_cli/s1graph/ansible/checks/base_ansible_task_check.py +76 -0
  19. s1_cns_cli/s1graph/ansible/checks/base_ansible_task_value_check.py +79 -0
  20. s1_cns_cli/s1graph/ansible/checks/graph_checks/BlockErrorHandling.yaml +10 -0
  21. s1_cns_cli/s1graph/ansible/checks/graph_checks/DnfDisableGpgCheck.yaml +12 -0
  22. s1_cns_cli/s1graph/ansible/checks/graph_checks/DnfSslVerify.yaml +12 -0
  23. s1_cns_cli/s1graph/ansible/checks/graph_checks/DnfValidateCerts.yaml +12 -0
  24. s1_cns_cli/s1graph/ansible/checks/graph_checks/GetUrlHttpsOnly.yaml +12 -0
  25. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosInterfaceMgmtProfileNoHTTP.yaml +17 -0
  26. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosInterfaceMgmtProfileNoTelnet.yaml +17 -0
  27. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyDescription.yaml +16 -0
  28. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyLogForwarding.yaml +16 -0
  29. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyLoggingEnabled.yaml +12 -0
  30. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyNoApplicationAny.yaml +22 -0
  31. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyNoDSRI.yaml +17 -0
  32. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyNoServiceAny.yaml +22 -0
  33. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosPolicyNoSrcAnyDstAny.yaml +40 -0
  34. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosZoneProtectionProfile.yaml +16 -0
  35. s1_cns_cli/s1graph/ansible/checks/graph_checks/PanosZoneUserIDIncludeACL.yaml +31 -0
  36. s1_cns_cli/s1graph/ansible/checks/graph_checks/UriHttpsOnly.yaml +12 -0
  37. s1_cns_cli/s1graph/ansible/checks/graph_checks/__init__.py +0 -0
  38. s1_cns_cli/s1graph/ansible/checks/registry.py +4 -0
  39. s1_cns_cli/s1graph/ansible/checks/task/__init__.py +2 -0
  40. s1_cns_cli/s1graph/ansible/checks/task/aws/EC2EBSOptimized.py +31 -0
  41. s1_cns_cli/s1graph/ansible/checks/task/aws/EC2PublicIP.py +34 -0
  42. s1_cns_cli/s1graph/ansible/checks/task/aws/__init__.py +4 -0
  43. s1_cns_cli/s1graph/ansible/checks/task/builtin/AptAllowUnauthenticated.py +28 -0
  44. s1_cns_cli/s1graph/ansible/checks/task/builtin/AptForce.py +28 -0
  45. s1_cns_cli/s1graph/ansible/checks/task/builtin/GetUrlValidateCerts.py +23 -0
  46. s1_cns_cli/s1graph/ansible/checks/task/builtin/UriValidateCerts.py +23 -0
  47. s1_cns_cli/s1graph/ansible/checks/task/builtin/YumSslVerify.py +23 -0
  48. s1_cns_cli/s1graph/ansible/checks/task/builtin/YumValidateCerts.py +23 -0
  49. s1_cns_cli/s1graph/ansible/checks/task/builtin/__init__.py +4 -0
  50. s1_cns_cli/s1graph/ansible/graph_builder/__init__.py +0 -0
  51. s1_cns_cli/s1graph/ansible/graph_builder/graph_components/__init__.py +0 -0
  52. s1_cns_cli/s1graph/ansible/graph_builder/graph_components/resource_types.py +10 -0
  53. s1_cns_cli/s1graph/ansible/graph_builder/local_graph.py +145 -0
  54. s1_cns_cli/s1graph/ansible/runner.py +132 -0
  55. s1_cns_cli/s1graph/ansible/utils.py +91 -0
  56. s1_cns_cli/s1graph/argo_workflows/__init__.py +1 -0
  57. s1_cns_cli/s1graph/argo_workflows/checks/__init__.py +1 -0
  58. s1_cns_cli/s1graph/argo_workflows/checks/base_argo_workflows_check.py +41 -0
  59. s1_cns_cli/s1graph/argo_workflows/checks/registry.py +4 -0
  60. s1_cns_cli/s1graph/argo_workflows/checks/template/DefaultServiceAccount.py +29 -0
  61. s1_cns_cli/s1graph/argo_workflows/checks/template/RunAsNonRoot.py +31 -0
  62. s1_cns_cli/s1graph/argo_workflows/checks/template/__init__.py +4 -0
  63. s1_cns_cli/s1graph/argo_workflows/common/__init__.py +0 -0
  64. s1_cns_cli/s1graph/argo_workflows/runner.py +142 -0
  65. s1_cns_cli/s1graph/arm/__init__.py +1 -0
  66. s1_cns_cli/s1graph/arm/base_parameter_check.py +44 -0
  67. s1_cns_cli/s1graph/arm/base_registry.py +16 -0
  68. s1_cns_cli/s1graph/arm/base_resource_check.py +66 -0
  69. s1_cns_cli/s1graph/arm/base_resource_negative_value_check.py +70 -0
  70. s1_cns_cli/s1graph/arm/base_resource_value_check.py +72 -0
  71. s1_cns_cli/s1graph/arm/checks/__init__.py +2 -0
  72. s1_cns_cli/s1graph/arm/checks/graph_checks/AzureSpringCloudConfigWithVnet.yaml +15 -0
  73. s1_cns_cli/s1graph/arm/checks/graph_checks/__init__.py +0 -0
  74. s1_cns_cli/s1graph/arm/checks/parameter/SecureStringParameterNoHardcodedValue.py +23 -0
  75. s1_cns_cli/s1graph/arm/checks/parameter/__init__.py +5 -0
  76. s1_cns_cli/s1graph/arm/checks/resource/AKSApiServerAuthorizedIpRanges.py +45 -0
  77. s1_cns_cli/s1graph/arm/checks/resource/AKSDashboardDisabled.py +39 -0
  78. s1_cns_cli/s1graph/arm/checks/resource/AKSLoggingEnabled.py +39 -0
  79. s1_cns_cli/s1graph/arm/checks/resource/AKSNetworkPolicy.py +36 -0
  80. s1_cns_cli/s1graph/arm/checks/resource/AKSRbacEnabled.py +33 -0
  81. s1_cns_cli/s1graph/arm/checks/resource/AppServiceAuthentication.py +39 -0
  82. s1_cns_cli/s1graph/arm/checks/resource/AppServiceClientCertificate.py +27 -0
  83. s1_cns_cli/s1graph/arm/checks/resource/AppServiceHTTPSOnly.py +26 -0
  84. s1_cns_cli/s1graph/arm/checks/resource/AppServiceHttps20Enabled.py +24 -0
  85. s1_cns_cli/s1graph/arm/checks/resource/AppServiceIdentity.py +32 -0
  86. s1_cns_cli/s1graph/arm/checks/resource/AppServiceMinTLSVersion.py +24 -0
  87. s1_cns_cli/s1graph/arm/checks/resource/AzureInstancePassword.py +37 -0
  88. s1_cns_cli/s1graph/arm/checks/resource/AzureManagedDiscEncryption.py +30 -0
  89. s1_cns_cli/s1graph/arm/checks/resource/AzureScaleSetPassword.py +38 -0
  90. s1_cns_cli/s1graph/arm/checks/resource/CosmosDBDisableAccessKeyWrite.py +24 -0
  91. s1_cns_cli/s1graph/arm/checks/resource/CustomRoleDefinitionSubscriptionOwner.py +39 -0
  92. s1_cns_cli/s1graph/arm/checks/resource/KeyvaultRecoveryEnabled.py +28 -0
  93. s1_cns_cli/s1graph/arm/checks/resource/MariaDBSSLEnforcementEnabled.py +22 -0
  94. s1_cns_cli/s1graph/arm/checks/resource/MonitorLogProfileCategories.py +27 -0
  95. s1_cns_cli/s1graph/arm/checks/resource/MonitorLogProfileRetentionDays.py +31 -0
  96. s1_cns_cli/s1graph/arm/checks/resource/MySQLServerSSLEnforcementEnabled.py +22 -0
  97. s1_cns_cli/s1graph/arm/checks/resource/NSGRulePortAccessRestricted.py +65 -0
  98. s1_cns_cli/s1graph/arm/checks/resource/NSGRuleRDPAccessRestricted.py +11 -0
  99. s1_cns_cli/s1graph/arm/checks/resource/NSGRuleSSHAccessRestricted.py +9 -0
  100. s1_cns_cli/s1graph/arm/checks/resource/NetworkWatcherFlowLogPeriod.py +38 -0
  101. s1_cns_cli/s1graph/arm/checks/resource/PostgreSQLServerConnectionThrottlingEnabled.py +43 -0
  102. s1_cns_cli/s1graph/arm/checks/resource/PostgreSQLServerLogCheckpointsEnabled.py +44 -0
  103. s1_cns_cli/s1graph/arm/checks/resource/PostgreSQLServerLogConnectionsEnabled.py +44 -0
  104. s1_cns_cli/s1graph/arm/checks/resource/PostgreSQLServerSSLEnforcementEnabled.py +22 -0
  105. s1_cns_cli/s1graph/arm/checks/resource/SQLServerAuditingEnabled.py +42 -0
  106. s1_cns_cli/s1graph/arm/checks/resource/SQLServerAuditingRetention90Days.py +43 -0
  107. s1_cns_cli/s1graph/arm/checks/resource/SQLServerEmailAlertsEnabled.py +42 -0
  108. s1_cns_cli/s1graph/arm/checks/resource/SQLServerEmailAlertsToAdminsEnabled.py +43 -0
  109. s1_cns_cli/s1graph/arm/checks/resource/SQLServerNoPublicAccess.py +38 -0
  110. s1_cns_cli/s1graph/arm/checks/resource/SQLServerThreatDetectionTypes.py +37 -0
  111. s1_cns_cli/s1graph/arm/checks/resource/SecretExpirationDate.py +27 -0
  112. s1_cns_cli/s1graph/arm/checks/resource/SecurityCenterContactEmailAlert.py +26 -0
  113. s1_cns_cli/s1graph/arm/checks/resource/SecurityCenterContactEmailAlertAdmins.py +26 -0
  114. s1_cns_cli/s1graph/arm/checks/resource/SecurityCenterContactPhone.py +26 -0
  115. s1_cns_cli/s1graph/arm/checks/resource/SecurityCenterStandardPricing.py +26 -0
  116. s1_cns_cli/s1graph/arm/checks/resource/StorageAccountAzureServicesAccessEnabled.py +40 -0
  117. s1_cns_cli/s1graph/arm/checks/resource/StorageAccountDefaultNetworkAccessDeny.py +38 -0
  118. s1_cns_cli/s1graph/arm/checks/resource/StorageAccountDisablePublicAccess.py +24 -0
  119. s1_cns_cli/s1graph/arm/checks/resource/StorageAccountLoggingQueueServiceEnabled.py +41 -0
  120. s1_cns_cli/s1graph/arm/checks/resource/StorageAccountsTransportEncryption.py +40 -0
  121. s1_cns_cli/s1graph/arm/checks/resource/StorageBlobServiceContainerPrivateAccess.py +32 -0
  122. s1_cns_cli/s1graph/arm/checks/resource/__init__.py +5 -0
  123. s1_cns_cli/s1graph/arm/context_parser.py +229 -0
  124. s1_cns_cli/s1graph/arm/graph_builder/__init__.py +0 -0
  125. s1_cns_cli/s1graph/arm/graph_builder/graph_components/__init__.py +0 -0
  126. s1_cns_cli/s1graph/arm/graph_builder/graph_components/block_types.py +12 -0
  127. s1_cns_cli/s1graph/arm/graph_builder/graph_components/blocks.py +19 -0
  128. s1_cns_cli/s1graph/arm/graph_builder/local_graph.py +109 -0
  129. s1_cns_cli/s1graph/arm/graph_manager.py +42 -0
  130. s1_cns_cli/s1graph/arm/parser/__init__.py +0 -0
  131. s1_cns_cli/s1graph/arm/parser/parser.py +79 -0
  132. s1_cns_cli/s1graph/arm/registry.py +4 -0
  133. s1_cns_cli/s1graph/arm/runner.py +291 -0
  134. s1_cns_cli/s1graph/arm/utils.py +59 -0
  135. s1_cns_cli/s1graph/azure_pipelines/__init__.py +1 -0
  136. s1_cns_cli/s1graph/azure_pipelines/checks/__init__.py +1 -0
  137. s1_cns_cli/s1graph/azure_pipelines/checks/base_azure_pipelines_check.py +41 -0
  138. s1_cns_cli/s1graph/azure_pipelines/checks/job/ContainerDigest.py +33 -0
  139. s1_cns_cli/s1graph/azure_pipelines/checks/job/ContainerLatestTag.py +42 -0
  140. s1_cns_cli/s1graph/azure_pipelines/checks/job/DetectImagesUsage.py +26 -0
  141. s1_cns_cli/s1graph/azure_pipelines/checks/job/SetSecretVariable.py +41 -0
  142. s1_cns_cli/s1graph/azure_pipelines/checks/job/__init__.py +4 -0
  143. s1_cns_cli/s1graph/azure_pipelines/checks/registry.py +4 -0
  144. s1_cns_cli/s1graph/azure_pipelines/common/__init__.py +0 -0
  145. s1_cns_cli/s1graph/azure_pipelines/common/resource_id_utils.py +41 -0
  146. s1_cns_cli/s1graph/azure_pipelines/image_referencer/__init__.py +0 -0
  147. s1_cns_cli/s1graph/azure_pipelines/image_referencer/manager.py +13 -0
  148. s1_cns_cli/s1graph/azure_pipelines/image_referencer/provider.py +71 -0
  149. s1_cns_cli/s1graph/azure_pipelines/runner.py +97 -0
  150. s1_cns_cli/s1graph/bicep/__init__.py +1 -0
  151. s1_cns_cli/s1graph/bicep/checks/__init__.py +0 -0
  152. s1_cns_cli/s1graph/bicep/checks/graph_checks/SQLServerAuditingEnabled.yaml +39 -0
  153. s1_cns_cli/s1graph/bicep/checks/graph_checks/__init__.py +0 -0
  154. s1_cns_cli/s1graph/bicep/checks/param/__init__.py +1 -0
  155. s1_cns_cli/s1graph/bicep/checks/param/azure/SecureStringParameterNoHardcodedValue.py +27 -0
  156. s1_cns_cli/s1graph/bicep/checks/param/azure/__init__.py +4 -0
  157. s1_cns_cli/s1graph/bicep/checks/param/base_param_check.py +48 -0
  158. s1_cns_cli/s1graph/bicep/checks/param/base_registry.py +36 -0
  159. s1_cns_cli/s1graph/bicep/checks/param/registry.py +3 -0
  160. s1_cns_cli/s1graph/bicep/checks/resource/__init__.py +1 -0
  161. s1_cns_cli/s1graph/bicep/checks/resource/azure/StorageAccountAzureServicesAccessEnabled.py +36 -0
  162. s1_cns_cli/s1graph/bicep/checks/resource/azure/StorageAccountDefaultNetworkAccessDeny.py +24 -0
  163. s1_cns_cli/s1graph/bicep/checks/resource/azure/StorageAccountsTransportEncryption.py +40 -0
  164. s1_cns_cli/s1graph/bicep/checks/resource/azure/__init__.py +4 -0
  165. s1_cns_cli/s1graph/bicep/checks/resource/base_registry.py +58 -0
  166. s1_cns_cli/s1graph/bicep/checks/resource/base_resource_check.py +47 -0
  167. s1_cns_cli/s1graph/bicep/checks/resource/base_resource_value_check.py +68 -0
  168. s1_cns_cli/s1graph/bicep/checks/resource/registry.py +3 -0
  169. s1_cns_cli/s1graph/bicep/graph_builder/__init__.py +0 -0
  170. s1_cns_cli/s1graph/bicep/graph_builder/context_definitions.py +57 -0
  171. s1_cns_cli/s1graph/bicep/graph_builder/graph_components/__init__.py +0 -0
  172. s1_cns_cli/s1graph/bicep/graph_builder/graph_components/block_types.py +16 -0
  173. s1_cns_cli/s1graph/bicep/graph_builder/graph_components/blocks.py +19 -0
  174. s1_cns_cli/s1graph/bicep/graph_builder/graph_to_tf_definitions.py +48 -0
  175. s1_cns_cli/s1graph/bicep/graph_builder/local_graph.py +337 -0
  176. s1_cns_cli/s1graph/bicep/graph_builder/variable_rendering/__init__.py +0 -0
  177. s1_cns_cli/s1graph/bicep/graph_builder/variable_rendering/renderer.py +57 -0
  178. s1_cns_cli/s1graph/bicep/graph_manager.py +41 -0
  179. s1_cns_cli/s1graph/bicep/image_referencer/__init__.py +0 -0
  180. s1_cns_cli/s1graph/bicep/image_referencer/base_provider.py +38 -0
  181. s1_cns_cli/s1graph/bicep/image_referencer/manager.py +19 -0
  182. s1_cns_cli/s1graph/bicep/image_referencer/provider/__init__.py +0 -0
  183. s1_cns_cli/s1graph/bicep/image_referencer/provider/azure.py +74 -0
  184. s1_cns_cli/s1graph/bicep/parser.py +50 -0
  185. s1_cns_cli/s1graph/bicep/runner.py +281 -0
  186. s1_cns_cli/s1graph/bicep/utils.py +113 -0
  187. s1_cns_cli/s1graph/bitbucket/__init__.py +1 -0
  188. s1_cns_cli/s1graph/bitbucket/base_bitbucket_configuration_check.py +43 -0
  189. s1_cns_cli/s1graph/bitbucket/checks/__init__.py +4 -0
  190. s1_cns_cli/s1graph/bitbucket/checks/merge_requests_approvals.py +35 -0
  191. s1_cns_cli/s1graph/bitbucket/dal.py +78 -0
  192. s1_cns_cli/s1graph/bitbucket/registry.py +4 -0
  193. s1_cns_cli/s1graph/bitbucket/runner.py +55 -0
  194. s1_cns_cli/s1graph/bitbucket/schemas/__init__.py +0 -0
  195. s1_cns_cli/s1graph/bitbucket/schemas/branch_restrictions.py +210 -0
  196. s1_cns_cli/s1graph/bitbucket_pipelines/__init__.py +1 -0
  197. s1_cns_cli/s1graph/bitbucket_pipelines/base_bitbucket_pipelines_check.py +39 -0
  198. s1_cns_cli/s1graph/bitbucket_pipelines/checks/__init__.py +4 -0
  199. s1_cns_cli/s1graph/bitbucket_pipelines/checks/latest_image.py +38 -0
  200. s1_cns_cli/s1graph/bitbucket_pipelines/registry.py +4 -0
  201. s1_cns_cli/s1graph/bitbucket_pipelines/runner.py +141 -0
  202. s1_cns_cli/s1graph/circleci_pipelines/__init__.py +1 -0
  203. s1_cns_cli/s1graph/circleci_pipelines/base_circleci_pipelines_check.py +42 -0
  204. s1_cns_cli/s1graph/circleci_pipelines/checks/DetectImagesUsage.py +27 -0
  205. s1_cns_cli/s1graph/circleci_pipelines/checks/ReverseShellNetcat.py +38 -0
  206. s1_cns_cli/s1graph/circleci_pipelines/checks/ShellInjection.py +42 -0
  207. s1_cns_cli/s1graph/circleci_pipelines/checks/SuspectCurlInScript.py +37 -0
  208. s1_cns_cli/s1graph/circleci_pipelines/checks/__init__.py +4 -0
  209. s1_cns_cli/s1graph/circleci_pipelines/checks/image_version_not_hash.py +37 -0
  210. s1_cns_cli/s1graph/circleci_pipelines/checks/latest_image.py +33 -0
  211. s1_cns_cli/s1graph/circleci_pipelines/checks/prevent_development_orbs.py +32 -0
  212. s1_cns_cli/s1graph/circleci_pipelines/checks/prevent_volatile_orbs.py +32 -0
  213. s1_cns_cli/s1graph/circleci_pipelines/common/__init__.py +0 -0
  214. s1_cns_cli/s1graph/circleci_pipelines/common/shell_injection_list.py +8 -0
  215. s1_cns_cli/s1graph/circleci_pipelines/image_referencer/__init__.py +0 -0
  216. s1_cns_cli/s1graph/circleci_pipelines/image_referencer/manager.py +12 -0
  217. s1_cns_cli/s1graph/circleci_pipelines/image_referencer/provider.py +50 -0
  218. s1_cns_cli/s1graph/circleci_pipelines/registry.py +4 -0
  219. s1_cns_cli/s1graph/circleci_pipelines/runner.py +123 -0
  220. s1_cns_cli/s1graph/cloudformation/__init__.py +1 -0
  221. s1_cns_cli/s1graph/cloudformation/cfn_utils.py +238 -0
  222. s1_cns_cli/s1graph/cloudformation/checks/__init__.py +0 -0
  223. s1_cns_cli/s1graph/cloudformation/checks/graph_checks/AppSyncProtectedByWAF.yaml +17 -0
  224. s1_cns_cli/s1graph/cloudformation/checks/graph_checks/__init__.py +0 -0
  225. s1_cns_cli/s1graph/cloudformation/checks/resource/BaseCloudsplainingIAMCheck.py +82 -0
  226. s1_cns_cli/s1graph/cloudformation/checks/resource/__init__.py +0 -0
  227. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ALBDropHttpHeaders.py +41 -0
  228. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ALBListenerHTTPS.py +49 -0
  229. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ALBListenerTLS12.py +57 -0
  230. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/APIGatewayAccessLogging.py +21 -0
  231. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/APIGatewayAuthorization.py +26 -0
  232. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/APIGatewayCacheEnable.py +17 -0
  233. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/APIGatewayV2AccessLogging.py +21 -0
  234. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/APIGatewayXray.py +20 -0
  235. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AbsSecurityGroupUnrestrictedIngress.py +50 -0
  236. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AmazonMQBrokerPublicAccess.py +33 -0
  237. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AppSyncFieldLevelLogs.py +22 -0
  238. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AppSyncLogging.py +23 -0
  239. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AthenaWorkgroupConfiguration.py +17 -0
  240. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/AuroraEncryption.py +33 -0
  241. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/BackupVaultEncrypted.py +21 -0
  242. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudFrontTLS12.py +25 -0
  243. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudWatchLogGroupKMSKey.py +21 -0
  244. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudWatchLogGroupRetention.py +21 -0
  245. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudfrontDistributionEncryption.py +38 -0
  246. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudfrontDistributionLogging.py +21 -0
  247. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudtrailEncryption.py +23 -0
  248. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudtrailLogValidation.py +17 -0
  249. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CloudtrailMultiRegion.py +17 -0
  250. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/CodeBuildProjectEncryption.py +34 -0
  251. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DAXEncryption.py +20 -0
  252. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DMSReplicationInstancePubliclyAccessible.py +22 -0
  253. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DocDBAuditLogs.py +22 -0
  254. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DocDBEncryption.py +17 -0
  255. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DocDBLogging.py +27 -0
  256. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DocDBTLS.py +22 -0
  257. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DynamoDBTablesEncrypted.py +30 -0
  258. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DynamodbGlobalTableRecovery.py +17 -0
  259. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/DynamodbRecovery.py +17 -0
  260. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EBSDefaultEncryption.py +8 -0
  261. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EBSEncryption.py +17 -0
  262. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EC2Credentials.py +42 -0
  263. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EC2PublicIP.py +47 -0
  264. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECRImageScanning.py +17 -0
  265. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECRImmutableTags.py +22 -0
  266. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECRPolicy.py +81 -0
  267. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECRRepositoryEncrypted.py +22 -0
  268. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECSClusterContainerInsights.py +34 -0
  269. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ECSTaskDefinitionEFSVolumeEncryption.py +33 -0
  270. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EFSEncryptionEnabled.py +17 -0
  271. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EKSControlPlaneLogging.py +7 -0
  272. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EKSNodeGroupRemoteAccess.py +31 -0
  273. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EKSPublicAccess.py +6 -0
  274. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EKSPublicAccessCIDR.py +6 -0
  275. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/EKSSecretsEncryption.py +32 -0
  276. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ELBAccessLogs.py +17 -0
  277. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ELBv2AccessLogs.py +28 -0
  278. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtRest.py +17 -0
  279. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtTransit.py +17 -0
  280. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtTransitAuthToken.py +32 -0
  281. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticsearchDomainAuditLogging.py +17 -0
  282. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticsearchDomainEnforceHTTPS.py +17 -0
  283. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticsearchDomainLogging.py +28 -0
  284. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticsearchEncryption.py +17 -0
  285. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/ElasticsearchNodeToNodeEncryption.py +17 -0
  286. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/GlobalAcceleratorAcceleratorFlowLogs.py +6 -0
  287. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/GlueDataCatalogEncryption.py +37 -0
  288. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/GlueSecurityConfiguration.py +49 -0
  289. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/GlueSecurityConfigurationEnabled.py +28 -0
  290. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMAdminPolicyDocument.py +53 -0
  291. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMCredentialsExposure.py +29 -0
  292. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMDataExfiltration.py +15 -0
  293. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMPermissionsManagement.py +15 -0
  294. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMPolicyAttachedToGroupOrRoles.py +28 -0
  295. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMPrivilegeEscalation.py +16 -0
  296. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py +53 -0
  297. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMRoleAllowsPublicAssume.py +52 -0
  298. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMStarActionPolicyDocument.py +56 -0
  299. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IAMWriteAccess.py +15 -0
  300. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/IMDSv1Disabled.py +30 -0
  301. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/KMSKeyWildCardPrincipal.py +61 -0
  302. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/KMSRotation.py +27 -0
  303. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/KinesisStreamEncryptionType.py +20 -0
  304. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaDLQConfigured.py +28 -0
  305. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaEnvironmentCredentials.py +37 -0
  306. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaEnvironmentEncryptionSettings.py +30 -0
  307. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaFunctionLevelConcurrentExecutionLimit.py +23 -0
  308. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaFunctionURLAuth.py +21 -0
  309. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LambdaInVPC.py +23 -0
  310. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/LaunchConfigurationEBSEncryption.py +38 -0
  311. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/MQBrokerAuditLogging.py +29 -0
  312. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/NeptuneClusterInstancePublic.py +6 -0
  313. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/NeptuneClusterLogging.py +28 -0
  314. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/NeptuneClusterStorageEncrypted.py +17 -0
  315. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyExpiration.py +6 -0
  316. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyLength.py +6 -0
  317. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyLowercaseLetter.py +6 -0
  318. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyNumber.py +6 -0
  319. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyReuse.py +6 -0
  320. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicySymbol.py +6 -0
  321. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/PasswordPolicyUppercaseLetter.py +6 -0
  322. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/QLDBLedgerDeletionProtection.py +26 -0
  323. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/QLDBLedgerPermissionsMode.py +20 -0
  324. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSClusterIAMAuthentication.py +17 -0
  325. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSEncryption.py +27 -0
  326. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSEnhancedMonitorEnabled.py +25 -0
  327. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSIAMAuthentication.py +26 -0
  328. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSMultiAZEnabled.py +27 -0
  329. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RDSPubliclyAccessible.py +22 -0
  330. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RedShiftSSL.py +28 -0
  331. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RedshiftClusterEncryption.py +17 -0
  332. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RedshiftClusterLogging.py +21 -0
  333. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RedshiftClusterPubliclyAccessible.py +20 -0
  334. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/RedshiftInEc2ClassicMode.py +21 -0
  335. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3AccessLogs.py +23 -0
  336. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3BlockPublicACLs.py +18 -0
  337. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3BlockPublicPolicy.py +18 -0
  338. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3Encryption.py +25 -0
  339. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3IgnorePublicACLs.py +17 -0
  340. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3PublicACLRead.py +21 -0
  341. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3PublicACLWrite.py +22 -0
  342. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3RestrictPublicBuckets.py +18 -0
  343. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/S3Versioning.py +25 -0
  344. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SNSTopicEncryption.py +21 -0
  345. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SQSQueueEncryption.py +23 -0
  346. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SecretManagerSecretEncrypted.py +29 -0
  347. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SecurityGroupRuleDescription.py +46 -0
  348. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SecurityGroupUnrestrictedIngress22.py +10 -0
  349. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SecurityGroupUnrestrictedIngress3389.py +9 -0
  350. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/SecurityGroupUnrestrictedIngress80.py +10 -0
  351. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/TimestreamDatabaseKMSKey.py +23 -0
  352. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/TransferServerIsPublic.py +20 -0
  353. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/VPCEndpointAcceptanceConfigured.py +17 -0
  354. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/WAFACLCVE202144228.py +55 -0
  355. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/WAFEnabled.py +21 -0
  356. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/WorkspaceRootVolumeEncrypted.py +17 -0
  357. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/WorkspaceUserVolumeEncrypted.py +17 -0
  358. s1_cns_cli/s1graph/cloudformation/checks/resource/aws/__init__.py +5 -0
  359. s1_cns_cli/s1graph/cloudformation/checks/resource/base_registry.py +16 -0
  360. s1_cns_cli/s1graph/cloudformation/checks/resource/base_resource_check.py +48 -0
  361. s1_cns_cli/s1graph/cloudformation/checks/resource/base_resource_negative_value_check.py +76 -0
  362. s1_cns_cli/s1graph/cloudformation/checks/resource/base_resource_value_check.py +113 -0
  363. s1_cns_cli/s1graph/cloudformation/checks/resource/registry.py +3 -0
  364. s1_cns_cli/s1graph/cloudformation/checks/utils/__init__.py +0 -0
  365. s1_cns_cli/s1graph/cloudformation/checks/utils/iam_cloudformation_document_to_policy_converter.py +35 -0
  366. s1_cns_cli/s1graph/cloudformation/context_parser.py +193 -0
  367. s1_cns_cli/s1graph/cloudformation/graph_builder/__init__.py +0 -0
  368. s1_cns_cli/s1graph/cloudformation/graph_builder/graph_components/__init__.py +0 -0
  369. s1_cns_cli/s1graph/cloudformation/graph_builder/graph_components/block_types.py +15 -0
  370. s1_cns_cli/s1graph/cloudformation/graph_builder/graph_components/blocks.py +94 -0
  371. s1_cns_cli/s1graph/cloudformation/graph_builder/graph_components/generic_resource_encryption.py +100 -0
  372. s1_cns_cli/s1graph/cloudformation/graph_builder/graph_to_definitions.py +42 -0
  373. s1_cns_cli/s1graph/cloudformation/graph_builder/local_graph.py +402 -0
  374. s1_cns_cli/s1graph/cloudformation/graph_builder/utils.py +67 -0
  375. s1_cns_cli/s1graph/cloudformation/graph_builder/variable_rendering/__init__.py +0 -0
  376. s1_cns_cli/s1graph/cloudformation/graph_builder/variable_rendering/renderer.py +516 -0
  377. s1_cns_cli/s1graph/cloudformation/graph_builder/variable_rendering/vertex_reference.py +13 -0
  378. s1_cns_cli/s1graph/cloudformation/graph_manager.py +55 -0
  379. s1_cns_cli/s1graph/cloudformation/image_referencer/__init__.py +0 -0
  380. s1_cns_cli/s1graph/cloudformation/image_referencer/base_provider.py +38 -0
  381. s1_cns_cli/s1graph/cloudformation/image_referencer/manager.py +19 -0
  382. s1_cns_cli/s1graph/cloudformation/image_referencer/provider/__init__.py +0 -0
  383. s1_cns_cli/s1graph/cloudformation/image_referencer/provider/aws.py +98 -0
  384. s1_cns_cli/s1graph/cloudformation/parser/__init__.py +89 -0
  385. s1_cns_cli/s1graph/cloudformation/parser/cfn_keywords.py +50 -0
  386. s1_cns_cli/s1graph/cloudformation/parser/cfn_yaml.py +286 -0
  387. s1_cns_cli/s1graph/cloudformation/runner.py +283 -0
  388. s1_cns_cli/s1graph/common/__init__.py +1 -0
  389. s1_cns_cli/s1graph/common/checks/__init__.py +0 -0
  390. s1_cns_cli/s1graph/common/checks/base_check.py +121 -0
  391. s1_cns_cli/s1graph/common/checks/base_check_registry.py +213 -0
  392. s1_cns_cli/s1graph/common/checks/enums.py +8 -0
  393. s1_cns_cli/s1graph/common/checks/object_registry.py +222 -0
  394. s1_cns_cli/s1graph/common/checks_infra/__init__.py +0 -0
  395. s1_cns_cli/s1graph/common/checks_infra/checks_parser.py +319 -0
  396. s1_cns_cli/s1graph/common/checks_infra/registry.py +92 -0
  397. s1_cns_cli/s1graph/common/checks_infra/resources_types.py +1291 -0
  398. s1_cns_cli/s1graph/common/checks_infra/solvers/__init__.py +4 -0
  399. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/__init__.py +43 -0
  400. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/any_attribute_solver.py +12 -0
  401. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/base_attribute_solver.py +217 -0
  402. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/base_number_of_words_attribute_solver.py +27 -0
  403. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/contains_attribute_solver.py +24 -0
  404. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/ending_with_attribute_solver.py +12 -0
  405. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/equals_attribute_solver.py +19 -0
  406. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/equals_ignore_case_attribute_solver.py +17 -0
  407. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/exists_attribute_solver.py +12 -0
  408. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/greater_than_attribute_solver.py +21 -0
  409. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/greater_than_or_equal_attribute_solver.py +22 -0
  410. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/intersects_attribute_solver.py +19 -0
  411. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/is_empty_attribute_solver.py +16 -0
  412. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/is_false_attribute_solver.py +11 -0
  413. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/is_not_empty_attribute_solver.py +11 -0
  414. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/is_true_attribute_solver.py +15 -0
  415. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_equals_attribute_solver.py +23 -0
  416. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_greater_than_attribute_solver.py +27 -0
  417. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_greater_than_or_equal_attribute_solver.py +27 -0
  418. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_less_than_attribute_solver.py +27 -0
  419. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_less_than_or_equal_attribute_solver.py +27 -0
  420. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/length_not_equals_attribute_solver.py +11 -0
  421. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/less_than_attribute_solver.py +14 -0
  422. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/less_than_or_equal_attribute_solver.py +14 -0
  423. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_contains_attribute_solver.py +11 -0
  424. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_ending_with_attribute_solver.py +11 -0
  425. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_equals_attribute_solver.py +11 -0
  426. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_equals_ignore_case_attribute_solver.py +11 -0
  427. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_exists_attribute_solver.py +11 -0
  428. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_intersects_attribute_solver.py +11 -0
  429. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_regex_match_attribute_solver.py +11 -0
  430. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_starting_with_attribute_solver.py +11 -0
  431. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_subset_attribute_solver.py +11 -0
  432. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/not_within_attribute_solver.py +11 -0
  433. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_equals_attribute_solver.py +20 -0
  434. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_greater_than_attribute_solver.py +23 -0
  435. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_greater_than_or_equal_attribute_solver.py +23 -0
  436. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_less_than_attribute_solver.py +23 -0
  437. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_less_than_or_equal_attribute_solver.py +23 -0
  438. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/number_of_words_not_equals_attribute_solver.py +11 -0
  439. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/range_includes_attribute_solver.py +38 -0
  440. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/range_not_includes_attribute_solver.py +10 -0
  441. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/regex_match_attribute_solver.py +18 -0
  442. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/starting_with_attribute_solver.py +12 -0
  443. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/subset_attribute_solver.py +21 -0
  444. s1_cns_cli/s1graph/common/checks_infra/solvers/attribute_solvers/within_attribute_solver.py +12 -0
  445. s1_cns_cli/s1graph/common/checks_infra/solvers/complex_solvers/__init__.py +3 -0
  446. s1_cns_cli/s1graph/common/checks_infra/solvers/complex_solvers/and_solver.py +27 -0
  447. s1_cns_cli/s1graph/common/checks_infra/solvers/complex_solvers/base_complex_solver.py +48 -0
  448. s1_cns_cli/s1graph/common/checks_infra/solvers/complex_solvers/not_solver.py +23 -0
  449. s1_cns_cli/s1graph/common/checks_infra/solvers/complex_solvers/or_solver.py +27 -0
  450. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/__init__.py +5 -0
  451. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/and_connection_solver.py +44 -0
  452. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/base_connection_solver.py +105 -0
  453. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/complex_connection_solver.py +94 -0
  454. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/connection_exists_solver.py +81 -0
  455. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/connection_not_exists_solver.py +32 -0
  456. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/connection_one_exists_solver.py +33 -0
  457. s1_cns_cli/s1graph/common/checks_infra/solvers/connections_solvers/or_connection_solver.py +36 -0
  458. s1_cns_cli/s1graph/common/checks_infra/solvers/filter_solvers/__init__.py +1 -0
  459. s1_cns_cli/s1graph/common/checks_infra/solvers/filter_solvers/base_filter_solver.py +27 -0
  460. s1_cns_cli/s1graph/common/checks_infra/solvers/filter_solvers/within_filter_solver.py +23 -0
  461. s1_cns_cli/s1graph/common/comment/__init__.py +0 -0
  462. s1_cns_cli/s1graph/common/comment/enum.py +3 -0
  463. s1_cns_cli/s1graph/common/goget/__init__.py +0 -0
  464. s1_cns_cli/s1graph/common/goget/base_getter.py +23 -0
  465. s1_cns_cli/s1graph/common/goget/github/__init__.py +0 -0
  466. s1_cns_cli/s1graph/common/goget/github/get_git.py +82 -0
  467. s1_cns_cli/s1graph/common/goget/registry/__init__.py +0 -0
  468. s1_cns_cli/s1graph/common/goget/registry/get_registry.py +31 -0
  469. s1_cns_cli/s1graph/common/graph/__init__.py +0 -0
  470. s1_cns_cli/s1graph/common/graph/checks_infra/__init__.py +0 -0
  471. s1_cns_cli/s1graph/common/graph/checks_infra/base_check.py +52 -0
  472. s1_cns_cli/s1graph/common/graph/checks_infra/base_parser.py +14 -0
  473. s1_cns_cli/s1graph/common/graph/checks_infra/enums.py +75 -0
  474. s1_cns_cli/s1graph/common/graph/checks_infra/registry.py +56 -0
  475. s1_cns_cli/s1graph/common/graph/checks_infra/solvers/__init__.py +0 -0
  476. s1_cns_cli/s1graph/common/graph/checks_infra/solvers/base_solver.py +32 -0
  477. s1_cns_cli/s1graph/common/graph/db_connectors/__init__.py +0 -0
  478. s1_cns_cli/s1graph/common/graph/db_connectors/db_connector.py +29 -0
  479. s1_cns_cli/s1graph/common/graph/db_connectors/networkx/__init__.py +0 -0
  480. s1_cns_cli/s1graph/common/graph/db_connectors/networkx/networkx_db_connector.py +50 -0
  481. s1_cns_cli/s1graph/common/graph/graph_builder/__init__.py +2 -0
  482. s1_cns_cli/s1graph/common/graph/graph_builder/consts.py +19 -0
  483. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/__init__.py +0 -0
  484. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/attribute_names.py +48 -0
  485. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/block_types.py +16 -0
  486. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/blocks.py +291 -0
  487. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/edge.py +29 -0
  488. s1_cns_cli/s1graph/common/graph/graph_builder/graph_components/generic_resource_encryption_base.py +51 -0
  489. s1_cns_cli/s1graph/common/graph/graph_builder/graph_resources_encription_manager.py +29 -0
  490. s1_cns_cli/s1graph/common/graph/graph_builder/local_graph.py +107 -0
  491. s1_cns_cli/s1graph/common/graph/graph_builder/utils.py +46 -0
  492. s1_cns_cli/s1graph/common/graph/graph_builder/variable_rendering/__init__.py +0 -0
  493. s1_cns_cli/s1graph/common/graph/graph_builder/variable_rendering/breadcrumb_metadata.py +9 -0
  494. s1_cns_cli/s1graph/common/graph/graph_builder/variable_rendering/renderer.py +134 -0
  495. s1_cns_cli/s1graph/common/graph/graph_builder/variable_rendering/vertex_reference.py +30 -0
  496. s1_cns_cli/s1graph/common/graph/graph_manager.py +49 -0
  497. s1_cns_cli/s1graph/common/images/__init__.py +0 -0
  498. s1_cns_cli/s1graph/common/images/graph/__init__.py +0 -0
  499. s1_cns_cli/s1graph/common/images/graph/image_referencer_manager.py +20 -0
  500. s1_cns_cli/s1graph/common/images/graph/image_referencer_provider.py +58 -0
  501. s1_cns_cli/s1graph/common/images/image_referencer.py +330 -0
  502. s1_cns_cli/s1graph/common/images/workflow/__init__.py +0 -0
  503. s1_cns_cli/s1graph/common/images/workflow/image_referencer_manager.py +21 -0
  504. s1_cns_cli/s1graph/common/images/workflow/image_referencer_provider.py +21 -0
  505. s1_cns_cli/s1graph/common/models/__init__.py +0 -0
  506. s1_cns_cli/s1graph/common/models/consts.py +35 -0
  507. s1_cns_cli/s1graph/common/models/enums.py +61 -0
  508. s1_cns_cli/s1graph/common/multi_signature.py +129 -0
  509. s1_cns_cli/s1graph/common/output/__init__.py +0 -0
  510. s1_cns_cli/s1graph/common/output/ai.py +152 -0
  511. s1_cns_cli/s1graph/common/output/baseline.py +98 -0
  512. s1_cns_cli/s1graph/common/output/common.py +54 -0
  513. s1_cns_cli/s1graph/common/output/csv.py +232 -0
  514. s1_cns_cli/s1graph/common/output/cyclonedx.py +470 -0
  515. s1_cns_cli/s1graph/common/output/cyclonedx_consts.py +181 -0
  516. s1_cns_cli/s1graph/common/output/extra_resource.py +18 -0
  517. s1_cns_cli/s1graph/common/output/github_actions_record.py +45 -0
  518. s1_cns_cli/s1graph/common/output/gitlab_sast.py +173 -0
  519. s1_cns_cli/s1graph/common/output/graph_record.py +17 -0
  520. s1_cns_cli/s1graph/common/output/record.py +246 -0
  521. s1_cns_cli/s1graph/common/output/report.py +607 -0
  522. s1_cns_cli/s1graph/common/output/sarif.py +243 -0
  523. s1_cns_cli/s1graph/common/output/secrets_record.py +144 -0
  524. s1_cns_cli/s1graph/common/packaging/__init__.py +0 -0
  525. s1_cns_cli/s1graph/common/packaging/version.py +141 -0
  526. s1_cns_cli/s1graph/common/parallelizer/__init__.py +0 -0
  527. s1_cns_cli/s1graph/common/parallelizer/parallel_runner.py +72 -0
  528. s1_cns_cli/s1graph/common/parsers/__init__.py +0 -0
  529. s1_cns_cli/s1graph/common/parsers/json/__init__.py +68 -0
  530. s1_cns_cli/s1graph/common/parsers/json/decoder.py +404 -0
  531. s1_cns_cli/s1graph/common/parsers/json/errors.py +41 -0
  532. s1_cns_cli/s1graph/common/parsers/node.py +189 -0
  533. s1_cns_cli/s1graph/common/parsers/yaml/__init__.py +0 -0
  534. s1_cns_cli/s1graph/common/parsers/yaml/loader.py +76 -0
  535. s1_cns_cli/s1graph/common/parsers/yaml/parser.py +49 -0
  536. s1_cns_cli/s1graph/common/runners/__init__.py +0 -0
  537. s1_cns_cli/s1graph/common/runners/base_post_runner.py +30 -0
  538. s1_cns_cli/s1graph/common/runners/base_runner.py +216 -0
  539. s1_cns_cli/s1graph/common/runners/graph_builder/__init__.py +0 -0
  540. s1_cns_cli/s1graph/common/runners/graph_builder/local_graph.py +57 -0
  541. s1_cns_cli/s1graph/common/runners/graph_manager.py +40 -0
  542. s1_cns_cli/s1graph/common/runners/object_runner.py +354 -0
  543. s1_cns_cli/s1graph/common/runners/runner_registry.py +680 -0
  544. s1_cns_cli/s1graph/common/s1cns/__init__.py +0 -0
  545. s1_cns_cli/s1graph/common/s1cns/bc_source.py +50 -0
  546. s1_cns_cli/s1graph/common/s1cns/check_type.py +37 -0
  547. s1_cns_cli/s1graph/common/s1cns/code_categories.py +55 -0
  548. s1_cns_cli/s1graph/common/s1cns/integration_features/__init__.py +1 -0
  549. s1_cns_cli/s1graph/common/s1cns/integration_features/base_integration_feature.py +45 -0
  550. s1_cns_cli/s1graph/common/s1cns/integration_features/features/__init__.py +4 -0
  551. s1_cns_cli/s1graph/common/s1cns/integration_features/features/custom_policies_integration.py +136 -0
  552. s1_cns_cli/s1graph/common/s1cns/integration_features/features/fixes_integration.py +142 -0
  553. s1_cns_cli/s1graph/common/s1cns/integration_features/features/licensing_integration.py +87 -0
  554. s1_cns_cli/s1graph/common/s1cns/integration_features/features/policies_3d_integration.py +82 -0
  555. s1_cns_cli/s1graph/common/s1cns/integration_features/features/policy_metadata_integration.py +174 -0
  556. s1_cns_cli/s1graph/common/s1cns/integration_features/features/repo_config_integration.py +142 -0
  557. s1_cns_cli/s1graph/common/s1cns/integration_features/features/suppressions_integration.py +233 -0
  558. s1_cns_cli/s1graph/common/s1cns/integration_features/integration_feature_registry.py +52 -0
  559. s1_cns_cli/s1graph/common/s1cns/licensing.py +29 -0
  560. s1_cns_cli/s1graph/common/s1cns/platform_errors.py +14 -0
  561. s1_cns_cli/s1graph/common/s1cns/platform_integration.py +1023 -0
  562. s1_cns_cli/s1graph/common/s1cns/platform_key.py +24 -0
  563. s1_cns_cli/s1graph/common/s1cns/run_metadata/__init__.py +1 -0
  564. s1_cns_cli/s1graph/common/s1cns/run_metadata/abstract_run_metadata_extractor.py +73 -0
  565. s1_cns_cli/s1graph/common/s1cns/run_metadata/ci_variables.py +15 -0
  566. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/__init__.py +5 -0
  567. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/bitbucket.py +38 -0
  568. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/default_extractor.py +34 -0
  569. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/github_actions.py +40 -0
  570. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/gitlab_ci.py +40 -0
  571. s1_cns_cli/s1graph/common/s1cns/run_metadata/extractors/jenkins.py +39 -0
  572. s1_cns_cli/s1graph/common/s1cns/run_metadata/registry.py +29 -0
  573. s1_cns_cli/s1graph/common/s1cns/severities.py +45 -0
  574. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/__init__.py +0 -0
  575. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/image_scanner.py +203 -0
  576. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/integrations/__init__.py +0 -0
  577. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/integrations/docker_image_scanning.py +80 -0
  578. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/integrations/package_scanning.py +40 -0
  579. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/integrations/twistcli.py +123 -0
  580. s1_cns_cli/s1graph/common/s1cns/vulnerability_scanning/report.py +45 -0
  581. s1_cns_cli/s1graph/common/s1cns/wrapper.py +136 -0
  582. s1_cns_cli/s1graph/common/sca/__init__.py +0 -0
  583. s1_cns_cli/s1graph/common/sca/commons.py +60 -0
  584. s1_cns_cli/s1graph/common/sca/output.py +637 -0
  585. s1_cns_cli/s1graph/common/typing.py +104 -0
  586. s1_cns_cli/s1graph/common/util/__init__.py +0 -0
  587. s1_cns_cli/s1graph/common/util/banner.py +29 -0
  588. s1_cns_cli/s1graph/common/util/config_utils.py +26 -0
  589. s1_cns_cli/s1graph/common/util/consts.py +35 -0
  590. s1_cns_cli/s1graph/common/util/contextmanagers.py +21 -0
  591. s1_cns_cli/s1graph/common/util/data_structures_utils.py +101 -0
  592. s1_cns_cli/s1graph/common/util/decorators.py +28 -0
  593. s1_cns_cli/s1graph/common/util/dockerfile.py +7 -0
  594. s1_cns_cli/s1graph/common/util/docs_generator.py +196 -0
  595. s1_cns_cli/s1graph/common/util/ext_argument_parser.py +543 -0
  596. s1_cns_cli/s1graph/common/util/file_utils.py +84 -0
  597. s1_cns_cli/s1graph/common/util/http_utils.py +247 -0
  598. s1_cns_cli/s1graph/common/util/json_utils.py +101 -0
  599. s1_cns_cli/s1graph/common/util/parser_utils.py +398 -0
  600. s1_cns_cli/s1graph/common/util/prompt.py +277 -0
  601. s1_cns_cli/s1graph/common/util/runner_dependency_handler.py +50 -0
  602. s1_cns_cli/s1graph/common/util/secrets.py +240 -0
  603. s1_cns_cli/s1graph/common/util/secrets_omitter.py +111 -0
  604. s1_cns_cli/s1graph/common/util/stopit/__init__.py +23 -0
  605. s1_cns_cli/s1graph/common/util/stopit/signalstop.py +56 -0
  606. s1_cns_cli/s1graph/common/util/stopit/threadstop.py +81 -0
  607. s1_cns_cli/s1graph/common/util/stopit/utils.py +148 -0
  608. s1_cns_cli/s1graph/common/util/str_utils.py +17 -0
  609. s1_cns_cli/s1graph/common/util/suppression.py +53 -0
  610. s1_cns_cli/s1graph/common/util/templates/__init__.py +0 -0
  611. s1_cns_cli/s1graph/common/util/templates/data.jinja2 +29 -0
  612. s1_cns_cli/s1graph/common/util/templates/init.jinja2 +4 -0
  613. s1_cns_cli/s1graph/common/util/templates/provider.jinja2 +28 -0
  614. s1_cns_cli/s1graph/common/util/templates/resource.jinja2 +28 -0
  615. s1_cns_cli/s1graph/common/util/templates/unittest-python.jinja2 +41 -0
  616. s1_cns_cli/s1graph/common/util/templates/unittest-terraform.jinja2 +9 -0
  617. s1_cns_cli/s1graph/common/util/tqdm_utils.py +76 -0
  618. s1_cns_cli/s1graph/common/util/type_forcers.py +146 -0
  619. s1_cns_cli/s1graph/common/util/var_utils.py +44 -0
  620. s1_cns_cli/s1graph/common/variables/__init__.py +0 -0
  621. s1_cns_cli/s1graph/common/variables/context.py +49 -0
  622. s1_cns_cli/s1graph/common/vcs/__init__.py +0 -0
  623. s1_cns_cli/s1graph/common/vcs/base_vcs_dal.py +130 -0
  624. s1_cns_cli/s1graph/common/vcs/vcs_schema.py +20 -0
  625. s1_cns_cli/s1graph/common/version_manager.py +12 -0
  626. s1_cns_cli/s1graph/contributor_metrics.py +65 -0
  627. s1_cns_cli/s1graph/dockerfile/__init__.py +1 -0
  628. s1_cns_cli/s1graph/dockerfile/base_dockerfile_check.py +44 -0
  629. s1_cns_cli/s1graph/dockerfile/base_registry.py +101 -0
  630. s1_cns_cli/s1graph/dockerfile/checks/AddExists.py +27 -0
  631. s1_cns_cli/s1graph/dockerfile/checks/AliasIsUnique.py +36 -0
  632. s1_cns_cli/s1graph/dockerfile/checks/ExposePort22.py +28 -0
  633. s1_cns_cli/s1graph/dockerfile/checks/HealthcheckExists.py +27 -0
  634. s1_cns_cli/s1graph/dockerfile/checks/MaintainerExists.py +24 -0
  635. s1_cns_cli/s1graph/dockerfile/checks/ReferenceLatestTag.py +40 -0
  636. s1_cns_cli/s1graph/dockerfile/checks/RootUser.py +28 -0
  637. s1_cns_cli/s1graph/dockerfile/checks/RunUsingAPT.py +31 -0
  638. s1_cns_cli/s1graph/dockerfile/checks/UpdateNotAlone.py +57 -0
  639. s1_cns_cli/s1graph/dockerfile/checks/UserExists.py +27 -0
  640. s1_cns_cli/s1graph/dockerfile/checks/WorkdirIsAbsolute.py +39 -0
  641. s1_cns_cli/s1graph/dockerfile/checks/__init__.py +5 -0
  642. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/EnvGitSslNoVerify.yaml +19 -0
  643. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/EnvNodeTlsRejectUnauthorized.yaml +19 -0
  644. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/EnvNpmConfigStrictSsl.yaml +19 -0
  645. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/EnvPipTrustedHost.yaml +19 -0
  646. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/EnvPythonHttpsVerify.yaml +19 -0
  647. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunApkAllowUntrusted.yaml +11 -0
  648. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunAptGetAllowUnauthenticated.yaml +11 -0
  649. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunAptGetForceYes.yaml +11 -0
  650. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunNpmConfigSetStrictSsl.yaml +11 -0
  651. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunPipTrustedHost.yaml +11 -0
  652. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunRpmNoSignature.yaml +11 -0
  653. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunUnsafeCurl.yaml +11 -0
  654. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunUnsafeWget.yaml +11 -0
  655. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunUsingSudo.yaml +18 -0
  656. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunYumConfigManagerSslVerify.yaml +11 -0
  657. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/RunYumNoGpgCheck.yaml +11 -0
  658. s1_cns_cli/s1graph/dockerfile/checks/graph_checks/__init__.py +0 -0
  659. s1_cns_cli/s1graph/dockerfile/graph_builder/__init__.py +0 -0
  660. s1_cns_cli/s1graph/dockerfile/graph_builder/graph_components/__init__.py +0 -0
  661. s1_cns_cli/s1graph/dockerfile/graph_builder/graph_components/resource_types.py +26 -0
  662. s1_cns_cli/s1graph/dockerfile/graph_builder/local_graph.py +115 -0
  663. s1_cns_cli/s1graph/dockerfile/graph_manager.py +45 -0
  664. s1_cns_cli/s1graph/dockerfile/image_referencer/__init__.py +0 -0
  665. s1_cns_cli/s1graph/dockerfile/image_referencer/manager.py +23 -0
  666. s1_cns_cli/s1graph/dockerfile/image_referencer/provider.py +56 -0
  667. s1_cns_cli/s1graph/dockerfile/parser.py +41 -0
  668. s1_cns_cli/s1graph/dockerfile/registry.py +3 -0
  669. s1_cns_cli/s1graph/dockerfile/runner.py +291 -0
  670. s1_cns_cli/s1graph/dockerfile/utils.py +78 -0
  671. s1_cns_cli/s1graph/example_runner/__init__.py +2 -0
  672. s1_cns_cli/s1graph/example_runner/checks/__init__.py +1 -0
  673. s1_cns_cli/s1graph/example_runner/checks/base_example_runner_check.py +29 -0
  674. s1_cns_cli/s1graph/example_runner/checks/base_example_runner_job_check.py +24 -0
  675. s1_cns_cli/s1graph/example_runner/checks/job/ExampleCheckTrueFalse.py +68 -0
  676. s1_cns_cli/s1graph/example_runner/checks/job/__init__.py +4 -0
  677. s1_cns_cli/s1graph/example_runner/checks/job_registry.py +8 -0
  678. s1_cns_cli/s1graph/example_runner/common/__init__.py +0 -0
  679. s1_cns_cli/s1graph/example_runner/runner.py +61 -0
  680. s1_cns_cli/s1graph/github/__init__.py +1 -0
  681. s1_cns_cli/s1graph/github/base_github_branch_security.py +48 -0
  682. s1_cns_cli/s1graph/github/base_github_configuration_check.py +42 -0
  683. s1_cns_cli/s1graph/github/base_github_negative_branch_security.py +62 -0
  684. s1_cns_cli/s1graph/github/base_github_org_check.py +45 -0
  685. s1_cns_cli/s1graph/github/base_github_org_security.py +40 -0
  686. s1_cns_cli/s1graph/github/checks/2fa.py +19 -0
  687. s1_cns_cli/s1graph/github/checks/__init__.py +4 -0
  688. s1_cns_cli/s1graph/github/checks/disallow_branch_deletions.py +22 -0
  689. s1_cns_cli/s1graph/github/checks/disallow_force_pushes.py +22 -0
  690. s1_cns_cli/s1graph/github/checks/disallow_inactive_branch_60days.py +46 -0
  691. s1_cns_cli/s1graph/github/checks/dismiss_stale_reviews.py +16 -0
  692. s1_cns_cli/s1graph/github/checks/enforce_branch_protection_admins.py +19 -0
  693. s1_cns_cli/s1graph/github/checks/internal_repository_creation_is_limited.py +22 -0
  694. s1_cns_cli/s1graph/github/checks/ipallowlist.py +22 -0
  695. s1_cns_cli/s1graph/github/checks/minimum_admins_in_org.py +38 -0
  696. s1_cns_cli/s1graph/github/checks/private_repository_creation_is_limited.py +22 -0
  697. s1_cns_cli/s1graph/github/checks/public_repository_creation_is_limited.py +22 -0
  698. s1_cns_cli/s1graph/github/checks/repository_collaborators.py +42 -0
  699. s1_cns_cli/s1graph/github/checks/require_2approvals.py +20 -0
  700. s1_cns_cli/s1graph/github/checks/require_code_owner_reviews.py +16 -0
  701. s1_cns_cli/s1graph/github/checks/require_conversation_resolution.py +16 -0
  702. s1_cns_cli/s1graph/github/checks/require_linear_history.py +19 -0
  703. s1_cns_cli/s1graph/github/checks/require_push_restrictions.py +16 -0
  704. s1_cns_cli/s1graph/github/checks/require_signatures.py +19 -0
  705. s1_cns_cli/s1graph/github/checks/require_status_checks_pr.py +16 -0
  706. s1_cns_cli/s1graph/github/checks/require_strict_base_permissions_repository.py +23 -0
  707. s1_cns_cli/s1graph/github/checks/require_updated_branch_pr.py +22 -0
  708. s1_cns_cli/s1graph/github/checks/require_verified_organization.py +22 -0
  709. s1_cns_cli/s1graph/github/checks/restrict_pr_review_dismissal.py +22 -0
  710. s1_cns_cli/s1graph/github/checks/sso.py +39 -0
  711. s1_cns_cli/s1graph/github/checks/webhooks_https_orgs.py +45 -0
  712. s1_cns_cli/s1graph/github/checks/webhooks_https_repos.py +44 -0
  713. s1_cns_cli/s1graph/github/dal.py +233 -0
  714. s1_cns_cli/s1graph/github/registry.py +4 -0
  715. s1_cns_cli/s1graph/github/runner.py +75 -0
  716. s1_cns_cli/s1graph/github/schemas/__init__.py +0 -0
  717. s1_cns_cli/s1graph/github/schemas/branch.py +2685 -0
  718. s1_cns_cli/s1graph/github/schemas/branch_protection.py +99 -0
  719. s1_cns_cli/s1graph/github/schemas/no_branch_protection.py +25 -0
  720. s1_cns_cli/s1graph/github/schemas/org_members.py +173 -0
  721. s1_cns_cli/s1graph/github/schemas/org_security.py +73 -0
  722. s1_cns_cli/s1graph/github/schemas/org_webhooks.py +127 -0
  723. s1_cns_cli/s1graph/github/schemas/organization.py +439 -0
  724. s1_cns_cli/s1graph/github/schemas/repository_collaborators.py +199 -0
  725. s1_cns_cli/s1graph/github/schemas/repository_webhooks.py +217 -0
  726. s1_cns_cli/s1graph/github_actions/__init__.py +1 -0
  727. s1_cns_cli/s1graph/github_actions/checks/__init__.py +1 -0
  728. s1_cns_cli/s1graph/github_actions/checks/base_github_action_check.py +38 -0
  729. s1_cns_cli/s1graph/github_actions/checks/graph_checks/ReadOnlyTopLevelPermissions.yaml +11 -0
  730. s1_cns_cli/s1graph/github_actions/checks/graph_checks/__init__.py +0 -0
  731. s1_cns_cli/s1graph/github_actions/checks/job/AllowUnsecureCommandsOnJob.py +36 -0
  732. s1_cns_cli/s1graph/github_actions/checks/job/CosignArtifacts.py +55 -0
  733. s1_cns_cli/s1graph/github_actions/checks/job/CosignSBOM.py +55 -0
  734. s1_cns_cli/s1graph/github_actions/checks/job/EmptyWorkflowDispatch.py +43 -0
  735. s1_cns_cli/s1graph/github_actions/checks/job/ReverseShellNetcat.py +33 -0
  736. s1_cns_cli/s1graph/github_actions/checks/job/ShellInjection.py +37 -0
  737. s1_cns_cli/s1graph/github_actions/checks/job/SuspectCurlInScript.py +34 -0
  738. s1_cns_cli/s1graph/github_actions/checks/job/__init__.py +4 -0
  739. s1_cns_cli/s1graph/github_actions/checks/registry.py +4 -0
  740. s1_cns_cli/s1graph/github_actions/common/__init__.py +0 -0
  741. s1_cns_cli/s1graph/github_actions/common/artifact_build.py +10 -0
  742. s1_cns_cli/s1graph/github_actions/common/build_actions.py +5 -0
  743. s1_cns_cli/s1graph/github_actions/common/shell_injection_list.py +20 -0
  744. s1_cns_cli/s1graph/github_actions/graph_builder/__init__.py +0 -0
  745. s1_cns_cli/s1graph/github_actions/graph_builder/graph_components/__init__.py +0 -0
  746. s1_cns_cli/s1graph/github_actions/graph_builder/graph_components/resource_types.py +12 -0
  747. s1_cns_cli/s1graph/github_actions/graph_builder/local_graph.py +209 -0
  748. s1_cns_cli/s1graph/github_actions/image_referencer/__init__.py +0 -0
  749. s1_cns_cli/s1graph/github_actions/image_referencer/manager.py +15 -0
  750. s1_cns_cli/s1graph/github_actions/image_referencer/provider.py +66 -0
  751. s1_cns_cli/s1graph/github_actions/runner.py +165 -0
  752. s1_cns_cli/s1graph/github_actions/schemas.py +3139 -0
  753. s1_cns_cli/s1graph/github_actions/utils.py +154 -0
  754. s1_cns_cli/s1graph/gitlab/__init__.py +1 -0
  755. s1_cns_cli/s1graph/gitlab/base_gitlab_configuration_check.py +23 -0
  756. s1_cns_cli/s1graph/gitlab/checks/__init__.py +4 -0
  757. s1_cns_cli/s1graph/gitlab/checks/merge_requests_approvals.py +32 -0
  758. s1_cns_cli/s1graph/gitlab/checks/two_factor_authentication.py +33 -0
  759. s1_cns_cli/s1graph/gitlab/dal.py +69 -0
  760. s1_cns_cli/s1graph/gitlab/registry.py +4 -0
  761. s1_cns_cli/s1graph/gitlab/runner.py +54 -0
  762. s1_cns_cli/s1graph/gitlab/schemas/__init__.py +0 -0
  763. s1_cns_cli/s1graph/gitlab/schemas/groups.py +130 -0
  764. s1_cns_cli/s1graph/gitlab/schemas/project_approvals.py +41 -0
  765. s1_cns_cli/s1graph/gitlab_ci/__init__.py +1 -0
  766. s1_cns_cli/s1graph/gitlab_ci/checks/__init__.py +1 -0
  767. s1_cns_cli/s1graph/gitlab_ci/checks/base_gitlab_ci_check.py +35 -0
  768. s1_cns_cli/s1graph/gitlab_ci/checks/job/AvoidDoublePipelines.py +36 -0
  769. s1_cns_cli/s1graph/gitlab_ci/checks/job/DetectImagesUsage.py +25 -0
  770. s1_cns_cli/s1graph/gitlab_ci/checks/job/SuspectCurlInScript.py +29 -0
  771. s1_cns_cli/s1graph/gitlab_ci/checks/job/__init__.py +4 -0
  772. s1_cns_cli/s1graph/gitlab_ci/checks/registry.py +4 -0
  773. s1_cns_cli/s1graph/gitlab_ci/common/__init__.py +0 -0
  774. s1_cns_cli/s1graph/gitlab_ci/common/reserved.py +8 -0
  775. s1_cns_cli/s1graph/gitlab_ci/common/resource_id_utils.py +67 -0
  776. s1_cns_cli/s1graph/gitlab_ci/image_referencer/__init__.py +0 -0
  777. s1_cns_cli/s1graph/gitlab_ci/image_referencer/manager.py +13 -0
  778. s1_cns_cli/s1graph/gitlab_ci/image_referencer/provider.py +60 -0
  779. s1_cns_cli/s1graph/gitlab_ci/runner.py +104 -0
  780. s1_cns_cli/s1graph/helm/__init__.py +0 -0
  781. s1_cns_cli/s1graph/helm/base_registry.py +101 -0
  782. s1_cns_cli/s1graph/helm/image_referencer/__init__.py +0 -0
  783. s1_cns_cli/s1graph/helm/image_referencer/base_provider.py +25 -0
  784. s1_cns_cli/s1graph/helm/image_referencer/manager.py +25 -0
  785. s1_cns_cli/s1graph/helm/image_referencer/provider/__init__.py +0 -0
  786. s1_cns_cli/s1graph/helm/image_referencer/provider/helm.py +19 -0
  787. s1_cns_cli/s1graph/helm/registry.py +3 -0
  788. s1_cns_cli/s1graph/helm/runner.py +459 -0
  789. s1_cns_cli/s1graph/json_doc/__init__.py +0 -0
  790. s1_cns_cli/s1graph/json_doc/base_json_check.py +19 -0
  791. s1_cns_cli/s1graph/json_doc/base_registry.py +201 -0
  792. s1_cns_cli/s1graph/json_doc/enums.py +8 -0
  793. s1_cns_cli/s1graph/json_doc/registry.py +4 -0
  794. s1_cns_cli/s1graph/json_doc/runner.py +54 -0
  795. s1_cns_cli/s1graph/kubernetes/__init__.py +1 -0
  796. s1_cns_cli/s1graph/kubernetes/checks/__init__.py +0 -0
  797. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/ImpersonatePermissions.yaml +60 -0
  798. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/ModifyServicesStatus.yaml +60 -0
  799. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/NoCreateNodesProxyOrPodsExec.yaml +59 -0
  800. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/ReadAllSecrets.yaml +60 -0
  801. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/RequireAllPodsToHaveNetworkPolicy.yaml +18 -0
  802. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/RoleBindingPE.yaml +59 -0
  803. s1_cns_cli/s1graph/kubernetes/checks/graph_checks/__init__.py +0 -0
  804. s1_cns_cli/s1graph/kubernetes/checks/resource/__init__.py +1 -0
  805. s1_cns_cli/s1graph/kubernetes/checks/resource/base_container_check.py +146 -0
  806. s1_cns_cli/s1graph/kubernetes/checks/resource/base_rbac_check.py +89 -0
  807. s1_cns_cli/s1graph/kubernetes/checks/resource/base_registry.py +94 -0
  808. s1_cns_cli/s1graph/kubernetes/checks/resource/base_root_container_check.py +70 -0
  809. s1_cns_cli/s1graph/kubernetes/checks/resource/base_spec_check.py +55 -0
  810. s1_cns_cli/s1graph/kubernetes/checks/resource/base_spec_omitted_or_value_check.py +34 -0
  811. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/AllowPrivilegeEscalation.py +29 -0
  812. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/AllowPrivilegeEscalationPSP.py +37 -0
  813. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/AllowedCapabilities.py +26 -0
  814. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/AllowedCapabilitiesPSP.py +28 -0
  815. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/AllowedCapabilitiesSysAdmin.py +26 -0
  816. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAdmissionControlAlwaysAdmit.py +29 -0
  817. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAdmissionControlEventRateLimit.py +28 -0
  818. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAlwaysPullImagesPlugin.py +29 -0
  819. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAnonymousAuth.py +23 -0
  820. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuditLog.py +26 -0
  821. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuditLogMaxAge.py +28 -0
  822. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuditLogMaxBackup.py +28 -0
  823. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuditLogMaxSize.py +28 -0
  824. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuthorizationModeNode.py +28 -0
  825. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuthorizationModeNotAlwaysAllow.py +27 -0
  826. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerAuthorizationModeRBAC.py +28 -0
  827. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerBasicAuthFile.py +24 -0
  828. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerEncryptionProviders.py +25 -0
  829. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerEtcdCaFile.py +25 -0
  830. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerEtcdCertAndKey.py +29 -0
  831. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerInsecureBindAddress.py +24 -0
  832. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerInsecurePort.py +23 -0
  833. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerKubeletClientCertAndKey.py +29 -0
  834. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerKubeletHttps.py +23 -0
  835. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerNamespaceLifecyclePlugin.py +28 -0
  836. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerNodeRestrictionPlugin.py +28 -0
  837. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerPodSecurityPolicyPlugin.py +28 -0
  838. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerProfiling.py +23 -0
  839. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerRequestTimeout.py +34 -0
  840. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerSecurePort.py +24 -0
  841. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerSecurityContextDenyPlugin.py +29 -0
  842. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerServiceAccountKeyFile.py +32 -0
  843. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerServiceAccountLookup.py +26 -0
  844. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerServiceAccountPlugin.py +28 -0
  845. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerStrongCryptographicCiphers.py +39 -0
  846. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerTlsCertAndKey.py +31 -0
  847. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerTokenAuthFile.py +23 -0
  848. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ApiServerkubeletCertificateAuthority.py +23 -0
  849. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/CPULimits.py +26 -0
  850. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/CPURequests.py +28 -0
  851. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ContainerSecurityContext.py +23 -0
  852. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ControllerManagerBindAddress.py +27 -0
  853. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DefaultNamespace.py +50 -0
  854. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DefaultServiceAccount.py +32 -0
  855. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DefaultServiceAccountBinding.py +29 -0
  856. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DockerSocketVolume.py +65 -0
  857. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DropCapabilities.py +28 -0
  858. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/DropCapabilitiesPSP.py +32 -0
  859. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/EtcdAutoTls.py +24 -0
  860. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/EtcdCertAndKey.py +32 -0
  861. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/EtcdClientCertAuth.py +24 -0
  862. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/EtcdPeerFiles.py +26 -0
  863. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/HostPort.py +31 -0
  864. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ImageDigest.py +34 -0
  865. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ImagePullPolicyAlways.py +58 -0
  866. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ImageTagFixed.py +44 -0
  867. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeControllerManagerBlockProfiles.py +26 -0
  868. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeControllerManagerRootCAFile.py +28 -0
  869. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeControllerManagerServiceAccountCredentials.py +26 -0
  870. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeControllerManagerServiceAccountPrivateKeyFile.py +28 -0
  871. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeControllerManagerTerminatedPods.py +30 -0
  872. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletAnonymousAuth.py +24 -0
  873. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletAuthorizationModeNotAlwaysAllow.py +28 -0
  874. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletClientCa.py +27 -0
  875. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletCryptographicCiphers.py +40 -0
  876. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletHostnameOverride.py +24 -0
  877. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletKeyFilesSetAppropriate.py +30 -0
  878. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletMakeIptablesUtilChains.py +24 -0
  879. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletProtectKernelDefaults.py +24 -0
  880. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletReadOnlyPort.py +27 -0
  881. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubeletStreamingConnectionIdleTimeout.py +24 -0
  882. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubernetesDashboard.py +34 -0
  883. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubletEventCapture.py +28 -0
  884. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/KubletRotateCertificates.py +24 -0
  885. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/LivenessProbe.py +29 -0
  886. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/MemoryLimits.py +26 -0
  887. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/MemoryRequests.py +28 -0
  888. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/MinimizeCapabilities.py +28 -0
  889. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/MinimizeCapabilitiesPSP.py +24 -0
  890. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/NginxIngressCVE202125742Alias.py +29 -0
  891. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/NginxIngressCVE202125742AllSnippets.py +29 -0
  892. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/NginxIngressCVE202125742Lua.py +29 -0
  893. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/PeerClientCertAuthTrue.py +25 -0
  894. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/PodSecurityContext.py +58 -0
  895. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/PrivilegedContainers.py +24 -0
  896. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/PrivilegedContainersPSP.py +21 -0
  897. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RbacApproveCertificateSigningRequests.py +26 -0
  898. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RbacBindRoleBindings.py +19 -0
  899. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RbacControlWebhooks.py +20 -0
  900. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RbacEscalateRoles.py +19 -0
  901. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ReadOnlyFilesystem.py +22 -0
  902. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ReadinessProbe.py +29 -0
  903. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RootContainers.py +71 -0
  904. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RootContainersHighUID.py +71 -0
  905. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RootContainersPSP.py +33 -0
  906. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/RotateKubeletServerCertificate.py +29 -0
  907. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/SchedulerBindAddress.py +27 -0
  908. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/SchedulerProfiling.py +23 -0
  909. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/Seccomp.py +65 -0
  910. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/SeccompPSP.py +27 -0
  911. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/Secrets.py +33 -0
  912. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ServiceAccountTokens.py +61 -0
  913. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ShareHostIPC.py +61 -0
  914. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ShareHostIPCPSP.py +21 -0
  915. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ShareHostPID.py +61 -0
  916. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/ShareHostPIDPSP.py +21 -0
  917. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/SharedHostNetworkNamespace.py +61 -0
  918. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/SharedHostNetworkNamespacePSP.py +21 -0
  919. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/Tiller.py +35 -0
  920. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/TillerDeploymentListener.py +30 -0
  921. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/TillerService.py +40 -0
  922. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/WildcardRoles.py +33 -0
  923. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/__init__.py +5 -0
  924. s1_cns_cli/s1graph/kubernetes/checks/resource/k8s/k8s_check_utils.py +22 -0
  925. s1_cns_cli/s1graph/kubernetes/checks/resource/registry.py +4 -0
  926. s1_cns_cli/s1graph/kubernetes/graph_builder/__init__.py +0 -0
  927. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/ResourceKeywordIdentifier.py +31 -0
  928. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/__init__.py +0 -0
  929. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/blocks.py +34 -0
  930. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/edge_builders/K8SEdgeBuilder.py +28 -0
  931. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/edge_builders/KeywordEdgeBuilder.py +74 -0
  932. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/edge_builders/LabelSelectorEdgeBuilder.py +53 -0
  933. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/edge_builders/NetworkPolicyEdgeBuilder.py +61 -0
  934. s1_cns_cli/s1graph/kubernetes/graph_builder/graph_components/edge_builders/__init__.py +0 -0
  935. s1_cns_cli/s1graph/kubernetes/graph_builder/local_graph.py +176 -0
  936. s1_cns_cli/s1graph/kubernetes/graph_manager.py +39 -0
  937. s1_cns_cli/s1graph/kubernetes/image_referencer/__init__.py +0 -0
  938. s1_cns_cli/s1graph/kubernetes/image_referencer/base_provider.py +40 -0
  939. s1_cns_cli/s1graph/kubernetes/image_referencer/manager.py +19 -0
  940. s1_cns_cli/s1graph/kubernetes/image_referencer/provider/__init__.py +0 -0
  941. s1_cns_cli/s1graph/kubernetes/image_referencer/provider/k8s.py +105 -0
  942. s1_cns_cli/s1graph/kubernetes/kubernetes_graph_flags.py +19 -0
  943. s1_cns_cli/s1graph/kubernetes/kubernetes_utils.py +257 -0
  944. s1_cns_cli/s1graph/kubernetes/parser/__init__.py +0 -0
  945. s1_cns_cli/s1graph/kubernetes/parser/k8_json.py +66 -0
  946. s1_cns_cli/s1graph/kubernetes/parser/k8_yaml.py +65 -0
  947. s1_cns_cli/s1graph/kubernetes/parser/parser.py +52 -0
  948. s1_cns_cli/s1graph/kubernetes/runner.py +351 -0
  949. s1_cns_cli/s1graph/kubernetes/test/share-process-namespace.yaml +27 -0
  950. s1_cns_cli/s1graph/kustomize/__init__.py +0 -0
  951. s1_cns_cli/s1graph/kustomize/image_referencer/__init__.py +0 -0
  952. s1_cns_cli/s1graph/kustomize/image_referencer/base_provider.py +26 -0
  953. s1_cns_cli/s1graph/kustomize/image_referencer/manager.py +23 -0
  954. s1_cns_cli/s1graph/kustomize/image_referencer/provider/__init__.py +0 -0
  955. s1_cns_cli/s1graph/kustomize/image_referencer/provider/kustomize.py +18 -0
  956. s1_cns_cli/s1graph/kustomize/runner.py +642 -0
  957. s1_cns_cli/s1graph/kustomize/utils.py +25 -0
  958. s1_cns_cli/s1graph/logging_init.py +22 -0
  959. s1_cns_cli/s1graph/main.py +653 -0
  960. s1_cns_cli/s1graph/openapi/__init__.py +1 -0
  961. s1_cns_cli/s1graph/openapi/checks/__init__.py +0 -0
  962. s1_cns_cli/s1graph/openapi/checks/base_openapi_check.py +27 -0
  963. s1_cns_cli/s1graph/openapi/checks/base_registry.py +10 -0
  964. s1_cns_cli/s1graph/openapi/checks/registry.py +3 -0
  965. s1_cns_cli/s1graph/openapi/checks/resource/__init__.py +3 -0
  966. s1_cns_cli/s1graph/openapi/checks/resource/generic/GlobalSecurityFieldIsEmpty.py +26 -0
  967. s1_cns_cli/s1graph/openapi/checks/resource/generic/SecurityOperations.py +43 -0
  968. s1_cns_cli/s1graph/openapi/checks/resource/generic/__init__.py +5 -0
  969. s1_cns_cli/s1graph/openapi/checks/resource/v2/BaseOpenapiCheckV2.py +29 -0
  970. s1_cns_cli/s1graph/openapi/checks/resource/v2/GlobalSchemeDefineHTTP.py +29 -0
  971. s1_cns_cli/s1graph/openapi/checks/resource/v2/GlobalSecurityScopeUndefined.py +45 -0
  972. s1_cns_cli/s1graph/openapi/checks/resource/v2/Oauth2OperationObjectPasswordFlow.py +55 -0
  973. s1_cns_cli/s1graph/openapi/checks/resource/v2/Oauth2SecurityDefinitionImplicitFlow.py +40 -0
  974. s1_cns_cli/s1graph/openapi/checks/resource/v2/Oauth2SecurityDefinitionPasswordFlow.py +40 -0
  975. s1_cns_cli/s1graph/openapi/checks/resource/v2/Oauth2SecurityPasswordFlow.py +45 -0
  976. s1_cns_cli/s1graph/openapi/checks/resource/v2/Oauth2SecurityRequirement.py +47 -0
  977. s1_cns_cli/s1graph/openapi/checks/resource/v2/OperationObjectBasicAuth.py +52 -0
  978. s1_cns_cli/s1graph/openapi/checks/resource/v2/OperationObjectConsumesUndefined.py +43 -0
  979. s1_cns_cli/s1graph/openapi/checks/resource/v2/OperationObjectImplicitFlow.py +54 -0
  980. s1_cns_cli/s1graph/openapi/checks/resource/v2/OperationObjectProducesUndefined.py +45 -0
  981. s1_cns_cli/s1graph/openapi/checks/resource/v2/OperationObjectSecurityScopeUndefined.py +65 -0
  982. s1_cns_cli/s1graph/openapi/checks/resource/v2/PathSchemeDefineHTTP.py +42 -0
  983. s1_cns_cli/s1graph/openapi/checks/resource/v2/SecurityDefinitionBasicAuth.py +40 -0
  984. s1_cns_cli/s1graph/openapi/checks/resource/v2/SecurityDefinitions.py +30 -0
  985. s1_cns_cli/s1graph/openapi/checks/resource/v2/SecurityRequirement.py +69 -0
  986. s1_cns_cli/s1graph/openapi/checks/resource/v2/__init__.py +5 -0
  987. s1_cns_cli/s1graph/openapi/checks/resource/v3/BaseOpenapiCheckV3.py +29 -0
  988. s1_cns_cli/s1graph/openapi/checks/resource/v3/CleartextOverUnencryptedChannel.py +48 -0
  989. s1_cns_cli/s1graph/openapi/checks/resource/v3/__init__.py +5 -0
  990. s1_cns_cli/s1graph/openapi/runner.py +108 -0
  991. s1_cns_cli/s1graph/policies_3d/__init__.py +0 -0
  992. s1_cns_cli/s1graph/policies_3d/checks_infra/__init__.py +0 -0
  993. s1_cns_cli/s1graph/policies_3d/checks_infra/base_check.py +26 -0
  994. s1_cns_cli/s1graph/policies_3d/checks_infra/base_parser.py +41 -0
  995. s1_cns_cli/s1graph/policies_3d/checks_parser.py +145 -0
  996. s1_cns_cli/s1graph/policies_3d/output.py +291 -0
  997. s1_cns_cli/s1graph/policies_3d/record.py +47 -0
  998. s1_cns_cli/s1graph/policies_3d/runner.py +318 -0
  999. s1_cns_cli/s1graph/policies_3d/syntax/__init__.py +0 -0
  1000. s1_cns_cli/s1graph/policies_3d/syntax/cves_syntax.py +46 -0
  1001. s1_cns_cli/s1graph/policies_3d/syntax/iac_syntax.py +35 -0
  1002. s1_cns_cli/s1graph/policies_3d/syntax/secrets_syntax.py +14 -0
  1003. s1_cns_cli/s1graph/policies_3d/syntax/syntax.py +56 -0
  1004. s1_cns_cli/s1graph/py.typed +0 -0
  1005. s1_cns_cli/s1graph/runner_filter.py +365 -0
  1006. s1_cns_cli/s1graph/sca_image/__init__.py +0 -0
  1007. s1_cns_cli/s1graph/sca_image/models.py +18 -0
  1008. s1_cns_cli/s1graph/sca_image/runner.py +345 -0
  1009. s1_cns_cli/s1graph/sca_package/__init__.py +0 -0
  1010. s1_cns_cli/s1graph/sca_package/output.py +360 -0
  1011. s1_cns_cli/s1graph/sca_package/runner.py +172 -0
  1012. s1_cns_cli/s1graph/sca_package/scanner.py +193 -0
  1013. s1_cns_cli/s1graph/sca_package_2/__init__.py +0 -0
  1014. s1_cns_cli/s1graph/sca_package_2/output.py +428 -0
  1015. s1_cns_cli/s1graph/sca_package_2/runner.py +183 -0
  1016. s1_cns_cli/s1graph/sca_package_2/scanner.py +104 -0
  1017. s1_cns_cli/s1graph/sca_package_2/suppression.py +124 -0
  1018. s1_cns_cli/s1graph/secrets/__init__.py +0 -0
  1019. s1_cns_cli/s1graph/secrets/consts.py +31 -0
  1020. s1_cns_cli/s1graph/secrets/coordinator.py +28 -0
  1021. s1_cns_cli/s1graph/secrets/git_history_store.py +177 -0
  1022. s1_cns_cli/s1graph/secrets/git_types.py +82 -0
  1023. s1_cns_cli/s1graph/secrets/parsers/__init__.py +0 -0
  1024. s1_cns_cli/s1graph/secrets/parsers/json/__init__.py +0 -0
  1025. s1_cns_cli/s1graph/secrets/parsers/json/multiline_parser.py +60 -0
  1026. s1_cns_cli/s1graph/secrets/parsers/multiline_parser.py +62 -0
  1027. s1_cns_cli/s1graph/secrets/parsers/single_line_parser.py +36 -0
  1028. s1_cns_cli/s1graph/secrets/parsers/terraform/__init__.py +0 -0
  1029. s1_cns_cli/s1graph/secrets/parsers/terraform/multiline_parser.py +37 -0
  1030. s1_cns_cli/s1graph/secrets/parsers/terraform/single_line_parser.py +28 -0
  1031. s1_cns_cli/s1graph/secrets/parsers/yaml/__init__.py +0 -0
  1032. s1_cns_cli/s1graph/secrets/parsers/yaml/multiline_parser.py +64 -0
  1033. s1_cns_cli/s1graph/secrets/plugins/__init__.py +0 -0
  1034. s1_cns_cli/s1graph/secrets/plugins/custom_regex_detector.py +160 -0
  1035. s1_cns_cli/s1graph/secrets/plugins/detector_utils.py +279 -0
  1036. s1_cns_cli/s1graph/secrets/plugins/entropy_keyword_combinator.py +234 -0
  1037. s1_cns_cli/s1graph/secrets/plugins/load_detectors.py +120 -0
  1038. s1_cns_cli/s1graph/secrets/runner.py +518 -0
  1039. s1_cns_cli/s1graph/secrets/scan_git_history.py +247 -0
  1040. s1_cns_cli/s1graph/secrets/utils.py +39 -0
  1041. s1_cns_cli/s1graph/serverless/__init__.py +1 -0
  1042. s1_cns_cli/s1graph/serverless/base_registry.py +36 -0
  1043. s1_cns_cli/s1graph/serverless/checks/__init__.py +7 -0
  1044. s1_cns_cli/s1graph/serverless/checks/base_function_check.py +4 -0
  1045. s1_cns_cli/s1graph/serverless/checks/complete/__init__.py +0 -0
  1046. s1_cns_cli/s1graph/serverless/checks/complete/base_complete_check.py +18 -0
  1047. s1_cns_cli/s1graph/serverless/checks/complete/registry.py +3 -0
  1048. s1_cns_cli/s1graph/serverless/checks/custom/__init__.py +0 -0
  1049. s1_cns_cli/s1graph/serverless/checks/custom/base_custom_check.py +18 -0
  1050. s1_cns_cli/s1graph/serverless/checks/custom/registry.py +3 -0
  1051. s1_cns_cli/s1graph/serverless/checks/function/__init__.py +1 -0
  1052. s1_cns_cli/s1graph/serverless/checks/function/aws/AWSCredentials.py +32 -0
  1053. s1_cns_cli/s1graph/serverless/checks/function/aws/AdminPolicyDocument.py +30 -0
  1054. s1_cns_cli/s1graph/serverless/checks/function/aws/StarActionPolicyDocument.py +33 -0
  1055. s1_cns_cli/s1graph/serverless/checks/function/aws/__init__.py +5 -0
  1056. s1_cns_cli/s1graph/serverless/checks/function/base_function_check.py +29 -0
  1057. s1_cns_cli/s1graph/serverless/checks/function/registry.py +3 -0
  1058. s1_cns_cli/s1graph/serverless/checks/layer/__init__.py +0 -0
  1059. s1_cns_cli/s1graph/serverless/checks/layer/base_layer_check.py +18 -0
  1060. s1_cns_cli/s1graph/serverless/checks/layer/registry.py +3 -0
  1061. s1_cns_cli/s1graph/serverless/checks/package/__init__.py +0 -0
  1062. s1_cns_cli/s1graph/serverless/checks/package/base_package_check.py +18 -0
  1063. s1_cns_cli/s1graph/serverless/checks/package/registry.py +3 -0
  1064. s1_cns_cli/s1graph/serverless/checks/plugin/__init__.py +0 -0
  1065. s1_cns_cli/s1graph/serverless/checks/plugin/base_plugin_check.py +19 -0
  1066. s1_cns_cli/s1graph/serverless/checks/plugin/registry.py +3 -0
  1067. s1_cns_cli/s1graph/serverless/checks/provider/__init__.py +0 -0
  1068. s1_cns_cli/s1graph/serverless/checks/provider/base_provider_check.py +18 -0
  1069. s1_cns_cli/s1graph/serverless/checks/provider/registry.py +3 -0
  1070. s1_cns_cli/s1graph/serverless/checks/service/__init__.py +0 -0
  1071. s1_cns_cli/s1graph/serverless/checks/service/base_service_check.py +18 -0
  1072. s1_cns_cli/s1graph/serverless/checks/service/registry.py +3 -0
  1073. s1_cns_cli/s1graph/serverless/parsers/__init__.py +0 -0
  1074. s1_cns_cli/s1graph/serverless/parsers/context_parser.py +75 -0
  1075. s1_cns_cli/s1graph/serverless/parsers/parser.py +343 -0
  1076. s1_cns_cli/s1graph/serverless/registry.py +4 -0
  1077. s1_cns_cli/s1graph/serverless/runner.py +299 -0
  1078. s1_cns_cli/s1graph/terraform/__init__.py +3 -0
  1079. s1_cns_cli/s1graph/terraform/checks/__init__.py +0 -0
  1080. s1_cns_cli/s1graph/terraform/checks/data/__init__.py +3 -0
  1081. s1_cns_cli/s1graph/terraform/checks/data/aws/AdminPolicyDocument.py +41 -0
  1082. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMCredentialsExposure.py +23 -0
  1083. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMDataExfiltration.py +21 -0
  1084. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMManagedAdminPolicy.py +40 -0
  1085. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMPermissionsManagement.py +21 -0
  1086. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMPrivilegeEscalation.py +21 -0
  1087. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMPublicActionsPolicy.py +34 -0
  1088. s1_cns_cli/s1graph/terraform/checks/data/aws/IAMWriteAccess.py +21 -0
  1089. s1_cns_cli/s1graph/terraform/checks/data/aws/StarActionPolicyDocument.py +39 -0
  1090. s1_cns_cli/s1graph/terraform/checks/data/aws/__init__.py +4 -0
  1091. s1_cns_cli/s1graph/terraform/checks/data/base_check.py +47 -0
  1092. s1_cns_cli/s1graph/terraform/checks/data/base_cloudsplaining_data_iam_check.py +30 -0
  1093. s1_cns_cli/s1graph/terraform/checks/data/base_registry.py +12 -0
  1094. s1_cns_cli/s1graph/terraform/checks/data/external/__init__.py +4 -0
  1095. s1_cns_cli/s1graph/terraform/checks/data/gcp/GooglePolicyIsPrivate.py +37 -0
  1096. s1_cns_cli/s1graph/terraform/checks/data/gcp/__init__.py +4 -0
  1097. s1_cns_cli/s1graph/terraform/checks/data/registry.py +4 -0
  1098. s1_cns_cli/s1graph/terraform/checks/graph_checks/__init__.py +0 -0
  1099. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/ALBProtectedByWAF.yaml +43 -0
  1100. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/ALBRedirectsHTTPToHTTPS.yaml +82 -0
  1101. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AMRClustersNotOpenToInternet.yaml +23 -0
  1102. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/APIGWLoggingLevelsDefinedProperly.yaml +37 -0
  1103. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/APIGatewayEndpointsUsesCertificateForAuthentication.yaml +47 -0
  1104. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/APIGatewayRequestParameterValidationEnabled.yaml +10 -0
  1105. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/APIProtectedByWAF.yaml +76 -0
  1106. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AWSConfigRecorderEnabled.yaml +29 -0
  1107. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AWSNATGatewaysshouldbeutilized.yaml +43 -0
  1108. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AWSSSMParameterShouldBeEncrypted.yaml +16 -0
  1109. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AppLoadBalancerTLS12.yaml +81 -0
  1110. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AppSyncProtectedByWAF.yaml +17 -0
  1111. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AutoScalingEnableOnDynamoDBTables.yaml +48 -0
  1112. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/AutoScallingEnabledELB.yaml +48 -0
  1113. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CLoudFrontS3OriginConfigWithOAI.yaml +30 -0
  1114. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CloudFrontHasCustomSSLCertificate.yaml +16 -0
  1115. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CloudFrontHasResponseHeadersPolicy.yaml +19 -0
  1116. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CloudFrontUsesSecureProtocolsForHTTPS.yaml +11 -0
  1117. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CloudFrontWebACLConfiguredWIthLog4jVulnerability.yaml +30 -0
  1118. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CloudtrailHasCloudwatch.yaml +22 -0
  1119. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/CodecommitApprovalRulesAttached.yaml +20 -0
  1120. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/ConfigRecorderRecordsAllGlobalResources.yaml +11 -0
  1121. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/DMSEndpointHaveSSLConfigured.yaml +55 -0
  1122. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EBSAddedBackup.yaml +17 -0
  1123. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EC2InstanceHasIAMRoleAttached.yaml +10 -0
  1124. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EFSAddedBackup.yaml +18 -0
  1125. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EIPAllocatedToVPCAttachedEC2.yaml +104 -0
  1126. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EMRClusterHasSecurityConfiguration.yaml +10 -0
  1127. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/ElastiCacheRedisConfiguredAutomaticFailOver.yaml +11 -0
  1128. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/ElasticSearchDedicatedMasterEnabled.yaml +13 -0
  1129. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/EncryptedEBSVolumeOnlyConnectedToEC2s.yaml +31 -0
  1130. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/GuardDutyIsEnabled.yaml +30 -0
  1131. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/HTTPNotSendingPasswords.yaml +38 -0
  1132. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/IAMGroupHasAtLeastOneUser.yaml +29 -0
  1133. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/IAMManagedIAMFullAccessPolicy.yaml +41 -0
  1134. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/IAMPolicyNotAllowFullIAMAccess.yaml +51 -0
  1135. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/IAMUserHasNoConsoleAccess.yaml +20 -0
  1136. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/IAMUsersAreMembersAtLeastOneGroup.yaml +25 -0
  1137. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/NeptuneDeletionProtectionEnabled.yaml +11 -0
  1138. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/NetworkFirewallHasLogging.yaml +17 -0
  1139. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/OpenSearchDomainHasFineGrainedControl.yaml +20 -0
  1140. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/PostgresDBHasQueryLoggingEnabled.yaml +37 -0
  1141. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/PostgresRDSHasQueryLoggingEnabled.yaml +35 -0
  1142. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/RDSClusterHasBackupPlan.yaml +17 -0
  1143. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/RDSEnableCopyTagsToSnapshot.yaml +26 -0
  1144. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/Route53ARecordAttachedResource.yaml +57 -0
  1145. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/Route53ZoneEnableDNSSECSigning.yaml +18 -0
  1146. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/Route53ZoneHasMatchingQueryLog.yaml +17 -0
  1147. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketEncryption.yaml +51 -0
  1148. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketEventNotifications.yaml +17 -0
  1149. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketHasPublicAccessBlock.yaml +29 -0
  1150. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketLifecycle.yaml +23 -0
  1151. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketLogging.yaml +23 -0
  1152. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketReplicationConfiguration.yaml +30 -0
  1153. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3BucketVersioning.yaml +30 -0
  1154. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3KMSEncryptedByDefault.yaml +30 -0
  1155. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3NotAllowAccessToAllAuthenticatedUsers.yaml +11 -0
  1156. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3PublicACLRead.yaml +114 -0
  1157. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/S3PublicACLWrite.yaml +99 -0
  1158. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/SGAttachedToResource.yaml +55 -0
  1159. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/SecretsAreRotated.yaml +17 -0
  1160. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/SubnetHasACL.yaml +45 -0
  1161. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/VPCHasFlowLog.yaml +19 -0
  1162. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/VPCHasRestrictedSG.yaml +63 -0
  1163. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/VPCPeeringRouteTableOverlyPermissive.yaml +66 -0
  1164. s1_cns_cli/s1graph/terraform/checks/graph_checks/aws/WAF2HasLogs.yaml +18 -0
  1165. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AccessToPostgreSQLFromAzureServicesIsDisabled.yaml +37 -0
  1166. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/ApplicationGatewayEnablesWAF.yaml +32 -0
  1167. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureACR_HTTPSwebhook.yaml +12 -0
  1168. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureAKSclusterAzureCNIEnabled.yaml +13 -0
  1169. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureActiveDirectoryAdminIsConfigured.yaml +18 -0
  1170. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureAntimalwareIsConfiguredWithAutoUpdatesForVMs.yaml +35 -0
  1171. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureAutomationAccNotOverlyPermissiveNetAccess.yaml +12 -0
  1172. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureConfigMSSQLwithAD.yaml +21 -0
  1173. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureContainerInstanceconfigManagedIdentity.yaml +17 -0
  1174. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureDataFactoriesEncryptedWithCustomerManagedKey.yaml +17 -0
  1175. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureKeyVaultConfigPrivateEndpoint.yaml +19 -0
  1176. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureMSSQLServerHasSecurityAlertPolicy.yaml +31 -0
  1177. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureNetworkInterfacePublicIPAddressId.yaml +18 -0
  1178. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzurePostgreSQLFlexServerNotOverlyPermissive.yaml +20 -0
  1179. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureSpringCloudConfigWithVnet.yaml +19 -0
  1180. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureSqlDbEnableTransparentDataEncryption.yaml +13 -0
  1181. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureStorageAccConfigWithPrivateEndpoint.yaml +31 -0
  1182. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureStorageAccountsUseCustomerManagedKeyForEncryption.yaml +23 -0
  1183. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureSubnetConfigWithNSG.yaml +45 -0
  1184. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureSynapseWorkspacesHaveNoIPFirewallRulesAttached.yaml +18 -0
  1185. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/AzureUnattachedDisksAreEncrypted.yaml +43 -0
  1186. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/CognitiveServicesCustomerManagedKey.yaml +23 -0
  1187. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/DataExplorerEncryptionUsesCustomKey.yaml +19 -0
  1188. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/MSQLenablesCustomerManagedKey.yaml +24 -0
  1189. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/PGSQLenablesCustomerManagedKey.yaml +24 -0
  1190. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/SQLServerAuditingEnabled.yaml +36 -0
  1191. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/SQLServerAuditingRetention90Days.yaml +38 -0
  1192. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/StorageContainerActivityLogsNotPublic.yaml +56 -0
  1193. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/StorageCriticalDataEncryptedCMK.yaml +17 -0
  1194. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/StorageLoggingIsEnabledForBlobService.yaml +37 -0
  1195. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/StorageLoggingIsEnabledForTableService.yaml +28 -0
  1196. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VAconfiguredToSendReports.yaml +52 -0
  1197. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VAconfiguredToSendReportsToAdmins.yaml +51 -0
  1198. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VAisEnabledInStorageAccount.yaml +25 -0
  1199. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VAsetPeriodicScansOnSQL.yaml +43 -0
  1200. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VMHasBackUpMachine.yaml +19 -0
  1201. s1_cns_cli/s1graph/terraform/checks/graph_checks/azure/VirtualMachinesUtilizingManagedDisks.yaml +21 -0
  1202. s1_cns_cli/s1graph/terraform/checks/graph_checks/azuredevops/ADORepositoryHasMinTwoReviewers.yaml +26 -0
  1203. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/CloudFunctionSecureHTTPTrigger.yaml +11 -0
  1204. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/DisableAccessToSqlDBInstanceForRootUsersWithoutPassword.yaml +50 -0
  1205. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPAuditLogsConfiguredForAllServicesAndUsers.yaml +34 -0
  1206. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPComputeFirewallOverlyPermissiveToAllTraffic.yaml +34 -0
  1207. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPContainerRegistryReposAreNotPubliclyAccessible.yaml +63 -0
  1208. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPKMSCryptoKeysAreNotPubliclyAccessible.yaml +64 -0
  1209. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPKMSKeyRingsAreNotPubliclyAccessible.yaml +63 -0
  1210. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPLogBucketsConfiguredUsingLock.yaml +38 -0
  1211. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPMySQLdbInstancePoint_In_TimeRecoveryBackupIsEnabled.yaml +19 -0
  1212. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPNetworkDoesNotUseDefaultFirewall.yaml +17 -0
  1213. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPPostgreSQLDatabaseFlaglog_durationIsSetToON.yaml +17 -0
  1214. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPPostgreSQLDatabaseFlaglog_executor_statsIsSetToOFF.yaml +22 -0
  1215. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPPostgreSQLDatabaseFlaglog_parser_statsIsSetToOFF.yaml +22 -0
  1216. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPPostgreSQLDatabaseFlaglog_planner_statsIsSetToOFF.yaml +22 -0
  1217. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPPostgreSQLDatabaseFlaglog_statement_statsIsSetToOFF.yaml +22 -0
  1218. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPProjectHasNoLegacyNetworks.yaml +39 -0
  1219. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCPdisableAlphaClusterFeatureInKubernetesEngineClusters.yaml +11 -0
  1220. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GCRContainerVulnerabilityScanningEnabled.yaml +11 -0
  1221. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/GKEClustersAreNotUsingDefaultServiceAccount.yaml +24 -0
  1222. s1_cns_cli/s1graph/terraform/checks/graph_checks/gcp/ServiceAccountHasGCPmanagedKey.yaml +13 -0
  1223. s1_cns_cli/s1graph/terraform/checks/graph_checks/github/RepositoryHasBranchProtection.yaml +21 -0
  1224. s1_cns_cli/s1graph/terraform/checks/graph_checks/ncp/AccessControlGroupRuleDefine.yaml +17 -0
  1225. s1_cns_cli/s1graph/terraform/checks/graph_checks/ncp/AutoScalingEnabledLB.yaml +36 -0
  1226. s1_cns_cli/s1graph/terraform/checks/graph_checks/ncp/RouteTablePublicSubnetConnection.yaml +35 -0
  1227. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/AdministratorUserNotAssociatedWithAPIKey.yaml +62 -0
  1228. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/OCI_K8EngineClusterBootVolConfigInTransitEncryption.yaml +17 -0
  1229. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/OCI_K8EngineClusterPodSecPolicyEnforced.yaml +17 -0
  1230. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/OCI_KubernetesEngineClusterEndpointConfigWithNSG.yaml +28 -0
  1231. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/OCI_NFSaccessRestrictedToRootUsers.yaml +27 -0
  1232. s1_cns_cli/s1graph/terraform/checks/graph_checks/oci/OCI_NSGNotAllowRDP.yaml +68 -0
  1233. s1_cns_cli/s1graph/terraform/checks/module/__init__.py +0 -0
  1234. s1_cns_cli/s1graph/terraform/checks/module/base_module_check.py +39 -0
  1235. s1_cns_cli/s1graph/terraform/checks/module/base_registry.py +9 -0
  1236. s1_cns_cli/s1graph/terraform/checks/module/registry.py +4 -0
  1237. s1_cns_cli/s1graph/terraform/checks/provider/__init__.py +6 -0
  1238. s1_cns_cli/s1graph/terraform/checks/provider/aws/__init__.py +5 -0
  1239. s1_cns_cli/s1graph/terraform/checks/provider/aws/credentials.py +37 -0
  1240. s1_cns_cli/s1graph/terraform/checks/provider/base_check.py +35 -0
  1241. s1_cns_cli/s1graph/terraform/checks/provider/base_registry.py +11 -0
  1242. s1_cns_cli/s1graph/terraform/checks/provider/linode/__init__.py +4 -0
  1243. s1_cns_cli/s1graph/terraform/checks/provider/linode/credentials.py +31 -0
  1244. s1_cns_cli/s1graph/terraform/checks/provider/ncp/__init__.py +5 -0
  1245. s1_cns_cli/s1graph/terraform/checks/provider/ncp/credentials.py +37 -0
  1246. s1_cns_cli/s1graph/terraform/checks/provider/oci/__init__.py +5 -0
  1247. s1_cns_cli/s1graph/terraform/checks/provider/oci/credentials.py +27 -0
  1248. s1_cns_cli/s1graph/terraform/checks/provider/openstack/__init__.py +5 -0
  1249. s1_cns_cli/s1graph/terraform/checks/provider/openstack/credentials.py +32 -0
  1250. s1_cns_cli/s1graph/terraform/checks/provider/panos/__init__.py +4 -0
  1251. s1_cns_cli/s1graph/terraform/checks/provider/panos/credentials.py +38 -0
  1252. s1_cns_cli/s1graph/terraform/checks/provider/registry.py +4 -0
  1253. s1_cns_cli/s1graph/terraform/checks/provider/s1cns/__init__.py +5 -0
  1254. s1_cns_cli/s1graph/terraform/checks/provider/s1cns/credentials.py +31 -0
  1255. s1_cns_cli/s1graph/terraform/checks/resource/__init__.py +14 -0
  1256. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/ALBACLIsUnrestricted.py +20 -0
  1257. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/APIGatewayProtocolHTTPS.py +25 -0
  1258. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/AbsRDSParameter.py +27 -0
  1259. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/AbsSecurityGroupUnrestrictedIngress.py +58 -0
  1260. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/ActionTrailLogAllEvents.py +27 -0
  1261. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/ActionTrailLogAllRegions.py +27 -0
  1262. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/DiskEncryptedWithCMK.py +27 -0
  1263. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/DiskIsEncrypted.py +21 -0
  1264. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/K8sEnableNetworkPolicies.py +60 -0
  1265. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/K8sNodePoolAutoRepair.py +23 -0
  1266. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/KMSKeyIsEnabled.py +22 -0
  1267. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/KMSKeyRotationIsEnabled.py +22 -0
  1268. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/LaunchTemplateDisksAreEncrypted.py +22 -0
  1269. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/LogAuditRDSEnabled.py +17 -0
  1270. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/MongoDBInsideVPC.py +21 -0
  1271. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/MongoDBInstanceSSL.py +21 -0
  1272. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/MongoDBIsPublic.py +23 -0
  1273. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/MongoDBTransparentDataEncryptionEnabled.py +21 -0
  1274. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/OSSBucketAccessLogs.py +23 -0
  1275. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/OSSBucketEncryptedWithCMK.py +21 -0
  1276. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/OSSBucketPublic.py +20 -0
  1277. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/OSSBucketTransferAcceleration.py +17 -0
  1278. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/OSSBucketVersioning.py +20 -0
  1279. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyExpiration.py +38 -0
  1280. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyLength.py +38 -0
  1281. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyLowercaseLetter.py +17 -0
  1282. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyMaxLogin.py +40 -0
  1283. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyNumber.py +17 -0
  1284. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyReuse.py +38 -0
  1285. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicySymbol.py +17 -0
  1286. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMPasswordPolicyUppcaseLetter.py +17 -0
  1287. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RAMSecurityEnforceMFA.py +23 -0
  1288. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSInstanceAutoUpgrade.py +21 -0
  1289. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSInstanceLogConnections.py +9 -0
  1290. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSInstanceLogDisconnections.py +9 -0
  1291. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSInstanceLogsEnabled.py +9 -0
  1292. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSInstanceSSL.py +21 -0
  1293. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSIsPublic.py +23 -0
  1294. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSRetention.py +36 -0
  1295. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/RDSTransparentDataEncryptionEnabled.py +39 -0
  1296. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/SecurityGroupUnrestrictedIngress22.py +9 -0
  1297. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/SecurityGroupUnrestrictedIngress3389.py +9 -0
  1298. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/TLSPoliciesAreSecure.py +20 -0
  1299. s1_cns_cli/s1graph/terraform/checks/resource/alicloud/__init__.py +5 -0
  1300. s1_cns_cli/s1graph/terraform/checks/resource/aws/ACMCertCreateBeforeDestroy.py +22 -0
  1301. s1_cns_cli/s1graph/terraform/checks/resource/aws/ACMCertSetLoggingPreference.py +30 -0
  1302. s1_cns_cli/s1graph/terraform/checks/resource/aws/ALBDesyncMode.py +24 -0
  1303. s1_cns_cli/s1graph/terraform/checks/resource/aws/ALBDropHttpHeaders.py +22 -0
  1304. s1_cns_cli/s1graph/terraform/checks/resource/aws/ALBListenerHTTPS.py +40 -0
  1305. s1_cns_cli/s1graph/terraform/checks/resource/aws/AMICopyIsEncrypted.py +18 -0
  1306. s1_cns_cli/s1graph/terraform/checks/resource/aws/AMICopyUsesCMK.py +21 -0
  1307. s1_cns_cli/s1graph/terraform/checks/resource/aws/AMIEncryption.py +26 -0
  1308. s1_cns_cli/s1graph/terraform/checks/resource/aws/AMILaunchIsShared.py +17 -0
  1309. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayAccessLogging.py +22 -0
  1310. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayAuthorization.py +25 -0
  1311. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayCacheEnable.py +18 -0
  1312. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayCreateBeforeDestroy.py +22 -0
  1313. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayDeploymentCreateBeforeDestroy.py +24 -0
  1314. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayDomainNameTLS.py +26 -0
  1315. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayMethodSettingsCacheEnabled.py +18 -0
  1316. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayMethodSettingsCacheEncrypted.py +22 -0
  1317. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayMethodSettingsDataTrace.py +20 -0
  1318. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayV2RouteDefinesAuthorizationType.py +25 -0
  1319. s1_cns_cli/s1graph/terraform/checks/resource/aws/APIGatewayXray.py +18 -0
  1320. s1_cns_cli/s1graph/terraform/checks/resource/aws/AbsNACLUnrestrictedIngress.py +111 -0
  1321. s1_cns_cli/s1graph/terraform/checks/resource/aws/AbsSecurityGroupUnrestrictedIngress.py +114 -0
  1322. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppFlowConnectorProfileUsesCMK.py +21 -0
  1323. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppFlowUsesCMK.py +21 -0
  1324. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppSyncFieldLevelLogs.py +22 -0
  1325. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppSyncLogging.py +23 -0
  1326. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppsyncAPICacheEncryptionAtRest.py +18 -0
  1327. s1_cns_cli/s1graph/terraform/checks/resource/aws/AppsyncAPICacheEncryptionInTransit.py +18 -0
  1328. s1_cns_cli/s1graph/terraform/checks/resource/aws/AthenaDatabaseEncryption.py +21 -0
  1329. s1_cns_cli/s1graph/terraform/checks/resource/aws/AthenaWorkgroupConfiguration.py +19 -0
  1330. s1_cns_cli/s1graph/terraform/checks/resource/aws/AthenaWorkgroupEncryption.py +23 -0
  1331. s1_cns_cli/s1graph/terraform/checks/resource/aws/AuroraEncryption.py +26 -0
  1332. s1_cns_cli/s1graph/terraform/checks/resource/aws/AutoScalingLaunchTemplate.py +27 -0
  1333. s1_cns_cli/s1graph/terraform/checks/resource/aws/AutoScalingTagging.py +26 -0
  1334. s1_cns_cli/s1graph/terraform/checks/resource/aws/BackupVaultEncrypted.py +23 -0
  1335. s1_cns_cli/s1graph/terraform/checks/resource/aws/BatchJobIsNotPrivileged.py +36 -0
  1336. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudFrontResponseHeaderStrictTransportSecurity.py +61 -0
  1337. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudWatchAlarmsEnabled.py +25 -0
  1338. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudWatchLogGroupKMSKey.py +21 -0
  1339. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudWatchLogGroupRetention.py +21 -0
  1340. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudWatchLogGroupRetentionYear.py +36 -0
  1341. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudformationStackNotificationArns.py +21 -0
  1342. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontDistributionDefaultRoot.py +26 -0
  1343. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontDistributionEnabled.py +17 -0
  1344. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontDistributionEncryption.py +36 -0
  1345. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontDistributionLogging.py +22 -0
  1346. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontDistributionOriginFailover.py +32 -0
  1347. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudfrontTLS12.py +25 -0
  1348. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudsearchDomainEnforceHttps.py +25 -0
  1349. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudsearchDomainTLS.py +26 -0
  1350. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailDefinesSNSTopic.py +37 -0
  1351. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailEnableLogging.py +18 -0
  1352. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailEncryptionWithCMK.py +27 -0
  1353. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailEventDataStoreUsesCMK.py +21 -0
  1354. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailLogValidation.py +17 -0
  1355. s1_cns_cli/s1graph/terraform/checks/resource/aws/CloudtrailMultiRegion.py +17 -0
  1356. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodeArtifactDomainEncryptedWithCMK.py +24 -0
  1357. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodeBuildPrivilegedMode.py +25 -0
  1358. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodeBuildProjectEncryption.py +30 -0
  1359. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodePipelineArtifactsEncrypted.py +23 -0
  1360. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodebuildHasLogs.py +34 -0
  1361. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodebuildS3LogsEncrypted.py +24 -0
  1362. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodebuildUsesCMK.py +36 -0
  1363. s1_cns_cli/s1graph/terraform/checks/resource/aws/CodecommitApprovalsRulesRequireMin2.py +30 -0
  1364. s1_cns_cli/s1graph/terraform/checks/resource/aws/ComprehendEntityRecognizerModelUsesCMK.py +21 -0
  1365. s1_cns_cli/s1graph/terraform/checks/resource/aws/ComprehendEntityRecognizerVolumeUsesCMK.py +25 -0
  1366. s1_cns_cli/s1graph/terraform/checks/resource/aws/ConfigConfgurationAggregatorAllRegions.py +36 -0
  1367. s1_cns_cli/s1graph/terraform/checks/resource/aws/ConnectInstanceKinesisVideoStreamStorageConfigUsesCMK.py +21 -0
  1368. s1_cns_cli/s1graph/terraform/checks/resource/aws/ConnectInstanceS3StorageConfigUsesCMK.py +23 -0
  1369. s1_cns_cli/s1graph/terraform/checks/resource/aws/DAXEncryption.py +17 -0
  1370. s1_cns_cli/s1graph/terraform/checks/resource/aws/DAXEndpointTLS.py +20 -0
  1371. s1_cns_cli/s1graph/terraform/checks/resource/aws/DBInstanceBackupRetentionPeriod.py +34 -0
  1372. s1_cns_cli/s1graph/terraform/checks/resource/aws/DBInstanceLogging.py +29 -0
  1373. s1_cns_cli/s1graph/terraform/checks/resource/aws/DBInstanceMinorUpgrade.py +17 -0
  1374. s1_cns_cli/s1graph/terraform/checks/resource/aws/DBSnapshotCopyUsesCMK.py +21 -0
  1375. s1_cns_cli/s1graph/terraform/checks/resource/aws/DBSnapshotsArePrivate.py +22 -0
  1376. s1_cns_cli/s1graph/terraform/checks/resource/aws/DLMEventsCrossRegionEncryption.py +32 -0
  1377. s1_cns_cli/s1graph/terraform/checks/resource/aws/DLMEventsCrossRegionEncryptionWithCMK.py +32 -0
  1378. s1_cns_cli/s1graph/terraform/checks/resource/aws/DLMScheduleCrossRegionEncryption.py +30 -0
  1379. s1_cns_cli/s1graph/terraform/checks/resource/aws/DLMScheduleCrossRegionEncryptionWithCMK.py +32 -0
  1380. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSEndpointUsesCMK.py +37 -0
  1381. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSReplicationInstanceEncryptedWithCMK.py +21 -0
  1382. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSReplicationInstanceMinorUpgrade.py +17 -0
  1383. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSReplicationInstancePubliclyAccessible.py +20 -0
  1384. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSS3DefinesIntransitEncryption.py +24 -0
  1385. s1_cns_cli/s1graph/terraform/checks/resource/aws/DMSS3UsesCMK.py +25 -0
  1386. s1_cns_cli/s1graph/terraform/checks/resource/aws/DatasyncLocationExposesSecrets.py +25 -0
  1387. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBAuditLogs.py +23 -0
  1388. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBEncryptedWithCMK.py +21 -0
  1389. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBEncryption.py +17 -0
  1390. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBGlobalClusterEncryption.py +17 -0
  1391. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBLogging.py +25 -0
  1392. s1_cns_cli/s1graph/terraform/checks/resource/aws/DocDBTLS.py +23 -0
  1393. s1_cns_cli/s1graph/terraform/checks/resource/aws/DynamoDBGlobalTableRecovery.py +21 -0
  1394. s1_cns_cli/s1graph/terraform/checks/resource/aws/DynamoDBTableReplicaKMSUsesCMK.py +23 -0
  1395. s1_cns_cli/s1graph/terraform/checks/resource/aws/DynamoDBTablesEncrypted.py +29 -0
  1396. s1_cns_cli/s1graph/terraform/checks/resource/aws/DynamodbRecovery.py +20 -0
  1397. s1_cns_cli/s1graph/terraform/checks/resource/aws/EBSDefaultEncryption.py +23 -0
  1398. s1_cns_cli/s1graph/terraform/checks/resource/aws/EBSEncryption.py +17 -0
  1399. s1_cns_cli/s1graph/terraform/checks/resource/aws/EBSSnapshotCopyEncryptedWithCMK.py +21 -0
  1400. s1_cns_cli/s1graph/terraform/checks/resource/aws/EBSVolumeEncryptedWithCMK.py +21 -0
  1401. s1_cns_cli/s1graph/terraform/checks/resource/aws/EC2Credentials.py +28 -0
  1402. s1_cns_cli/s1graph/terraform/checks/resource/aws/EC2DetailedMonitoringEnabled.py +21 -0
  1403. s1_cns_cli/s1graph/terraform/checks/resource/aws/EC2EBSOptimized.py +17 -0
  1404. s1_cns_cli/s1graph/terraform/checks/resource/aws/EC2PublicIP.py +32 -0
  1405. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECRImageScanning.py +17 -0
  1406. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECRImmutableTags.py +22 -0
  1407. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECRPolicy.py +62 -0
  1408. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECRRepositoryEncrypted.py +20 -0
  1409. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSClusterContainerInsights.py +23 -0
  1410. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSClusterLoggingEnabled.py +26 -0
  1411. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSClusterLoggingEncryptedWithCMK.py +39 -0
  1412. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSContainerHostProcess.py +41 -0
  1413. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSContainerPrivilege.py +42 -0
  1414. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSContainerReadOnlyRoot.py +45 -0
  1415. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSServiceFargateLatest.py +37 -0
  1416. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSServicePublicIP.py +33 -0
  1417. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSTaskDefinitionEFSVolumeEncryption.py +27 -0
  1418. s1_cns_cli/s1graph/terraform/checks/resource/aws/ECSTaskDefinitionRoleCheck.py +30 -0
  1419. s1_cns_cli/s1graph/terraform/checks/resource/aws/EFSAccessPointRoot.py +25 -0
  1420. s1_cns_cli/s1graph/terraform/checks/resource/aws/EFSAccessUserIdentity.py +26 -0
  1421. s1_cns_cli/s1graph/terraform/checks/resource/aws/EFSEncryptionEnabled.py +17 -0
  1422. s1_cns_cli/s1graph/terraform/checks/resource/aws/EFSFileSystemEncryptedWithCMK.py +21 -0
  1423. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSControlPlaneLogging.py +32 -0
  1424. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSNodeGroupRemoteAccess.py +25 -0
  1425. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSPlatformVersion.py +30 -0
  1426. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSPublicAccess.py +22 -0
  1427. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSPublicAccessCIDR.py +34 -0
  1428. s1_cns_cli/s1graph/terraform/checks/resource/aws/EKSSecretsEncryption.py +20 -0
  1429. s1_cns_cli/s1graph/terraform/checks/resource/aws/ELBAccessLogs.py +28 -0
  1430. s1_cns_cli/s1graph/terraform/checks/resource/aws/ELBCrossZoneEnable.py +19 -0
  1431. s1_cns_cli/s1graph/terraform/checks/resource/aws/ELBPolicyUsesSecureProtocols.py +29 -0
  1432. s1_cns_cli/s1graph/terraform/checks/resource/aws/ELBUsesSSL.py +23 -0
  1433. s1_cns_cli/s1graph/terraform/checks/resource/aws/ELBv2AccessLogs.py +22 -0
  1434. s1_cns_cli/s1graph/terraform/checks/resource/aws/EMRClusterIsEncryptedKMS.py +27 -0
  1435. s1_cns_cli/s1graph/terraform/checks/resource/aws/EMRClusterKerberosAttributes.py +27 -0
  1436. s1_cns_cli/s1graph/terraform/checks/resource/aws/Ec2TransitGatewayAutoAccept.py +25 -0
  1437. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElastiCacheHasCustomSubnet.py +28 -0
  1438. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticBeanstalkUseEnhancedHealthChecks.py +30 -0
  1439. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py +32 -0
  1440. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticCacheAutomaticMinorUpgrades.py +33 -0
  1441. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticacheHasSecurityGroup.py +19 -0
  1442. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticacheReplicationGroupEncryptedWithCMK.py +21 -0
  1443. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtRest.py +17 -0
  1444. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtTransit.py +17 -0
  1445. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticacheReplicationGroupEncryptionAtTransitAuthToken.py +30 -0
  1446. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchDefaultSG.py +26 -0
  1447. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchDomainAuditLogging.py +31 -0
  1448. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchDomainEnforceHTTPS.py +19 -0
  1449. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchDomainHA.py +38 -0
  1450. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchDomainLogging.py +33 -0
  1451. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchEncryption.py +17 -0
  1452. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchEncryptionWithCMK.py +21 -0
  1453. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchInVPC.py +22 -0
  1454. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchNodeToNodeEncryption.py +51 -0
  1455. s1_cns_cli/s1graph/terraform/checks/resource/aws/ElasticsearchTLSPolicy.py +25 -0
  1456. s1_cns_cli/s1graph/terraform/checks/resource/aws/FSXOntapFSEncryptedWithCMK.py +21 -0
  1457. s1_cns_cli/s1graph/terraform/checks/resource/aws/FSXOpenZFSFileSystemEncryptedWithCMK.py +21 -0
  1458. s1_cns_cli/s1graph/terraform/checks/resource/aws/FSXWindowsFSEncryptedWithCMK.py +21 -0
  1459. s1_cns_cli/s1graph/terraform/checks/resource/aws/GlacierVaultAnyPrincipal.py +44 -0
  1460. s1_cns_cli/s1graph/terraform/checks/resource/aws/GlobalAcceleratorAcceleratorFlowLogs.py +17 -0
  1461. s1_cns_cli/s1graph/terraform/checks/resource/aws/GlueDataCatalogEncryption.py +53 -0
  1462. s1_cns_cli/s1graph/terraform/checks/resource/aws/GlueSecurityConfiguration.py +55 -0
  1463. s1_cns_cli/s1graph/terraform/checks/resource/aws/GlueSecurityConfigurationEnabled.py +23 -0
  1464. s1_cns_cli/s1graph/terraform/checks/resource/aws/GuarddutyDetectorEnabled.py +19 -0
  1465. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMAdminPolicyDocument.py +50 -0
  1466. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMCredentialsExposure.py +23 -0
  1467. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMDataExfiltration.py +21 -0
  1468. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMManagedAdminPolicy.py +61 -0
  1469. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMPermissionsManagement.py +21 -0
  1470. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMPolicyAttachedToGroupOrRoles.py +29 -0
  1471. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMPrivilegeEscalation.py +22 -0
  1472. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMRoleAllowAssumeFromAccount.py +46 -0
  1473. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py +38 -0
  1474. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMStarActionPolicyDocument.py +56 -0
  1475. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMUserNotUsedForAccess.py +21 -0
  1476. s1_cns_cli/s1graph/terraform/checks/resource/aws/IAMWriteAccess.py +15 -0
  1477. s1_cns_cli/s1graph/terraform/checks/resource/aws/IMDSv1Disabled.py +45 -0
  1478. s1_cns_cli/s1graph/terraform/checks/resource/aws/ImagebuilderComponentEncryptedWithCMK.py +21 -0
  1479. s1_cns_cli/s1graph/terraform/checks/resource/aws/ImagebuilderDistributionConfigurationEncryptedWithCMK.py +22 -0
  1480. s1_cns_cli/s1graph/terraform/checks/resource/aws/ImagebuilderImageRecipeEBSEncrypted.py +29 -0
  1481. s1_cns_cli/s1graph/terraform/checks/resource/aws/KMSKeyIsEnabled.py +18 -0
  1482. s1_cns_cli/s1graph/terraform/checks/resource/aws/KMSKeyWildcardPrincipal.py +42 -0
  1483. s1_cns_cli/s1graph/terraform/checks/resource/aws/KMSRotation.py +25 -0
  1484. s1_cns_cli/s1graph/terraform/checks/resource/aws/KendraIndexSSEUsesCMK.py +21 -0
  1485. s1_cns_cli/s1graph/terraform/checks/resource/aws/KeyspacesTableUsesCMK.py +25 -0
  1486. s1_cns_cli/s1graph/terraform/checks/resource/aws/KinesisFirehoseDeliveryStreamSSE.py +28 -0
  1487. s1_cns_cli/s1graph/terraform/checks/resource/aws/KinesisFirehoseDeliveryStreamUsesCMK.py +38 -0
  1488. s1_cns_cli/s1graph/terraform/checks/resource/aws/KinesisStreamEncryptedWithCMK.py +21 -0
  1489. s1_cns_cli/s1graph/terraform/checks/resource/aws/KinesisStreamEncryptionType.py +20 -0
  1490. s1_cns_cli/s1graph/terraform/checks/resource/aws/KinesisVideoEncryptedWithCMK.py +21 -0
  1491. s1_cns_cli/s1graph/terraform/checks/resource/aws/LBCrossZone.py +24 -0
  1492. s1_cns_cli/s1graph/terraform/checks/resource/aws/LBDeletionProtection.py +17 -0
  1493. s1_cns_cli/s1graph/terraform/checks/resource/aws/LBTargetGroupsDefinesHealthcheck.py +36 -0
  1494. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaCodeSigningConfigured.py +21 -0
  1495. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaDLQConfigured.py +21 -0
  1496. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaEnvironmentCredentials.py +41 -0
  1497. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaEnvironmentEncryptionSettings.py +40 -0
  1498. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaFunctionIsNotPublic.py +36 -0
  1499. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaFunctionLevelConcurrentExecutionLimit.py +29 -0
  1500. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaFunctionURLAuth.py +21 -0
  1501. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaInVPC.py +23 -0
  1502. s1_cns_cli/s1graph/terraform/checks/resource/aws/LambdaXrayEnabled.py +23 -0
  1503. s1_cns_cli/s1graph/terraform/checks/resource/aws/LaunchConfigurationEBSEncryption.py +50 -0
  1504. s1_cns_cli/s1graph/terraform/checks/resource/aws/LustreFSEncryptedWithCMK.py +21 -0
  1505. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerAuditLogging.py +28 -0
  1506. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerEncryptedWithCMK.py +21 -0
  1507. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerLogging.py +17 -0
  1508. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerMinorAutoUpgrade.py +17 -0
  1509. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerNotPubliclyExposed.py +31 -0
  1510. s1_cns_cli/s1graph/terraform/checks/resource/aws/MQBrokerVersion.py +36 -0
  1511. s1_cns_cli/s1graph/terraform/checks/resource/aws/MSKClusterEncryption.py +33 -0
  1512. s1_cns_cli/s1graph/terraform/checks/resource/aws/MSKClusterLogging.py +24 -0
  1513. s1_cns_cli/s1graph/terraform/checks/resource/aws/MSKClusterNodesArePrivate.py +24 -0
  1514. s1_cns_cli/s1graph/terraform/checks/resource/aws/MWAASchedulerLogsEnabled.py +22 -0
  1515. s1_cns_cli/s1graph/terraform/checks/resource/aws/MWAAWebserverLogsEnabled.py +17 -0
  1516. s1_cns_cli/s1graph/terraform/checks/resource/aws/MWAAWorkerLogsEnabled.py +18 -0
  1517. s1_cns_cli/s1graph/terraform/checks/resource/aws/MemoryDBClusterIntransitEncryption.py +24 -0
  1518. s1_cns_cli/s1graph/terraform/checks/resource/aws/MemoryDBEncryptionWithCMK.py +21 -0
  1519. s1_cns_cli/s1graph/terraform/checks/resource/aws/MemoryDBSnapshotEncryptionWithCMK.py +23 -0
  1520. s1_cns_cli/s1graph/terraform/checks/resource/aws/NeptuneClusterInstancePublic.py +21 -0
  1521. s1_cns_cli/s1graph/terraform/checks/resource/aws/NeptuneClusterLogging.py +25 -0
  1522. s1_cns_cli/s1graph/terraform/checks/resource/aws/NeptuneClusterSnapshotEncrypted.py +17 -0
  1523. s1_cns_cli/s1graph/terraform/checks/resource/aws/NeptuneClusterSnapshotEncryptedWithCMK.py +23 -0
  1524. s1_cns_cli/s1graph/terraform/checks/resource/aws/NeptuneClusterStorageEncrypted.py +17 -0
  1525. s1_cns_cli/s1graph/terraform/checks/resource/aws/NetworkACLUnrestrictedIngress20.py +9 -0
  1526. s1_cns_cli/s1graph/terraform/checks/resource/aws/NetworkACLUnrestrictedIngress21.py +9 -0
  1527. s1_cns_cli/s1graph/terraform/checks/resource/aws/NetworkACLUnrestrictedIngress22.py +9 -0
  1528. s1_cns_cli/s1graph/terraform/checks/resource/aws/NetworkACLUnrestrictedIngress3389.py +9 -0
  1529. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyExpiration.py +38 -0
  1530. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyLength.py +38 -0
  1531. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyLowercaseLetter.py +17 -0
  1532. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyNumber.py +17 -0
  1533. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyReuse.py +38 -0
  1534. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicySymbol.py +17 -0
  1535. s1_cns_cli/s1graph/terraform/checks/resource/aws/PasswordPolicyUppercaseLetter.py +17 -0
  1536. s1_cns_cli/s1graph/terraform/checks/resource/aws/QLDBLedgerDeletionProtection.py +18 -0
  1537. s1_cns_cli/s1graph/terraform/checks/resource/aws/QLDBLedgerPermissionsMode.py +20 -0
  1538. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSCACertIsRecent.py +27 -0
  1539. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterActivityStreamEncryptedWithCMK.py +27 -0
  1540. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterAuditLogging.py +48 -0
  1541. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterAuroraBacktrack.py +43 -0
  1542. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterCopyTags.py +21 -0
  1543. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterEncrypted.py +33 -0
  1544. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterEncryptedWithCMK.py +21 -0
  1545. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterIAMAuthentication.py +17 -0
  1546. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterLogging.py +30 -0
  1547. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSClusterSnapshotEncrypted.py +17 -0
  1548. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSDeletionProtection.py +18 -0
  1549. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSEncryption.py +17 -0
  1550. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSEnhancedMonitorEnabled.py +24 -0
  1551. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSHasSecurityGroup.py +19 -0
  1552. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSIAMAuthentication.py +26 -0
  1553. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSInstanceAutoBackupEncryptionWithCMK.py +27 -0
  1554. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSInstanceDeletionProtection.py +18 -0
  1555. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSMultiAZEnabled.py +18 -0
  1556. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSPostgreSQLLogFDWExtension.py +87 -0
  1557. s1_cns_cli/s1graph/terraform/checks/resource/aws/RDSPubliclyAccessible.py +20 -0
  1558. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedShiftSSL.py +31 -0
  1559. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterAllowVersionUpgrade.py +19 -0
  1560. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterDatabaseName.py +27 -0
  1561. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterEncryptedWithCMK.py +21 -0
  1562. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterEncryption.py +17 -0
  1563. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterKMSKey.py +21 -0
  1564. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterLogging.py +17 -0
  1565. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterSnapshotCopyGrantEncryptedWithCMK.py +23 -0
  1566. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftClusterUseEnhancedVPCRouting.py +24 -0
  1567. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftInEc2ClassicMode.py +21 -0
  1568. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshiftServerlessNamespaceKMSKey.py +23 -0
  1569. s1_cns_cli/s1graph/terraform/checks/resource/aws/RedshitClusterPubliclyAvailable.py +20 -0
  1570. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3AbortIncompleteUploads.py +38 -0
  1571. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3AllowsAnyPrincipal.py +52 -0
  1572. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3BlockPublicACLs.py +17 -0
  1573. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3BlockPublicPolicy.py +17 -0
  1574. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3BucketObjectEncryptedWithCMK.py +21 -0
  1575. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3BucketObjectLock.py +29 -0
  1576. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3IgnorePublicACLs.py +17 -0
  1577. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3ObjectCopyEncryptedWithCMK.py +21 -0
  1578. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3ProtectAgainstPolicyLockout.py +53 -0
  1579. s1_cns_cli/s1graph/terraform/checks/resource/aws/S3RestrictPublicBuckets.py +17 -0
  1580. s1_cns_cli/s1graph/terraform/checks/resource/aws/SNSTopicEncryption.py +23 -0
  1581. s1_cns_cli/s1graph/terraform/checks/resource/aws/SNSTopicPolicyAnyPrincipal.py +38 -0
  1582. s1_cns_cli/s1graph/terraform/checks/resource/aws/SQSPolicy.py +35 -0
  1583. s1_cns_cli/s1graph/terraform/checks/resource/aws/SQSQueueEncryption.py +28 -0
  1584. s1_cns_cli/s1graph/terraform/checks/resource/aws/SQSQueuePolicyAnyPrincipal.py +38 -0
  1585. s1_cns_cli/s1graph/terraform/checks/resource/aws/SSMDocumentsArePrivate.py +28 -0
  1586. s1_cns_cli/s1graph/terraform/checks/resource/aws/SSMParameterUsesCMK.py +23 -0
  1587. s1_cns_cli/s1graph/terraform/checks/resource/aws/SSMSessionManagerDocumentEncryption.py +43 -0
  1588. s1_cns_cli/s1graph/terraform/checks/resource/aws/SSMSessionManagerDocumentLogging.py +47 -0
  1589. s1_cns_cli/s1graph/terraform/checks/resource/aws/SageMakerInternetAccessDisabled.py +21 -0
  1590. s1_cns_cli/s1graph/terraform/checks/resource/aws/SagemakerDomainEncryptedWithCMK.py +21 -0
  1591. s1_cns_cli/s1graph/terraform/checks/resource/aws/SagemakerEndpointConfigurationEncryption.py +22 -0
  1592. s1_cns_cli/s1graph/terraform/checks/resource/aws/SagemakerNotebookEncryption.py +21 -0
  1593. s1_cns_cli/s1graph/terraform/checks/resource/aws/SagemakerNotebookInCustomVPC.py +27 -0
  1594. s1_cns_cli/s1graph/terraform/checks/resource/aws/SagemakerNotebookRoot.py +26 -0
  1595. s1_cns_cli/s1graph/terraform/checks/resource/aws/SchedulerScheduleUsesCMK.py +23 -0
  1596. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecretManagerSecret90days.py +25 -0
  1597. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecretManagerSecretEncrypted.py +29 -0
  1598. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecurityGroupRuleDescription.py +56 -0
  1599. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecurityGroupUnrestrictedIngress22.py +9 -0
  1600. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecurityGroupUnrestrictedIngress3389.py +9 -0
  1601. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecurityGroupUnrestrictedIngress80.py +9 -0
  1602. s1_cns_cli/s1graph/terraform/checks/resource/aws/SecurityGroupUnrestrictedIngressAny.py +10 -0
  1603. s1_cns_cli/s1graph/terraform/checks/resource/aws/StateMachineLoggingExecutionHistory.py +18 -0
  1604. s1_cns_cli/s1graph/terraform/checks/resource/aws/StateMachineXray.py +18 -0
  1605. s1_cns_cli/s1graph/terraform/checks/resource/aws/SubnetPublicIP.py +20 -0
  1606. s1_cns_cli/s1graph/terraform/checks/resource/aws/TimestreamDatabaseKMSKey.py +23 -0
  1607. s1_cns_cli/s1graph/terraform/checks/resource/aws/TransferServerIsPublic.py +24 -0
  1608. s1_cns_cli/s1graph/terraform/checks/resource/aws/VPCDefaultNetwork.py +27 -0
  1609. s1_cns_cli/s1graph/terraform/checks/resource/aws/VPCEndpointAcceptanceConfigured.py +17 -0
  1610. s1_cns_cli/s1graph/terraform/checks/resource/aws/WAFACLCVE202144228.py +58 -0
  1611. s1_cns_cli/s1graph/terraform/checks/resource/aws/WAFEnabled.py +23 -0
  1612. s1_cns_cli/s1graph/terraform/checks/resource/aws/WAFHasAnyRules.py +21 -0
  1613. s1_cns_cli/s1graph/terraform/checks/resource/aws/WAFHasLogs.py +23 -0
  1614. s1_cns_cli/s1graph/terraform/checks/resource/aws/WorkspaceRootVolumeEncrypted.py +20 -0
  1615. s1_cns_cli/s1graph/terraform/checks/resource/aws/WorkspaceUserVolumeEncrypted.py +20 -0
  1616. s1_cns_cli/s1graph/terraform/checks/resource/aws/__init__.py +5 -0
  1617. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRAdminAccountDisabled.py +21 -0
  1618. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRAnonymousPullDisabled.py +33 -0
  1619. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRContainerScanEnabled.py +33 -0
  1620. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACREnableImageQuarantine.py +17 -0
  1621. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACREnableRetentionPolicy.py +17 -0
  1622. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRGeoreplicated.py +29 -0
  1623. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRPublicNetworkAccessDisabled.py +20 -0
  1624. s1_cns_cli/s1graph/terraform/checks/resource/azure/ACRUseSignedImages.py +23 -0
  1625. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSApiServerAuthorizedIpRanges.py +32 -0
  1626. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSDashboardDisabled.py +28 -0
  1627. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSEnablesPrivateClusters.py +17 -0
  1628. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSIsPaidSku.py +26 -0
  1629. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSLocalAdminDisabled.py +20 -0
  1630. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSLoggingEnabled.py +31 -0
  1631. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSMaxPodsMinimum.py +38 -0
  1632. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSNetworkPolicy.py +21 -0
  1633. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSNodePublicIpDisabled.py +21 -0
  1634. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSPoolTypeIsScaleSet.py +24 -0
  1635. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSRbacEnabled.py +32 -0
  1636. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSSecretStoreRotation.py +17 -0
  1637. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSUpgradeChannel.py +30 -0
  1638. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSUsesAzurePoliciesAddon.py +33 -0
  1639. s1_cns_cli/s1graph/terraform/checks/resource/azure/AKSUsesDiskEncryptionSet.py +22 -0
  1640. s1_cns_cli/s1graph/terraform/checks/resource/azure/APIManagementBackendHTTPS.py +29 -0
  1641. s1_cns_cli/s1graph/terraform/checks/resource/azure/APIManagementCertsEnforced.py +24 -0
  1642. s1_cns_cli/s1graph/terraform/checks/resource/azure/APIManagementMinTLS12.py +38 -0
  1643. s1_cns_cli/s1graph/terraform/checks/resource/azure/APIManagementPublicAccess.py +30 -0
  1644. s1_cns_cli/s1graph/terraform/checks/resource/azure/APIServicesUseVirtualNetwork.py +21 -0
  1645. s1_cns_cli/s1graph/terraform/checks/resource/azure/ActiveDirectoryUsedAuthenticationServiceFabric.py +21 -0
  1646. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppConfigEncryption.py +23 -0
  1647. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppConfigLocalAuth.py +28 -0
  1648. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppConfigPublicAccess.py +21 -0
  1649. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppConfigPurgeProtection.py +19 -0
  1650. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppConfigSku.py +22 -0
  1651. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppGWUseWAFMode.py +26 -0
  1652. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppGatewayWAFACLCVE202144228.py +45 -0
  1653. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceAlwaysOn.py +25 -0
  1654. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceAuthentication.py +34 -0
  1655. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceClientCertificate.py +21 -0
  1656. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceDetailedErrorMessagesEnabled.py +21 -0
  1657. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceDisallowCORS.py +21 -0
  1658. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceDotnetFrameworkVersion.py +21 -0
  1659. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceEnableFailedRequest.py +20 -0
  1660. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceFTPSState.py +23 -0
  1661. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceHTTPSOnly.py +17 -0
  1662. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceHttpLoggingEnabled.py +21 -0
  1663. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceHttps20Enabled.py +17 -0
  1664. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceIdentity.py +21 -0
  1665. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceIdentityProviderEnabled.py +21 -0
  1666. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceInstanceMinimum.py +31 -0
  1667. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceJavaVersion.py +21 -0
  1668. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceMinTLSVersion.py +24 -0
  1669. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServicePHPVersion.py +21 -0
  1670. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServicePythonVersion.py +21 -0
  1671. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceRemoteDebuggingNotEnabled.py +23 -0
  1672. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceSetHealthCheck.py +27 -0
  1673. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceSkuMinimum.py +30 -0
  1674. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceSlotDebugDisabled.py +21 -0
  1675. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceSlotHTTPSOnly.py +17 -0
  1676. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceSlotMinTLS.py +21 -0
  1677. s1_cns_cli/s1graph/terraform/checks/resource/azure/AppServiceUsedAzureFiles.py +20 -0
  1678. s1_cns_cli/s1graph/terraform/checks/resource/azure/AutomationEncrypted.py +22 -0
  1679. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureBatchAccountUsesKeyVaultEncryption.py +21 -0
  1680. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureContainerGroupDeployedIntoVirtualNetwork.py +25 -0
  1681. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDataExplorerDoubleEncryptionEnabled.py +20 -0
  1682. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnAppServices.py +28 -0
  1683. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnContainerRegistry.py +28 -0
  1684. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnKeyVaults.py +28 -0
  1685. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnKubernetes.py +28 -0
  1686. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnServers.py +28 -0
  1687. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnSqlServerVMS.py +27 -0
  1688. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnSqlServers.py +28 -0
  1689. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureDefenderOnStorage.py +28 -0
  1690. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureFrontDoorEnablesWAF.py +21 -0
  1691. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureInstanceExtensions.py +22 -0
  1692. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureInstancePassword.py +37 -0
  1693. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureManagedDiskEncryption.py +27 -0
  1694. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureManagedDiskEncryptionSet.py +22 -0
  1695. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureScaleSetPassword.py +17 -0
  1696. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureSearchAllowedIPsNotGlobal.py +25 -0
  1697. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureSearchManagedIdentity.py +28 -0
  1698. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureSearchPublicNetworkAccessDisabled.py +20 -0
  1699. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureSearchSLAIndex.py +37 -0
  1700. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureSearchSLAQueryUpdates.py +36 -0
  1701. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServiceFabricClusterProtectionLevel.py +30 -0
  1702. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusDoubleEncryptionEnabled.py +22 -0
  1703. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusHasCMK.py +23 -0
  1704. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusIdentityProviderEnabled.py +23 -0
  1705. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusLocalAuthDisabled.py +29 -0
  1706. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusMinTLSVersion.py +22 -0
  1707. s1_cns_cli/s1graph/terraform/checks/resource/azure/AzureServicebusPublicAccessDisabled.py +25 -0
  1708. s1_cns_cli/s1graph/terraform/checks/resource/azure/CDNDisableHttpEndpoints.py +31 -0
  1709. s1_cns_cli/s1graph/terraform/checks/resource/azure/CDNEnableHttpsEndpoints.py +32 -0
  1710. s1_cns_cli/s1graph/terraform/checks/resource/azure/CDNTLSProtocol12.py +38 -0
  1711. s1_cns_cli/s1graph/terraform/checks/resource/azure/CognitiveServicesDisablesPublicNetwork.py +20 -0
  1712. s1_cns_cli/s1graph/terraform/checks/resource/azure/CosmosDBAccountsRestrictedAccess.py +28 -0
  1713. s1_cns_cli/s1graph/terraform/checks/resource/azure/CosmosDBDisableAccessKeyWrite.py +22 -0
  1714. s1_cns_cli/s1graph/terraform/checks/resource/azure/CosmosDBDisablesPublicNetwork.py +20 -0
  1715. s1_cns_cli/s1graph/terraform/checks/resource/azure/CosmosDBHaveCMK.py +21 -0
  1716. s1_cns_cli/s1graph/terraform/checks/resource/azure/CosmosDBLocalAuthDisabled.py +36 -0
  1717. s1_cns_cli/s1graph/terraform/checks/resource/azure/CutsomRoleDefinitionSubscriptionOwner.py +24 -0
  1718. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataExplorerSKUHasSLA.py +33 -0
  1719. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataExplorerServiceIdentity.py +23 -0
  1720. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataExplorerUsesDiskEncryption.py +17 -0
  1721. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataFactoryNoPublicNetworkAccess.py +22 -0
  1722. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py +28 -0
  1723. s1_cns_cli/s1graph/terraform/checks/resource/azure/DataLakeStoreEncryption.py +20 -0
  1724. s1_cns_cli/s1graph/terraform/checks/resource/azure/DatabricksWorkspaceIsNotPublic.py +22 -0
  1725. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridDomainIdentityProviderEnabled.py +23 -0
  1726. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridDomainLocalAuthentication.py +22 -0
  1727. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridDomainNetworkAccess.py +20 -0
  1728. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridTopicIdentityProviderEnabled.py +23 -0
  1729. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridTopicLocalAuthentication.py +22 -0
  1730. s1_cns_cli/s1graph/terraform/checks/resource/azure/EventgridTopicNetworkAccess.py +22 -0
  1731. s1_cns_cli/s1graph/terraform/checks/resource/azure/FrontDoorWAFACLCVE202144228.py +48 -0
  1732. s1_cns_cli/s1graph/terraform/checks/resource/azure/FrontdoorUseWAFMode.py +26 -0
  1733. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppDisallowCORS.py +20 -0
  1734. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppEnableLogging.py +18 -0
  1735. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppHttpVersionLatest.py +17 -0
  1736. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppMinTLSVersion.py +24 -0
  1737. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppsAccessibleOverHttps.py +17 -0
  1738. s1_cns_cli/s1graph/terraform/checks/resource/azure/FunctionAppsEnableAuthentication.py +18 -0
  1739. s1_cns_cli/s1graph/terraform/checks/resource/azure/IoTNoPublicNetworkAccess.py +21 -0
  1740. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyBackedByHSM.py +23 -0
  1741. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyExpirationDate.py +21 -0
  1742. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyVaultDisablesPublicNetworkAccess.py +45 -0
  1743. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyVaultEnablesFirewallRulesSettings.py +20 -0
  1744. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyVaultEnablesPurgeProtection.py +17 -0
  1745. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyVaultEnablesSoftDelete.py +19 -0
  1746. s1_cns_cli/s1graph/terraform/checks/resource/azure/KeyvaultRecoveryEnabled.py +24 -0
  1747. s1_cns_cli/s1graph/terraform/checks/resource/azure/LinuxVMUsesSSH.py +25 -0
  1748. s1_cns_cli/s1graph/terraform/checks/resource/azure/MLCCLADisabled.py +29 -0
  1749. s1_cns_cli/s1graph/terraform/checks/resource/azure/MLComputeClusterMinNodes.py +20 -0
  1750. s1_cns_cli/s1graph/terraform/checks/resource/azure/MLPublicAccess.py +32 -0
  1751. s1_cns_cli/s1graph/terraform/checks/resource/azure/MSSQLServerAuditPolicyLogMonitor.py +18 -0
  1752. s1_cns_cli/s1graph/terraform/checks/resource/azure/MSSQLServerMinTLSVersion.py +20 -0
  1753. s1_cns_cli/s1graph/terraform/checks/resource/azure/MariaDBGeoBackupEnabled.py +17 -0
  1754. s1_cns_cli/s1graph/terraform/checks/resource/azure/MariaDBPublicAccessDisabled.py +24 -0
  1755. s1_cns_cli/s1graph/terraform/checks/resource/azure/MariaDBSSLEnforcementEnabled.py +17 -0
  1756. s1_cns_cli/s1graph/terraform/checks/resource/azure/MonitorLogProfileCategories.py +26 -0
  1757. s1_cns_cli/s1graph/terraform/checks/resource/azure/MonitorLogProfileRetentionDays.py +35 -0
  1758. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLEncryptionEnaled.py +17 -0
  1759. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLGeoBackupEnabled.py +17 -0
  1760. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLPublicAccessDisabled.py +25 -0
  1761. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLServerMinTLSVersion.py +22 -0
  1762. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLServerSSLEnforcementEnabled.py +17 -0
  1763. s1_cns_cli/s1graph/terraform/checks/resource/azure/MySQLTreatDetectionEnabled.py +17 -0
  1764. s1_cns_cli/s1graph/terraform/checks/resource/azure/NSGRuleHTTPAccessRestricted.py +13 -0
  1765. s1_cns_cli/s1graph/terraform/checks/resource/azure/NSGRulePortAccessRestricted.py +97 -0
  1766. s1_cns_cli/s1graph/terraform/checks/resource/azure/NSGRuleRDPAccessRestricted.py +13 -0
  1767. s1_cns_cli/s1graph/terraform/checks/resource/azure/NSGRuleSSHAccessRestricted.py +13 -0
  1768. s1_cns_cli/s1graph/terraform/checks/resource/azure/NSGRuleUDPAccessRestricted.py +40 -0
  1769. s1_cns_cli/s1graph/terraform/checks/resource/azure/NetworkInterfaceEnableIPForwarding.py +21 -0
  1770. s1_cns_cli/s1graph/terraform/checks/resource/azure/NetworkWatcherFlowLogPeriod.py +28 -0
  1771. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLEncryptionEnabled.py +17 -0
  1772. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLFlexiServerGeoBackupEnabled.py +17 -0
  1773. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLMinTLSVersion.py +21 -0
  1774. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerConnectionThrottlingEnabled.py +23 -0
  1775. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerLogCheckpointsEnabled.py +23 -0
  1776. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerLogConnectionsEnabled.py +23 -0
  1777. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerLogRetentionEnabled.py +23 -0
  1778. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerPublicAccessDisabled.py +21 -0
  1779. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgreSQLServerSSLEnforcementEnabled.py +17 -0
  1780. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgresSQLTreatDetectionEnabled.py +17 -0
  1781. s1_cns_cli/s1graph/terraform/checks/resource/azure/PostgressSQLGeoBackupEnabled.py +17 -0
  1782. s1_cns_cli/s1graph/terraform/checks/resource/azure/PubsubSKUSLA.py +24 -0
  1783. s1_cns_cli/s1graph/terraform/checks/resource/azure/PubsubSpecifyIdentity.py +23 -0
  1784. s1_cns_cli/s1graph/terraform/checks/resource/azure/RedisCacheEnableNonSSLPort.py +21 -0
  1785. s1_cns_cli/s1graph/terraform/checks/resource/azure/RedisCacheMinTLSVersion.py +21 -0
  1786. s1_cns_cli/s1graph/terraform/checks/resource/azure/RedisCachePublicNetworkAccessEnabled.py +20 -0
  1787. s1_cns_cli/s1graph/terraform/checks/resource/azure/SQLServerEmailAlertsEnabled.py +21 -0
  1788. s1_cns_cli/s1graph/terraform/checks/resource/azure/SQLServerEmailAlertsToAdminsEnabled.py +17 -0
  1789. s1_cns_cli/s1graph/terraform/checks/resource/azure/SQLServerNoPublicAccess.py +35 -0
  1790. s1_cns_cli/s1graph/terraform/checks/resource/azure/SQLServerPublicAccessDisabled.py +21 -0
  1791. s1_cns_cli/s1graph/terraform/checks/resource/azure/SQLServerThreatDetectionTypes.py +23 -0
  1792. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecretContentType.py +21 -0
  1793. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecretExpirationDate.py +21 -0
  1794. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecurityCenterContactEmailAlert.py +17 -0
  1795. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecurityCenterContactEmailAlertAdmins.py +17 -0
  1796. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecurityCenterContactEmails.py +21 -0
  1797. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecurityCenterContactPhone.py +21 -0
  1798. s1_cns_cli/s1graph/terraform/checks/resource/azure/SecurityCenterStandardPricing.py +20 -0
  1799. s1_cns_cli/s1graph/terraform/checks/resource/azure/SignalRSKUSLA.py +24 -0
  1800. s1_cns_cli/s1graph/terraform/checks/resource/azure/SpringCloudAPIPortalHTTPSOnly.py +17 -0
  1801. s1_cns_cli/s1graph/terraform/checks/resource/azure/SpringCloudAPIPortalPublicAccessIsDisabled.py +21 -0
  1802. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountAzureServicesAccessEnabled.py +34 -0
  1803. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountDefaultNetworkAccessDeny.py +40 -0
  1804. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountDisablePublicAccess.py +30 -0
  1805. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountLoggingQueueServiceEnabled.py +33 -0
  1806. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountMinimumTlsVersion.py +29 -0
  1807. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountName.py +42 -0
  1808. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountsTransportEncryption.py +23 -0
  1809. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageAccountsUseReplication.py +24 -0
  1810. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageBlobRestrictPublicAccess.py +30 -0
  1811. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageBlobServiceContainerPrivateAccess.py +21 -0
  1812. s1_cns_cli/s1graph/terraform/checks/resource/azure/StorageSyncPublicAccessDisabled.py +21 -0
  1813. s1_cns_cli/s1graph/terraform/checks/resource/azure/SynapseWorkspaceEnablesDataExfilProtection.py +17 -0
  1814. s1_cns_cli/s1graph/terraform/checks/resource/azure/SynapseWorkspaceEnablesManagedVirtualNetworks.py +17 -0
  1815. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMAgentIsInstalled.py +27 -0
  1816. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMCredsInCustomData.py +34 -0
  1817. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMDisablePasswordAuthentication.py +20 -0
  1818. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMEncryptionAtHostEnabled.py +17 -0
  1819. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMScaleSetsAutoOSImagePatchingEnabled.py +26 -0
  1820. s1_cns_cli/s1graph/terraform/checks/resource/azure/VMStorageOsDisk.py +28 -0
  1821. s1_cns_cli/s1graph/terraform/checks/resource/azure/VnetLocalDNS.py +45 -0
  1822. s1_cns_cli/s1graph/terraform/checks/resource/azure/VnetSingleDNSServer.py +28 -0
  1823. s1_cns_cli/s1graph/terraform/checks/resource/azure/WinVMAutomaticUpdates.py +21 -0
  1824. s1_cns_cli/s1graph/terraform/checks/resource/azure/WinVMEncryptionAtHost.py +20 -0
  1825. s1_cns_cli/s1graph/terraform/checks/resource/azure/__init__.py +5 -0
  1826. s1_cns_cli/s1graph/terraform/checks/resource/base_cloudsplaining_resource_iam_check.py +27 -0
  1827. s1_cns_cli/s1graph/terraform/checks/resource/base_registry.py +12 -0
  1828. s1_cns_cli/s1graph/terraform/checks/resource/base_resource_check.py +51 -0
  1829. s1_cns_cli/s1graph/terraform/checks/resource/base_resource_negative_value_check.py +90 -0
  1830. s1_cns_cli/s1graph/terraform/checks/resource/base_resource_value_check.py +114 -0
  1831. s1_cns_cli/s1graph/terraform/checks/resource/digitalocean/DropletSSHKeys.py +23 -0
  1832. s1_cns_cli/s1graph/terraform/checks/resource/digitalocean/FirewallIngressOpen.py +32 -0
  1833. s1_cns_cli/s1graph/terraform/checks/resource/digitalocean/SpacesBucketPublicRead.py +23 -0
  1834. s1_cns_cli/s1graph/terraform/checks/resource/digitalocean/SpacesBucketVersioning.py +19 -0
  1835. s1_cns_cli/s1graph/terraform/checks/resource/digitalocean/__init__.py +5 -0
  1836. s1_cns_cli/s1graph/terraform/checks/resource/gcp/AbsGoogleBasicRoles.py +17 -0
  1837. s1_cns_cli/s1graph/terraform/checks/resource/gcp/AbsGoogleComputeFirewallUnrestrictedIngress.py +46 -0
  1838. s1_cns_cli/s1graph/terraform/checks/resource/gcp/AbsGoogleIAMMemberDefaultServiceAccount.py +17 -0
  1839. s1_cns_cli/s1graph/terraform/checks/resource/gcp/AbsGoogleImpersonationRoles.py +30 -0
  1840. s1_cns_cli/s1graph/terraform/checks/resource/gcp/AbsGooglePostgresqlDatabaseFlags.py +37 -0
  1841. s1_cns_cli/s1graph/terraform/checks/resource/gcp/ArtifactRegistryPrivateRepo.py +45 -0
  1842. s1_cns_cli/s1graph/terraform/checks/resource/gcp/ArtifactRegsitryEncryptedWithCMK.py +21 -0
  1843. s1_cns_cli/s1graph/terraform/checks/resource/gcp/BigQueryDatasetEncryptedWithCMK.py +21 -0
  1844. s1_cns_cli/s1graph/terraform/checks/resource/gcp/BigQueryPrivateTable.py +45 -0
  1845. s1_cns_cli/s1graph/terraform/checks/resource/gcp/BigQueryTableEncryptedWithCMK.py +21 -0
  1846. s1_cns_cli/s1graph/terraform/checks/resource/gcp/BigTableInstanceEncryptedWithCMK.py +21 -0
  1847. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudArmorWAFACLCVE202144228.py +39 -0
  1848. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudBuildWorkersArePrivate.py +18 -0
  1849. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudFunctionsShouldNotBePublic.py +30 -0
  1850. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudPubSubEncryptedWithCMK.py +21 -0
  1851. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudSqlMajorVersion.py +21 -0
  1852. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudStorageLogging.py +32 -0
  1853. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudStorageSelfLogging.py +30 -0
  1854. s1_cns_cli/s1graph/terraform/checks/resource/gcp/CloudStorageVersioningEnabled.py +17 -0
  1855. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataFusionPrivateInstance.py +17 -0
  1856. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataFusionStackdriverLogs.py +17 -0
  1857. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataFusionStackdriverMonitoring.py +17 -0
  1858. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataflowJobEncryptedWithCMK.py +21 -0
  1859. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataflowPrivateJob.py +23 -0
  1860. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataprocClusterEncryptedWithCMK.py +21 -0
  1861. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataprocPrivateCluster.py +45 -0
  1862. s1_cns_cli/s1graph/terraform/checks/resource/gcp/DataprocPublicIpCluster.py +17 -0
  1863. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GCPCloudRunPrivateService.py +45 -0
  1864. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEAliasIpEnabled.py +21 -0
  1865. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEBasicAuth.py +37 -0
  1866. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEBinaryAuthorization.py +29 -0
  1867. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEClientCertificateDisabled.py +26 -0
  1868. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEClusterLogging.py +30 -0
  1869. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEDisableLegacyAuth.py +20 -0
  1870. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEEnableShieldedNodes.py +24 -0
  1871. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEEnableVPCFlowLogs.py +22 -0
  1872. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEEnsureIntegrityMonitoring.py +32 -0
  1873. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEHasLabels.py +31 -0
  1874. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEKubernetesRBACGoogleGroups.py +21 -0
  1875. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKELegacyInstanceMetadataDisabled.py +36 -0
  1876. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEMasterAuthorizedNetworksEnabled.py +21 -0
  1877. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEMetadataServerIsEnabled.py +35 -0
  1878. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEMonitoringEnabled.py +20 -0
  1879. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKENetworkPolicyEnabled.py +38 -0
  1880. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKENodePoolAutoRepairEnabled.py +24 -0
  1881. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKENodePoolAutoUpgradeEnabled.py +23 -0
  1882. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEPodSecurityPolicyEnabled.py +17 -0
  1883. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEPrivateClusterConfig.py +23 -0
  1884. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEPrivateNodes.py +21 -0
  1885. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEPublicControlPlane.py +34 -0
  1886. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEReleaseChannel.py +21 -0
  1887. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKESecureBootforShieldedNodes.py +35 -0
  1888. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GKEUseCosImage.py +35 -0
  1889. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleBigQueryDatasetPublicACL.py +48 -0
  1890. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudDNSKeySpecsRSASHA1.py +36 -0
  1891. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudDNSSECEnabled.py +37 -0
  1892. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudMySqlLocalInfileOff.py +49 -0
  1893. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlEnablePgaudit.py +24 -0
  1894. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogCheckpoints.py +47 -0
  1895. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogConnection.py +44 -0
  1896. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogDisconnection.py +50 -0
  1897. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogHostname.py +24 -0
  1898. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogLockWaits.py +50 -0
  1899. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogMinDuration.py +51 -0
  1900. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogMinErrorStatement.py +34 -0
  1901. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogMinMessage.py +52 -0
  1902. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogStatement.py +28 -0
  1903. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudPostgreSqlLogTemp.py +50 -0
  1904. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlBackupConfiguration.py +26 -0
  1905. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlDatabasePubliclyAccessible.py +51 -0
  1906. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlDatabaseRequireSsl.py +24 -0
  1907. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlServerContainedDBAuthentication.py +50 -0
  1908. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlServerCrossDBOwnershipChaining.py +51 -0
  1909. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleCloudSqlServerNoPublicIP.py +34 -0
  1910. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeBlockProjectSSH.py +30 -0
  1911. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeBootDiskEncryption.py +21 -0
  1912. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeDefaultServiceAccount.py +39 -0
  1913. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeDefaultServiceAccountFullAccess.py +54 -0
  1914. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeDiskEncryption.py +21 -0
  1915. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeExternalIP.py +32 -0
  1916. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress20.py +16 -0
  1917. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress21.py +16 -0
  1918. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress22.py +16 -0
  1919. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress3306.py +17 -0
  1920. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress3389.py +16 -0
  1921. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeFirewallUnrestrictedIngress80.py +16 -0
  1922. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeIPForward.py +39 -0
  1923. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeInstanceOSLogin.py +34 -0
  1924. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeProjectOSLogin.py +20 -0
  1925. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeSSLPolicy.py +39 -0
  1926. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeSerialPorts.py +33 -0
  1927. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleComputeShieldedVM.py +41 -0
  1928. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleFolderBasicRole.py +14 -0
  1929. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleFolderImpersonationRole.py +14 -0
  1930. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleFolderMemberDefaultServiceAccount.py +14 -0
  1931. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleKMSKeyIsPublic.py +57 -0
  1932. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleKMSPreventDestroy.py +23 -0
  1933. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleKMSRotationPeriod.py +38 -0
  1934. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleOrgBasicRole.py +14 -0
  1935. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleOrgImpersonationRole.py +14 -0
  1936. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleOrgMemberDefaultServiceAccount.py +14 -0
  1937. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleProjectAdminServiceAccount.py +28 -0
  1938. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleProjectBasicRole.py +14 -0
  1939. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleProjectDefaultNetwork.py +25 -0
  1940. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleProjectImpersonationRole.py +14 -0
  1941. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleProjectMemberDefaultServiceAccount.py +14 -0
  1942. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleRoleServiceAccountUser.py +25 -0
  1943. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleStorageBucketNotPublic.py +26 -0
  1944. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleStorageBucketUniformAccess.py +17 -0
  1945. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleStoragePublicAccessPrevention.py +22 -0
  1946. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleSubnetworkIPV6PrivateGoogleEnabled.py +33 -0
  1947. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleSubnetworkLoggingEnabled.py +31 -0
  1948. s1_cns_cli/s1graph/terraform/checks/resource/gcp/GoogleSubnetworkPrivateGoogleEnabled.py +28 -0
  1949. s1_cns_cli/s1graph/terraform/checks/resource/gcp/MemorystoreForRedisAuthEnabled.py +23 -0
  1950. s1_cns_cli/s1graph/terraform/checks/resource/gcp/MemorystoreForRedisInTransitEncryption.py +21 -0
  1951. s1_cns_cli/s1graph/terraform/checks/resource/gcp/PubSubPrivateTopic.py +45 -0
  1952. s1_cns_cli/s1graph/terraform/checks/resource/gcp/SpannerDatabaseEncryptedWithCMK.py +21 -0
  1953. s1_cns_cli/s1graph/terraform/checks/resource/gcp/VertexAIDatasetEncryptedWithCMK.py +21 -0
  1954. s1_cns_cli/s1graph/terraform/checks/resource/gcp/VertexAIMetadataStoreEncryptedWithCMK.py +21 -0
  1955. s1_cns_cli/s1graph/terraform/checks/resource/gcp/VertexAIPrivateInstance.py +23 -0
  1956. s1_cns_cli/s1graph/terraform/checks/resource/gcp/__init__.py +5 -0
  1957. s1_cns_cli/s1graph/terraform/checks/resource/github/BranchProtectionRequireSignedCommits.py +23 -0
  1958. s1_cns_cli/s1graph/terraform/checks/resource/github/BranchProtectionReviewNumTwo.py +30 -0
  1959. s1_cns_cli/s1graph/terraform/checks/resource/github/PrivateRepo.py +23 -0
  1960. s1_cns_cli/s1graph/terraform/checks/resource/github/RepositoryEnableVulnerabilityAlerts.py +33 -0
  1961. s1_cns_cli/s1graph/terraform/checks/resource/github/SecretsEncrypted.py +37 -0
  1962. s1_cns_cli/s1graph/terraform/checks/resource/github/WebhookInsecureSsl.py +23 -0
  1963. s1_cns_cli/s1graph/terraform/checks/resource/github/__init__.py +4 -0
  1964. s1_cns_cli/s1graph/terraform/checks/resource/gitlab/ForcePushDisabled.py +23 -0
  1965. s1_cns_cli/s1graph/terraform/checks/resource/gitlab/PreventSecretsEnabled.py +23 -0
  1966. s1_cns_cli/s1graph/terraform/checks/resource/gitlab/RejectUnsignedCommits.py +23 -0
  1967. s1_cns_cli/s1graph/terraform/checks/resource/gitlab/RequireTwoApprovalsToMerge.py +28 -0
  1968. s1_cns_cli/s1graph/terraform/checks/resource/gitlab/__init__.py +4 -0
  1969. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/AllowPrivilegeEscalation.py +55 -0
  1970. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/AllowPrivilegeEscalationPSP.py +32 -0
  1971. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/AllowedCapabilities.py +54 -0
  1972. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/AllowedCapabilitiesPSP.py +27 -0
  1973. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/AllowedCapabilitiesSysAdmin.py +51 -0
  1974. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/CPULimits.py +56 -0
  1975. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/CPURequests.py +52 -0
  1976. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ContainerSecurityContext.py +45 -0
  1977. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DefaultNamespace.py +40 -0
  1978. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DefaultServiceAccount.py +34 -0
  1979. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DefaultServiceAccountBinding.py +26 -0
  1980. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DockerSocketVolume.py +57 -0
  1981. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DropCapabilities.py +68 -0
  1982. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/DropCapabilitiesPSP.py +33 -0
  1983. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/HostPort.py +58 -0
  1984. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ImageDigest.py +51 -0
  1985. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ImagePullPolicyAlways.py +58 -0
  1986. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ImageTagFixed.py +55 -0
  1987. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/LivenessProbe.py +52 -0
  1988. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/MemoryLimits.py +53 -0
  1989. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/MemoryRequests.py +52 -0
  1990. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/MinimiseCapabilities.py +54 -0
  1991. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/MinimiseCapabilitiesPSP.py +32 -0
  1992. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/PodSecurityContext.py +57 -0
  1993. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/PrivilegedContainer.py +47 -0
  1994. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/PrivilegedContainerPSP.py +28 -0
  1995. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ReadinessProbe.py +56 -0
  1996. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ReadonlyRootFilesystem.py +41 -0
  1997. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/RootContainerPSP.py +35 -0
  1998. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/SeccompPSP.py +31 -0
  1999. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/Secrets.py +61 -0
  2000. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ShareHostIPC.py +28 -0
  2001. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ShareHostIPCPSP.py +25 -0
  2002. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ShareHostPID.py +29 -0
  2003. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/ShareHostPIDPSP.py +26 -0
  2004. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/SharedHostNetworkNamespace.py +29 -0
  2005. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/SharedHostNetworkNamespacePSP.py +26 -0
  2006. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/Tiller.py +77 -0
  2007. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/TillerService.py +51 -0
  2008. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/WildcardRoles.py +34 -0
  2009. s1_cns_cli/s1graph/terraform/checks/resource/kubernetes/__init__.py +4 -0
  2010. s1_cns_cli/s1graph/terraform/checks/resource/linode/__init__.py +4 -0
  2011. s1_cns_cli/s1graph/terraform/checks/resource/linode/authorized_keys.py +23 -0
  2012. s1_cns_cli/s1graph/terraform/checks/resource/linode/firewall_inbound_policy.py +22 -0
  2013. s1_cns_cli/s1graph/terraform/checks/resource/linode/firewall_outbound_policy.py +22 -0
  2014. s1_cns_cli/s1graph/terraform/checks/resource/linode/user_email_set.py +23 -0
  2015. s1_cns_cli/s1graph/terraform/checks/resource/linode/user_username_set.py +23 -0
  2016. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupInboundRule.py +58 -0
  2017. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupInboundRulePort22.py +9 -0
  2018. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupInboundRulePort3389.py +9 -0
  2019. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupInboundRulePort80.py +9 -0
  2020. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupOutboundRule.py +25 -0
  2021. s1_cns_cli/s1graph/terraform/checks/resource/ncp/AccessControlGroupRuleDescription.py +47 -0
  2022. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LBListenerUsesSecureProtocols.py +24 -0
  2023. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LBListenerUsingHTTPS.py +23 -0
  2024. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LBNetworkPrivate.py +24 -0
  2025. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LBTargetGroupDefinesHealthCheck.py +28 -0
  2026. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LBTargetGroupUsingHTTPS.py +23 -0
  2027. s1_cns_cli/s1graph/terraform/checks/resource/ncp/LaunchConfigurationEncryptionVPC.py +17 -0
  2028. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLInbound20.py +9 -0
  2029. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLInbound21.py +9 -0
  2030. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLInbound22.py +9 -0
  2031. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLInbound3389.py +9 -0
  2032. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLInboundCheck.py +27 -0
  2033. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NACLPortCheck.py +24 -0
  2034. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NASEncryptionEnabled.py +17 -0
  2035. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NKSControlPlaneLogging.py +17 -0
  2036. s1_cns_cli/s1graph/terraform/checks/resource/ncp/NKSPublicAccess.py +20 -0
  2037. s1_cns_cli/s1graph/terraform/checks/resource/ncp/RouteTableNATGatewayDefault.py +24 -0
  2038. s1_cns_cli/s1graph/terraform/checks/resource/ncp/ServerEncryptionVPC.py +17 -0
  2039. s1_cns_cli/s1graph/terraform/checks/resource/ncp/ServerPublicIP.py +21 -0
  2040. s1_cns_cli/s1graph/terraform/checks/resource/ncp/__init__.py +4 -0
  2041. s1_cns_cli/s1graph/terraform/checks/resource/oci/AbsSecurityGroupUnrestrictedIngress.py +39 -0
  2042. s1_cns_cli/s1graph/terraform/checks/resource/oci/AbsSecurityListUnrestrictedIngress.py +45 -0
  2043. s1_cns_cli/s1graph/terraform/checks/resource/oci/FileSystemEncryption.py +21 -0
  2044. s1_cns_cli/s1graph/terraform/checks/resource/oci/IAMPasswordLength.py +31 -0
  2045. s1_cns_cli/s1graph/terraform/checks/resource/oci/IAMPasswordPolicyLowerCase.py +20 -0
  2046. s1_cns_cli/s1graph/terraform/checks/resource/oci/IAMPasswordPolicyNumeric.py +20 -0
  2047. s1_cns_cli/s1graph/terraform/checks/resource/oci/IAMPasswordPolicySpecialCharacters.py +20 -0
  2048. s1_cns_cli/s1graph/terraform/checks/resource/oci/IAMPasswordPolicyUpperCase.py +20 -0
  2049. s1_cns_cli/s1graph/terraform/checks/resource/oci/InstanceBootVolumeIntransitEncryption.py +20 -0
  2050. s1_cns_cli/s1graph/terraform/checks/resource/oci/InstanceMetadataServiceEnabled.py +22 -0
  2051. s1_cns_cli/s1graph/terraform/checks/resource/oci/InstanceMonitoringEnabled.py +24 -0
  2052. s1_cns_cli/s1graph/terraform/checks/resource/oci/ObjectStorageEmitEvents.py +20 -0
  2053. s1_cns_cli/s1graph/terraform/checks/resource/oci/ObjectStorageEncryption.py +21 -0
  2054. s1_cns_cli/s1graph/terraform/checks/resource/oci/ObjectStoragePublic.py +20 -0
  2055. s1_cns_cli/s1graph/terraform/checks/resource/oci/ObjectStorageVersioning.py +20 -0
  2056. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityGroupUnrestrictedIngress22.py +10 -0
  2057. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityGroupsIngressStatelessSecurityRules.py +29 -0
  2058. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityListIngress.py +21 -0
  2059. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityListIngressStateless.py +34 -0
  2060. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityListUnrestrictedIngress22.py +9 -0
  2061. s1_cns_cli/s1graph/terraform/checks/resource/oci/SecurityListUnrestrictedIngress3389.py +9 -0
  2062. s1_cns_cli/s1graph/terraform/checks/resource/oci/StorageBlockBackupEnabled.py +22 -0
  2063. s1_cns_cli/s1graph/terraform/checks/resource/oci/StorageBlockEncryption.py +23 -0
  2064. s1_cns_cli/s1graph/terraform/checks/resource/oci/__init__.py +4 -0
  2065. s1_cns_cli/s1graph/terraform/checks/resource/openstack/AbsSecurityGroupUnrestrictedIngress.py +77 -0
  2066. s1_cns_cli/s1graph/terraform/checks/resource/openstack/ComputeInstanceAdminPassword.py +32 -0
  2067. s1_cns_cli/s1graph/terraform/checks/resource/openstack/FirewallRuleSetDestinationIP.py +28 -0
  2068. s1_cns_cli/s1graph/terraform/checks/resource/openstack/SecurityGroupUnrestrictedIngress22.py +9 -0
  2069. s1_cns_cli/s1graph/terraform/checks/resource/openstack/SecurityGroupUnrestrictedIngress3389.py +9 -0
  2070. s1_cns_cli/s1graph/terraform/checks/resource/openstack/__init__.py +5 -0
  2071. s1_cns_cli/s1graph/terraform/checks/resource/panos/InterfaceMgmtProfileNoHTTP.py +20 -0
  2072. s1_cns_cli/s1graph/terraform/checks/resource/panos/InterfaceMgmtProfileNoTelnet.py +20 -0
  2073. s1_cns_cli/s1graph/terraform/checks/resource/panos/NetworkIPsecAlgorithms.py +43 -0
  2074. s1_cns_cli/s1graph/terraform/checks/resource/panos/NetworkIPsecAuthAlgorithms.py +43 -0
  2075. s1_cns_cli/s1graph/terraform/checks/resource/panos/NetworkIPsecProtocols.py +20 -0
  2076. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyDescription.py +50 -0
  2077. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyLogForwarding.py +50 -0
  2078. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyLoggingEnabled.py +49 -0
  2079. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyNoApplicationAny.py +51 -0
  2080. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyNoDSRI.py +48 -0
  2081. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyNoServiceAny.py +51 -0
  2082. s1_cns_cli/s1graph/terraform/checks/resource/panos/PolicyNoSrcAnyDstAny.py +70 -0
  2083. s1_cns_cli/s1graph/terraform/checks/resource/panos/ZoneProtectionProfile.py +43 -0
  2084. s1_cns_cli/s1graph/terraform/checks/resource/panos/ZoneUserIDIncludeACL.py +55 -0
  2085. s1_cns_cli/s1graph/terraform/checks/resource/panos/__init__.py +5 -0
  2086. s1_cns_cli/s1graph/terraform/checks/resource/registry.py +4 -0
  2087. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ComputeInstanceGroupPublicIP.py +29 -0
  2088. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ComputeInstanceGroupSecurityGroup.py +23 -0
  2089. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ComputeVMPublicIP.py +28 -0
  2090. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ComputeVMSecurityGroup.py +23 -0
  2091. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ComputeVMSerialConsole.py +28 -0
  2092. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/IAMCloudElevatedMembers.py +26 -0
  2093. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/IAMFolderElevatedMembers.py +26 -0
  2094. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/IAMOrganizationElevatedMembers.py +29 -0
  2095. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/IAMPassportAccountUsage.py +57 -0
  2096. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SAutoUpgrade.py +28 -0
  2097. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SEtcdKMSEncryption.py +23 -0
  2098. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SNetworkPolicy.py +23 -0
  2099. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SNodeGroupAutoUpgrade.py +29 -0
  2100. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SNodeGroupPublicIP.py +28 -0
  2101. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SNodeGroupSecurityGroup.py +23 -0
  2102. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SPublicIP.py +29 -0
  2103. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/K8SSecurityGroup.py +23 -0
  2104. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/KMSSymmetricKeyRotation.py +23 -0
  2105. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/MDBPublicIP.py +41 -0
  2106. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/MDBSecurityGroup.py +33 -0
  2107. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ObjectStorageBucketEncryption.py +23 -0
  2108. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/ObjectStorageBucketPublicAccess.py +34 -0
  2109. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/VPCSecurityGroupAllowAll.py +38 -0
  2110. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/VPCSecurityGroupRuleAllowAll.py +38 -0
  2111. s1_cns_cli/s1graph/terraform/checks/resource/yandexcloud/__init__.py +4 -0
  2112. s1_cns_cli/s1graph/terraform/checks/utils/__init__.py +0 -0
  2113. s1_cns_cli/s1graph/terraform/checks/utils/base_cloudsplaining_iam_scanner.py +53 -0
  2114. s1_cns_cli/s1graph/terraform/checks/utils/consts.py +0 -0
  2115. s1_cns_cli/s1graph/terraform/checks/utils/dependency_path_handler.py +13 -0
  2116. s1_cns_cli/s1graph/terraform/checks/utils/iam_terraform_document_to_policy_converter.py +25 -0
  2117. s1_cns_cli/s1graph/terraform/context_parsers/__init__.py +1 -0
  2118. s1_cns_cli/s1graph/terraform/context_parsers/base_parser.py +186 -0
  2119. s1_cns_cli/s1graph/terraform/context_parsers/parsers/__init__.py +4 -0
  2120. s1_cns_cli/s1graph/terraform/context_parsers/parsers/data_context_parser.py +32 -0
  2121. s1_cns_cli/s1graph/terraform/context_parsers/parsers/locals_context_parser.py +40 -0
  2122. s1_cns_cli/s1graph/terraform/context_parsers/parsers/module_context_parser.py +29 -0
  2123. s1_cns_cli/s1graph/terraform/context_parsers/parsers/provider_context_parser.py +59 -0
  2124. s1_cns_cli/s1graph/terraform/context_parsers/parsers/resource_context_parser.py +36 -0
  2125. s1_cns_cli/s1graph/terraform/context_parsers/parsers/variable_context_parser.py +42 -0
  2126. s1_cns_cli/s1graph/terraform/context_parsers/registry.py +48 -0
  2127. s1_cns_cli/s1graph/terraform/context_parsers/tf_plan/__init__.py +34 -0
  2128. s1_cns_cli/s1graph/terraform/deep_analysis_plan_graph_manager.py +50 -0
  2129. s1_cns_cli/s1graph/terraform/evaluation/__init__.py +0 -0
  2130. s1_cns_cli/s1graph/terraform/evaluation/base_variable_evaluation.py +71 -0
  2131. s1_cns_cli/s1graph/terraform/graph_builder/EncryptionCalculation.md +45 -0
  2132. s1_cns_cli/s1graph/terraform/graph_builder/__init__.py +0 -0
  2133. s1_cns_cli/s1graph/terraform/graph_builder/foreach/__init__.py +0 -0
  2134. s1_cns_cli/s1graph/terraform/graph_builder/foreach/abstract_handler.py +248 -0
  2135. s1_cns_cli/s1graph/terraform/graph_builder/foreach/builder.py +25 -0
  2136. s1_cns_cli/s1graph/terraform/graph_builder/foreach/consts.py +14 -0
  2137. s1_cns_cli/s1graph/terraform/graph_builder/foreach/module_handler.py +271 -0
  2138. s1_cns_cli/s1graph/terraform/graph_builder/foreach/resource_handler.py +110 -0
  2139. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/__init__.py +0 -0
  2140. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/attribute_names.py +0 -0
  2141. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/block_types.py +15 -0
  2142. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/blocks.py +181 -0
  2143. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/generic_resource_encryption.py +122 -0
  2144. s1_cns_cli/s1graph/terraform/graph_builder/graph_components/module.py +271 -0
  2145. s1_cns_cli/s1graph/terraform/graph_builder/graph_to_tf_definitions.py +43 -0
  2146. s1_cns_cli/s1graph/terraform/graph_builder/local_graph.py +710 -0
  2147. s1_cns_cli/s1graph/terraform/graph_builder/utils.py +300 -0
  2148. s1_cns_cli/s1graph/terraform/graph_builder/variable_rendering/__init__.py +0 -0
  2149. s1_cns_cli/s1graph/terraform/graph_builder/variable_rendering/evaluate_terraform.py +583 -0
  2150. s1_cns_cli/s1graph/terraform/graph_builder/variable_rendering/renderer.py +588 -0
  2151. s1_cns_cli/s1graph/terraform/graph_builder/variable_rendering/safe_eval_functions.py +344 -0
  2152. s1_cns_cli/s1graph/terraform/graph_builder/variable_rendering/vertex_reference.py +17 -0
  2153. s1_cns_cli/s1graph/terraform/graph_manager.py +63 -0
  2154. s1_cns_cli/s1graph/terraform/image_referencer/__init__.py +0 -0
  2155. s1_cns_cli/s1graph/terraform/image_referencer/base_provider.py +57 -0
  2156. s1_cns_cli/s1graph/terraform/image_referencer/manager.py +27 -0
  2157. s1_cns_cli/s1graph/terraform/image_referencer/provider/__init__.py +0 -0
  2158. s1_cns_cli/s1graph/terraform/image_referencer/provider/aws.py +97 -0
  2159. s1_cns_cli/s1graph/terraform/image_referencer/provider/azure.py +111 -0
  2160. s1_cns_cli/s1graph/terraform/image_referencer/provider/gcp.py +70 -0
  2161. s1_cns_cli/s1graph/terraform/module_loading/__init__.py +8 -0
  2162. s1_cns_cli/s1graph/terraform/module_loading/content.py +39 -0
  2163. s1_cns_cli/s1graph/terraform/module_loading/loader.py +74 -0
  2164. s1_cns_cli/s1graph/terraform/module_loading/loaders/__init__.py +5 -0
  2165. s1_cns_cli/s1graph/terraform/module_loading/loaders/bitbucket_access_token_loader.py +19 -0
  2166. s1_cns_cli/s1graph/terraform/module_loading/loaders/bitbucket_loader.py +10 -0
  2167. s1_cns_cli/s1graph/terraform/module_loading/loaders/git_loader.py +145 -0
  2168. s1_cns_cli/s1graph/terraform/module_loading/loaders/github_access_token_loader.py +38 -0
  2169. s1_cns_cli/s1graph/terraform/module_loading/loaders/github_loader.py +21 -0
  2170. s1_cns_cli/s1graph/terraform/module_loading/loaders/local_path_loader.py +49 -0
  2171. s1_cns_cli/s1graph/terraform/module_loading/loaders/registry_loader.py +210 -0
  2172. s1_cns_cli/s1graph/terraform/module_loading/loaders/versions_parser.py +68 -0
  2173. s1_cns_cli/s1graph/terraform/module_loading/module_finder.py +100 -0
  2174. s1_cns_cli/s1graph/terraform/module_loading/module_params.py +26 -0
  2175. s1_cns_cli/s1graph/terraform/module_loading/registry.py +106 -0
  2176. s1_cns_cli/s1graph/terraform/modules/__init__.py +2 -0
  2177. s1_cns_cli/s1graph/terraform/modules/module_objects.py +94 -0
  2178. s1_cns_cli/s1graph/terraform/modules/module_utils.py +288 -0
  2179. s1_cns_cli/s1graph/terraform/parser.py +650 -0
  2180. s1_cns_cli/s1graph/terraform/parser_functions.py +207 -0
  2181. s1_cns_cli/s1graph/terraform/plan_parser.py +330 -0
  2182. s1_cns_cli/s1graph/terraform/plan_runner.py +292 -0
  2183. s1_cns_cli/s1graph/terraform/plan_utils.py +137 -0
  2184. s1_cns_cli/s1graph/terraform/runner.py +694 -0
  2185. s1_cns_cli/s1graph/terraform/tag_providers/__init__.py +21 -0
  2186. s1_cns_cli/s1graph/terraform/tag_providers/aws.py +7 -0
  2187. s1_cns_cli/s1graph/terraform/tag_providers/azure.py +7 -0
  2188. s1_cns_cli/s1graph/terraform/tag_providers/gcp.py +7 -0
  2189. s1_cns_cli/s1graph/terraform/tf_parser.py +563 -0
  2190. s1_cns_cli/s1graph/terraform_json/__init__.py +0 -0
  2191. s1_cns_cli/s1graph/terraform_json/parser.py +199 -0
  2192. s1_cns_cli/s1graph/terraform_json/runner.py +230 -0
  2193. s1_cns_cli/s1graph/terraform_json/utils.py +67 -0
  2194. s1_cns_cli/s1graph/version.py +1 -0
  2195. s1_cns_cli/s1graph/yaml_doc/__init__.py +0 -0
  2196. s1_cns_cli/s1graph/yaml_doc/base_registry.py +349 -0
  2197. s1_cns_cli/s1graph/yaml_doc/base_yaml_check.py +28 -0
  2198. s1_cns_cli/s1graph/yaml_doc/enums.py +8 -0
  2199. s1_cns_cli/s1graph/yaml_doc/registry.py +4 -0
  2200. s1_cns_cli/s1graph/yaml_doc/runner.py +128 -0
  2201. s1_cns_cli/sentry.py +39 -0
  2202. s1_cns_cli/version.py +2 -0
  2203. s1_shift_left_cli-0.4.0.dist-info/LICENSE +5 -0
  2204. s1_shift_left_cli-0.4.0.dist-info/METADATA +113 -0
  2205. s1_shift_left_cli-0.4.0.dist-info/RECORD +2207 -0
  2206. s1_shift_left_cli-0.4.0.dist-info/WHEEL +4 -0
  2207. s1_shift_left_cli-0.4.0.dist-info/entry_points.txt +5 -0
@@ -0,0 +1,2685 @@
1
+ from s1_cns_cli.s1graph.common.vcs.vcs_schema import VCSSchema
2
+
3
+
4
+ class BranchSchema(VCSSchema):
5
+ def __init__(self) -> None:
6
+ schema = {
7
+ "title": "Branch With Protection",
8
+ "description": "Branch With Protection",
9
+ "type": "object",
10
+ "properties": {
11
+ "name": {
12
+ "type": "string"
13
+ },
14
+ "commit": {
15
+ "title": "Commit",
16
+ "description": "Commit",
17
+ "type": "object",
18
+ "properties": {
19
+ "url": {
20
+ "type": "string",
21
+ "format": "uri"
22
+ },
23
+ "sha": {
24
+ "type": "string"
25
+ },
26
+ "node_id": {
27
+ "type": "string"
28
+ },
29
+ "html_url": {
30
+ "type": "string",
31
+ "format": "uri"
32
+ },
33
+ "comments_url": {
34
+ "type": "string",
35
+ "format": "uri",
36
+ "examples": [
37
+ "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments"
38
+ ]
39
+ },
40
+ "commit": {
41
+ "type": "object",
42
+ "properties": {
43
+ "url": {
44
+ "type": "string",
45
+ "format": "uri",
46
+ "examples": [
47
+ "https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e"
48
+ ]
49
+ },
50
+ "author": {
51
+ "anyOf": [
52
+ {
53
+ "type": "null"
54
+ },
55
+ {
56
+ "title": "Git User",
57
+ "description": "Metaproperties for Git author/committer information.",
58
+ "type": "object",
59
+ "properties": {
60
+ "name": {
61
+ "type": "string",
62
+ "examples": [
63
+ "\"Chris Wanstrath\""
64
+ ]
65
+ },
66
+ "email": {
67
+ "type": "string",
68
+ "examples": [
69
+ "\"chris@ozmm.org\""
70
+ ]
71
+ },
72
+ "date": {
73
+ "type": "string",
74
+ "examples": [
75
+ "\"2007-10-29T02:42:39.000-07:00\""
76
+ ]
77
+ }
78
+ }
79
+ }
80
+ ]
81
+ },
82
+ "committer": {
83
+ "anyOf": [
84
+ {
85
+ "type": "null"
86
+ },
87
+ {
88
+ "title": "Git User",
89
+ "description": "Metaproperties for Git author/committer information.",
90
+ "type": "object",
91
+ "properties": {
92
+ "name": {
93
+ "type": "string",
94
+ "examples": [
95
+ "\"Chris Wanstrath\""
96
+ ]
97
+ },
98
+ "email": {
99
+ "type": "string",
100
+ "examples": [
101
+ "\"chris@ozmm.org\""
102
+ ]
103
+ },
104
+ "date": {
105
+ "type": "string",
106
+ "examples": [
107
+ "\"2007-10-29T02:42:39.000-07:00\""
108
+ ]
109
+ }
110
+ }
111
+ }
112
+ ]
113
+ },
114
+ "message": {
115
+ "type": "string",
116
+ "examples": [
117
+ "Fix all the bugs"
118
+ ]
119
+ },
120
+ "comment_count": {
121
+ "type": "integer",
122
+ "examples": [
123
+ 0
124
+ ]
125
+ },
126
+ "tree": {
127
+ "type": "object",
128
+ "properties": {
129
+ "sha": {
130
+ "type": "string",
131
+ "examples": [
132
+ "827efc6d56897b048c772eb4087f854f46256132"
133
+ ]
134
+ },
135
+ "url": {
136
+ "type": "string",
137
+ "format": "uri",
138
+ "examples": [
139
+ "https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132"
140
+ ]
141
+ }
142
+ },
143
+ "required": [
144
+ "sha",
145
+ "url"
146
+ ]
147
+ },
148
+ "verification": {
149
+ "title": "Verification",
150
+ "type": "object",
151
+ "properties": {
152
+ "verified": {
153
+ "type": "boolean"
154
+ },
155
+ "reason": {
156
+ "type": "string"
157
+ },
158
+ "payload": {
159
+ "type": [
160
+ "string",
161
+ "null"
162
+ ]
163
+ },
164
+ "signature": {
165
+ "type": [
166
+ "string",
167
+ "null"
168
+ ]
169
+ }
170
+ },
171
+ "required": [
172
+ "verified",
173
+ "reason",
174
+ "payload",
175
+ "signature"
176
+ ]
177
+ }
178
+ },
179
+ "required": [
180
+ "author",
181
+ "committer",
182
+ "comment_count",
183
+ "message",
184
+ "tree",
185
+ "url"
186
+ ]
187
+ },
188
+ "author": {
189
+ "anyOf": [
190
+ {
191
+ "type": "null"
192
+ },
193
+ {
194
+ "title": "Simple User",
195
+ "description": "A GitHub user.",
196
+ "type": "object",
197
+ "properties": {
198
+ "name": {
199
+ "type": [
200
+ "string",
201
+ "null"
202
+ ]
203
+ },
204
+ "email": {
205
+ "type": [
206
+ "string",
207
+ "null"
208
+ ]
209
+ },
210
+ "login": {
211
+ "type": "string",
212
+ "examples": [
213
+ "octocat"
214
+ ]
215
+ },
216
+ "id": {
217
+ "type": "integer",
218
+ "examples": [
219
+ 1
220
+ ]
221
+ },
222
+ "node_id": {
223
+ "type": "string",
224
+ "examples": [
225
+ "MDQ6VXNlcjE="
226
+ ]
227
+ },
228
+ "avatar_url": {
229
+ "type": "string",
230
+ "format": "uri",
231
+ "examples": [
232
+ "https://github.com/images/error/octocat_happy.gif"
233
+ ]
234
+ },
235
+ "gravatar_id": {
236
+ "type": [
237
+ "string",
238
+ "null"
239
+ ],
240
+ "examples": [
241
+ "41d064eb2195891e12d0413f63227ea7"
242
+ ]
243
+ },
244
+ "url": {
245
+ "type": "string",
246
+ "format": "uri",
247
+ "examples": [
248
+ "https://api.github.com/users/octocat"
249
+ ]
250
+ },
251
+ "html_url": {
252
+ "type": "string",
253
+ "format": "uri",
254
+ "examples": [
255
+ "https://github.com/octocat"
256
+ ]
257
+ },
258
+ "followers_url": {
259
+ "type": "string",
260
+ "format": "uri",
261
+ "examples": [
262
+ "https://api.github.com/users/octocat/followers"
263
+ ]
264
+ },
265
+ "following_url": {
266
+ "type": "string",
267
+ "examples": [
268
+ "https://api.github.com/users/octocat/following{/other_user}"
269
+ ]
270
+ },
271
+ "gists_url": {
272
+ "type": "string",
273
+ "examples": [
274
+ "https://api.github.com/users/octocat/gists{/gist_id}"
275
+ ]
276
+ },
277
+ "starred_url": {
278
+ "type": "string",
279
+ "examples": [
280
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
281
+ ]
282
+ },
283
+ "subscriptions_url": {
284
+ "type": "string",
285
+ "format": "uri",
286
+ "examples": [
287
+ "https://api.github.com/users/octocat/subscriptions"
288
+ ]
289
+ },
290
+ "organizations_url": {
291
+ "type": "string",
292
+ "format": "uri",
293
+ "examples": [
294
+ "https://api.github.com/users/octocat/orgs"
295
+ ]
296
+ },
297
+ "repos_url": {
298
+ "type": "string",
299
+ "format": "uri",
300
+ "examples": [
301
+ "https://api.github.com/users/octocat/repos"
302
+ ]
303
+ },
304
+ "events_url": {
305
+ "type": "string",
306
+ "examples": [
307
+ "https://api.github.com/users/octocat/events{/privacy}"
308
+ ]
309
+ },
310
+ "received_events_url": {
311
+ "type": "string",
312
+ "format": "uri",
313
+ "examples": [
314
+ "https://api.github.com/users/octocat/received_events"
315
+ ]
316
+ },
317
+ "type": {
318
+ "type": "string",
319
+ "examples": [
320
+ "User"
321
+ ]
322
+ },
323
+ "site_admin": {
324
+ "type": "boolean"
325
+ },
326
+ "starred_at": {
327
+ "type": "string",
328
+ "examples": [
329
+ "\"2020-07-09T00:17:55Z\""
330
+ ]
331
+ }
332
+ },
333
+ "required": [
334
+ "avatar_url",
335
+ "events_url",
336
+ "followers_url",
337
+ "following_url",
338
+ "gists_url",
339
+ "gravatar_id",
340
+ "html_url",
341
+ "id",
342
+ "node_id",
343
+ "login",
344
+ "organizations_url",
345
+ "received_events_url",
346
+ "repos_url",
347
+ "site_admin",
348
+ "starred_url",
349
+ "subscriptions_url",
350
+ "type",
351
+ "url"
352
+ ]
353
+ }
354
+ ]
355
+ },
356
+ "committer": {
357
+ "anyOf": [
358
+ {
359
+ "type": "null"
360
+ },
361
+ {
362
+ "title": "Simple User",
363
+ "description": "A GitHub user.",
364
+ "type": "object",
365
+ "properties": {
366
+ "name": {
367
+ "type": [
368
+ "string",
369
+ "null"
370
+ ]
371
+ },
372
+ "email": {
373
+ "type": [
374
+ "string",
375
+ "null"
376
+ ]
377
+ },
378
+ "login": {
379
+ "type": "string",
380
+ "examples": [
381
+ "octocat"
382
+ ]
383
+ },
384
+ "id": {
385
+ "type": "integer",
386
+ "examples": [
387
+ 1
388
+ ]
389
+ },
390
+ "node_id": {
391
+ "type": "string",
392
+ "examples": [
393
+ "MDQ6VXNlcjE="
394
+ ]
395
+ },
396
+ "avatar_url": {
397
+ "type": "string",
398
+ "format": "uri",
399
+ "examples": [
400
+ "https://github.com/images/error/octocat_happy.gif"
401
+ ]
402
+ },
403
+ "gravatar_id": {
404
+ "type": [
405
+ "string",
406
+ "null"
407
+ ],
408
+ "examples": [
409
+ "41d064eb2195891e12d0413f63227ea7"
410
+ ]
411
+ },
412
+ "url": {
413
+ "type": "string",
414
+ "format": "uri",
415
+ "examples": [
416
+ "https://api.github.com/users/octocat"
417
+ ]
418
+ },
419
+ "html_url": {
420
+ "type": "string",
421
+ "format": "uri",
422
+ "examples": [
423
+ "https://github.com/octocat"
424
+ ]
425
+ },
426
+ "followers_url": {
427
+ "type": "string",
428
+ "format": "uri",
429
+ "examples": [
430
+ "https://api.github.com/users/octocat/followers"
431
+ ]
432
+ },
433
+ "following_url": {
434
+ "type": "string",
435
+ "examples": [
436
+ "https://api.github.com/users/octocat/following{/other_user}"
437
+ ]
438
+ },
439
+ "gists_url": {
440
+ "type": "string",
441
+ "examples": [
442
+ "https://api.github.com/users/octocat/gists{/gist_id}"
443
+ ]
444
+ },
445
+ "starred_url": {
446
+ "type": "string",
447
+ "examples": [
448
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
449
+ ]
450
+ },
451
+ "subscriptions_url": {
452
+ "type": "string",
453
+ "format": "uri",
454
+ "examples": [
455
+ "https://api.github.com/users/octocat/subscriptions"
456
+ ]
457
+ },
458
+ "organizations_url": {
459
+ "type": "string",
460
+ "format": "uri",
461
+ "examples": [
462
+ "https://api.github.com/users/octocat/orgs"
463
+ ]
464
+ },
465
+ "repos_url": {
466
+ "type": "string",
467
+ "format": "uri",
468
+ "examples": [
469
+ "https://api.github.com/users/octocat/repos"
470
+ ]
471
+ },
472
+ "events_url": {
473
+ "type": "string",
474
+ "examples": [
475
+ "https://api.github.com/users/octocat/events{/privacy}"
476
+ ]
477
+ },
478
+ "received_events_url": {
479
+ "type": "string",
480
+ "format": "uri",
481
+ "examples": [
482
+ "https://api.github.com/users/octocat/received_events"
483
+ ]
484
+ },
485
+ "type": {
486
+ "type": "string",
487
+ "examples": [
488
+ "User"
489
+ ]
490
+ },
491
+ "site_admin": {
492
+ "type": "boolean"
493
+ },
494
+ "starred_at": {
495
+ "type": "string",
496
+ "examples": [
497
+ "\"2020-07-09T00:17:55Z\""
498
+ ]
499
+ }
500
+ },
501
+ "required": [
502
+ "avatar_url",
503
+ "events_url",
504
+ "followers_url",
505
+ "following_url",
506
+ "gists_url",
507
+ "gravatar_id",
508
+ "html_url",
509
+ "id",
510
+ "node_id",
511
+ "login",
512
+ "organizations_url",
513
+ "received_events_url",
514
+ "repos_url",
515
+ "site_admin",
516
+ "starred_url",
517
+ "subscriptions_url",
518
+ "type",
519
+ "url"
520
+ ]
521
+ }
522
+ ]
523
+ },
524
+ "parents": {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "object",
528
+ "properties": {
529
+ "sha": {
530
+ "type": "string",
531
+ "examples": [
532
+ "7638417db6d59f3c431d3e1f261cc637155684cd"
533
+ ]
534
+ },
535
+ "url": {
536
+ "type": "string",
537
+ "format": "uri",
538
+ "examples": [
539
+ "https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd"
540
+ ]
541
+ },
542
+ "html_url": {
543
+ "type": "string",
544
+ "format": "uri",
545
+ "examples": [
546
+ "https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd"
547
+ ]
548
+ }
549
+ },
550
+ "required": [
551
+ "sha",
552
+ "url"
553
+ ]
554
+ }
555
+ },
556
+ "stats": {
557
+ "type": "object",
558
+ "properties": {
559
+ "additions": {
560
+ "type": "integer"
561
+ },
562
+ "deletions": {
563
+ "type": "integer"
564
+ },
565
+ "total": {
566
+ "type": "integer"
567
+ }
568
+ }
569
+ },
570
+ "files": {
571
+ "type": "array",
572
+ "items": {
573
+ "title": "Diff Entry",
574
+ "description": "Diff Entry",
575
+ "type": "object",
576
+ "properties": {
577
+ "sha": {
578
+ "type": "string",
579
+ "examples": [
580
+ "bbcd538c8e72b8c175046e27cc8f907076331401"
581
+ ]
582
+ },
583
+ "filename": {
584
+ "type": "string",
585
+ "examples": [
586
+ "file1.txt"
587
+ ]
588
+ },
589
+ "status": {
590
+ "type": "string",
591
+ "enum": [
592
+ "added",
593
+ "removed",
594
+ "modified",
595
+ "renamed",
596
+ "copied",
597
+ "changed",
598
+ "unchanged"
599
+ ],
600
+ "examples": [
601
+ "added"
602
+ ]
603
+ },
604
+ "additions": {
605
+ "type": "integer",
606
+ "examples": [
607
+ 103
608
+ ]
609
+ },
610
+ "deletions": {
611
+ "type": "integer",
612
+ "examples": [
613
+ 21
614
+ ]
615
+ },
616
+ "changes": {
617
+ "type": "integer",
618
+ "examples": [
619
+ 124
620
+ ]
621
+ },
622
+ "blob_url": {
623
+ "type": "string",
624
+ "format": "uri",
625
+ "examples": [
626
+ "https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt"
627
+ ]
628
+ },
629
+ "raw_url": {
630
+ "type": "string",
631
+ "format": "uri",
632
+ "examples": [
633
+ "https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt"
634
+ ]
635
+ },
636
+ "contents_url": {
637
+ "type": "string",
638
+ "format": "uri",
639
+ "examples": [
640
+ "https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e"
641
+ ]
642
+ },
643
+ "patch": {
644
+ "type": "string",
645
+ "examples": [
646
+ "@@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test"
647
+ ]
648
+ },
649
+ "previous_filename": {
650
+ "type": "string",
651
+ "examples": [
652
+ "file.txt"
653
+ ]
654
+ }
655
+ },
656
+ "required": [
657
+ "additions",
658
+ "blob_url",
659
+ "changes",
660
+ "contents_url",
661
+ "deletions",
662
+ "filename",
663
+ "raw_url",
664
+ "sha",
665
+ "status"
666
+ ]
667
+ }
668
+ }
669
+ },
670
+ "required": [
671
+ "url",
672
+ "sha",
673
+ "node_id",
674
+ "html_url",
675
+ "comments_url",
676
+ "commit",
677
+ "author",
678
+ "committer",
679
+ "parents"
680
+ ]
681
+ },
682
+ "_links": {
683
+ "type": "object",
684
+ "properties": {
685
+ "html": {
686
+ "type": "string"
687
+ },
688
+ "self": {
689
+ "type": "string",
690
+ "format": "uri"
691
+ }
692
+ },
693
+ "required": [
694
+ "html",
695
+ "self"
696
+ ]
697
+ },
698
+ "protected": {
699
+ "type": "boolean"
700
+ },
701
+ "protection": {
702
+ "title": "Branch Protection",
703
+ "description": "Branch Protection",
704
+ "type": "object",
705
+ "properties": {
706
+ "url": {
707
+ "type": "string"
708
+ },
709
+ "enabled": {
710
+ "type": "boolean"
711
+ },
712
+ "required_status_checks": {
713
+ "title": "Protected Branch Required Status Check",
714
+ "description": "Protected Branch Required Status Check",
715
+ "type": "object",
716
+ "properties": {
717
+ "url": {
718
+ "type": "string"
719
+ },
720
+ "enforcement_level": {
721
+ "type": "string"
722
+ },
723
+ "contexts": {
724
+ "type": "array",
725
+ "items": {
726
+ "type": "string"
727
+ }
728
+ },
729
+ "checks": {
730
+ "type": "array",
731
+ "items": {
732
+ "type": "object",
733
+ "properties": {
734
+ "context": {
735
+ "type": "string"
736
+ },
737
+ "app_id": {
738
+ "type": [
739
+ "integer",
740
+ "null"
741
+ ]
742
+ }
743
+ },
744
+ "required": [
745
+ "context",
746
+ "app_id"
747
+ ]
748
+ }
749
+ },
750
+ "contexts_url": {
751
+ "type": "string"
752
+ },
753
+ "strict": {
754
+ "type": "boolean"
755
+ }
756
+ },
757
+ "required": [
758
+ "contexts",
759
+ "checks"
760
+ ]
761
+ },
762
+ "enforce_admins": {
763
+ "title": "Protected Branch Admin Enforced",
764
+ "description": "Protected Branch Admin Enforced",
765
+ "type": "object",
766
+ "properties": {
767
+ "url": {
768
+ "type": "string",
769
+ "format": "uri",
770
+ "examples": [
771
+ "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins"
772
+ ]
773
+ },
774
+ "enabled": {
775
+ "type": "boolean",
776
+ "examples": [
777
+ True
778
+ ]
779
+ }
780
+ },
781
+ "required": [
782
+ "url",
783
+ "enabled"
784
+ ]
785
+ },
786
+ "required_pull_request_reviews": {
787
+ "title": "Protected Branch Pull Request Review",
788
+ "description": "Protected Branch Pull Request Review",
789
+ "type": "object",
790
+ "properties": {
791
+ "url": {
792
+ "type": "string",
793
+ "format": "uri",
794
+ "examples": [
795
+ "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions"
796
+ ]
797
+ },
798
+ "dismissal_restrictions": {
799
+ "type": "object",
800
+ "properties": {
801
+ "users": {
802
+ "description": "The list of users with review dismissal access.",
803
+ "type": "array",
804
+ "items": {
805
+ "title": "Simple User",
806
+ "description": "A GitHub user.",
807
+ "type": "object",
808
+ "properties": {
809
+ "name": {
810
+ "type": [
811
+ "string",
812
+ "null"
813
+ ]
814
+ },
815
+ "email": {
816
+ "type": [
817
+ "string",
818
+ "null"
819
+ ]
820
+ },
821
+ "login": {
822
+ "type": "string",
823
+ "examples": [
824
+ "octocat"
825
+ ]
826
+ },
827
+ "id": {
828
+ "type": "integer",
829
+ "examples": [
830
+ 1
831
+ ]
832
+ },
833
+ "node_id": {
834
+ "type": "string",
835
+ "examples": [
836
+ "MDQ6VXNlcjE="
837
+ ]
838
+ },
839
+ "avatar_url": {
840
+ "type": "string",
841
+ "format": "uri",
842
+ "examples": [
843
+ "https://github.com/images/error/octocat_happy.gif"
844
+ ]
845
+ },
846
+ "gravatar_id": {
847
+ "type": [
848
+ "string",
849
+ "null"
850
+ ],
851
+ "examples": [
852
+ "41d064eb2195891e12d0413f63227ea7"
853
+ ]
854
+ },
855
+ "url": {
856
+ "type": "string",
857
+ "format": "uri",
858
+ "examples": [
859
+ "https://api.github.com/users/octocat"
860
+ ]
861
+ },
862
+ "html_url": {
863
+ "type": "string",
864
+ "format": "uri",
865
+ "examples": [
866
+ "https://github.com/octocat"
867
+ ]
868
+ },
869
+ "followers_url": {
870
+ "type": "string",
871
+ "format": "uri",
872
+ "examples": [
873
+ "https://api.github.com/users/octocat/followers"
874
+ ]
875
+ },
876
+ "following_url": {
877
+ "type": "string",
878
+ "examples": [
879
+ "https://api.github.com/users/octocat/following{/other_user}"
880
+ ]
881
+ },
882
+ "gists_url": {
883
+ "type": "string",
884
+ "examples": [
885
+ "https://api.github.com/users/octocat/gists{/gist_id}"
886
+ ]
887
+ },
888
+ "starred_url": {
889
+ "type": "string",
890
+ "examples": [
891
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
892
+ ]
893
+ },
894
+ "subscriptions_url": {
895
+ "type": "string",
896
+ "format": "uri",
897
+ "examples": [
898
+ "https://api.github.com/users/octocat/subscriptions"
899
+ ]
900
+ },
901
+ "organizations_url": {
902
+ "type": "string",
903
+ "format": "uri",
904
+ "examples": [
905
+ "https://api.github.com/users/octocat/orgs"
906
+ ]
907
+ },
908
+ "repos_url": {
909
+ "type": "string",
910
+ "format": "uri",
911
+ "examples": [
912
+ "https://api.github.com/users/octocat/repos"
913
+ ]
914
+ },
915
+ "events_url": {
916
+ "type": "string",
917
+ "examples": [
918
+ "https://api.github.com/users/octocat/events{/privacy}"
919
+ ]
920
+ },
921
+ "received_events_url": {
922
+ "type": "string",
923
+ "format": "uri",
924
+ "examples": [
925
+ "https://api.github.com/users/octocat/received_events"
926
+ ]
927
+ },
928
+ "type": {
929
+ "type": "string",
930
+ "examples": [
931
+ "User"
932
+ ]
933
+ },
934
+ "site_admin": {
935
+ "type": "boolean"
936
+ },
937
+ "starred_at": {
938
+ "type": "string",
939
+ "examples": [
940
+ "\"2020-07-09T00:17:55Z\""
941
+ ]
942
+ }
943
+ },
944
+ "required": [
945
+ "avatar_url",
946
+ "events_url",
947
+ "followers_url",
948
+ "following_url",
949
+ "gists_url",
950
+ "gravatar_id",
951
+ "html_url",
952
+ "id",
953
+ "node_id",
954
+ "login",
955
+ "organizations_url",
956
+ "received_events_url",
957
+ "repos_url",
958
+ "site_admin",
959
+ "starred_url",
960
+ "subscriptions_url",
961
+ "type",
962
+ "url"
963
+ ]
964
+ }
965
+ },
966
+ "teams": {
967
+ "description": "The list of teams with review dismissal access.",
968
+ "type": "array",
969
+ "items": {
970
+ "title": "Team",
971
+ "description": "Groups of organization members that gives permissions on specified repositories.",
972
+ "type": "object",
973
+ "properties": {
974
+ "id": {
975
+ "type": "integer"
976
+ },
977
+ "node_id": {
978
+ "type": "string"
979
+ },
980
+ "name": {
981
+ "type": "string"
982
+ },
983
+ "slug": {
984
+ "type": "string"
985
+ },
986
+ "description": {
987
+ "type": [
988
+ "string",
989
+ "null"
990
+ ]
991
+ },
992
+ "privacy": {
993
+ "type": "string"
994
+ },
995
+ "permission": {
996
+ "type": "string"
997
+ },
998
+ "permissions": {
999
+ "type": "object",
1000
+ "properties": {
1001
+ "pull": {
1002
+ "type": "boolean"
1003
+ },
1004
+ "triage": {
1005
+ "type": "boolean"
1006
+ },
1007
+ "push": {
1008
+ "type": "boolean"
1009
+ },
1010
+ "maintain": {
1011
+ "type": "boolean"
1012
+ },
1013
+ "admin": {
1014
+ "type": "boolean"
1015
+ }
1016
+ },
1017
+ "required": [
1018
+ "pull",
1019
+ "triage",
1020
+ "push",
1021
+ "maintain",
1022
+ "admin"
1023
+ ]
1024
+ },
1025
+ "url": {
1026
+ "type": "string",
1027
+ "format": "uri"
1028
+ },
1029
+ "html_url": {
1030
+ "type": "string",
1031
+ "format": "uri",
1032
+ "examples": [
1033
+ "https://github.com/orgs/rails/teams/core"
1034
+ ]
1035
+ },
1036
+ "members_url": {
1037
+ "type": "string"
1038
+ },
1039
+ "repositories_url": {
1040
+ "type": "string",
1041
+ "format": "uri"
1042
+ },
1043
+ "parent": {
1044
+ "anyOf": [
1045
+ {
1046
+ "type": "null"
1047
+ },
1048
+ {
1049
+ "title": "Team Simple",
1050
+ "description": "Groups of organization members that gives permissions on specified repositories.",
1051
+ "type": "object",
1052
+ "properties": {
1053
+ "id": {
1054
+ "description": "Unique identifier of the team",
1055
+ "type": "integer",
1056
+ "examples": [
1057
+ 1
1058
+ ]
1059
+ },
1060
+ "node_id": {
1061
+ "type": "string",
1062
+ "examples": [
1063
+ "MDQ6VGVhbTE="
1064
+ ]
1065
+ },
1066
+ "url": {
1067
+ "description": "URL for the team",
1068
+ "type": "string",
1069
+ "format": "uri",
1070
+ "examples": [
1071
+ "https://api.github.com/organizations/1/team/1"
1072
+ ]
1073
+ },
1074
+ "members_url": {
1075
+ "type": "string",
1076
+ "examples": [
1077
+ "https://api.github.com/organizations/1/team/1/members{/member}"
1078
+ ]
1079
+ },
1080
+ "name": {
1081
+ "description": "Name of the team",
1082
+ "type": "string",
1083
+ "examples": [
1084
+ "Justice League"
1085
+ ]
1086
+ },
1087
+ "description": {
1088
+ "description": "Description of the team",
1089
+ "type": [
1090
+ "string",
1091
+ "null"
1092
+ ],
1093
+ "examples": [
1094
+ "A great team."
1095
+ ]
1096
+ },
1097
+ "permission": {
1098
+ "description": "Permission that the team will have for its repositories",
1099
+ "type": "string",
1100
+ "examples": [
1101
+ "admin"
1102
+ ]
1103
+ },
1104
+ "privacy": {
1105
+ "description": "The level of privacy this team should have",
1106
+ "type": "string",
1107
+ "examples": [
1108
+ "closed"
1109
+ ]
1110
+ },
1111
+ "html_url": {
1112
+ "type": "string",
1113
+ "format": "uri",
1114
+ "examples": [
1115
+ "https://github.com/orgs/rails/teams/core"
1116
+ ]
1117
+ },
1118
+ "repositories_url": {
1119
+ "type": "string",
1120
+ "format": "uri",
1121
+ "examples": [
1122
+ "https://api.github.com/organizations/1/team/1/repos"
1123
+ ]
1124
+ },
1125
+ "slug": {
1126
+ "type": "string",
1127
+ "examples": [
1128
+ "justice-league"
1129
+ ]
1130
+ },
1131
+ "ldap_dn": {
1132
+ "description": "Distinguished Name (DN) that team maps to within LDAP environment",
1133
+ "type": "string",
1134
+ "examples": [
1135
+ "uid=example,ou=users,dc=github,dc=com"
1136
+ ]
1137
+ }
1138
+ },
1139
+ "required": [
1140
+ "id",
1141
+ "node_id",
1142
+ "url",
1143
+ "members_url",
1144
+ "name",
1145
+ "description",
1146
+ "permission",
1147
+ "html_url",
1148
+ "repositories_url",
1149
+ "slug"
1150
+ ]
1151
+ }
1152
+ ]
1153
+ }
1154
+ },
1155
+ "required": [
1156
+ "id",
1157
+ "node_id",
1158
+ "url",
1159
+ "members_url",
1160
+ "name",
1161
+ "description",
1162
+ "permission",
1163
+ "html_url",
1164
+ "repositories_url",
1165
+ "slug",
1166
+ "parent"
1167
+ ]
1168
+ }
1169
+ },
1170
+ "apps": {
1171
+ "description": "The list of apps with review dismissal access.",
1172
+ "type": "array",
1173
+ "items": {
1174
+ "title": "GitHub app",
1175
+ "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.",
1176
+ "type": "object",
1177
+ "properties": {
1178
+ "id": {
1179
+ "description": "Unique identifier of the GitHub app",
1180
+ "type": "integer",
1181
+ "examples": [
1182
+ 37
1183
+ ]
1184
+ },
1185
+ "slug": {
1186
+ "description": "The slug name of the GitHub app",
1187
+ "type": "string",
1188
+ "examples": [
1189
+ "probot-owners"
1190
+ ]
1191
+ },
1192
+ "node_id": {
1193
+ "type": "string",
1194
+ "examples": [
1195
+ "MDExOkludGVncmF0aW9uMQ=="
1196
+ ]
1197
+ },
1198
+ "owner": {
1199
+ "anyOf": [
1200
+ {
1201
+ "type": "null"
1202
+ },
1203
+ {
1204
+ "title": "Simple User",
1205
+ "description": "A GitHub user.",
1206
+ "type": "object",
1207
+ "properties": {
1208
+ "name": {
1209
+ "type": [
1210
+ "string",
1211
+ "null"
1212
+ ]
1213
+ },
1214
+ "email": {
1215
+ "type": [
1216
+ "string",
1217
+ "null"
1218
+ ]
1219
+ },
1220
+ "login": {
1221
+ "type": "string",
1222
+ "examples": [
1223
+ "octocat"
1224
+ ]
1225
+ },
1226
+ "id": {
1227
+ "type": "integer",
1228
+ "examples": [
1229
+ 1
1230
+ ]
1231
+ },
1232
+ "node_id": {
1233
+ "type": "string",
1234
+ "examples": [
1235
+ "MDQ6VXNlcjE="
1236
+ ]
1237
+ },
1238
+ "avatar_url": {
1239
+ "type": "string",
1240
+ "format": "uri",
1241
+ "examples": [
1242
+ "https://github.com/images/error/octocat_happy.gif"
1243
+ ]
1244
+ },
1245
+ "gravatar_id": {
1246
+ "type": [
1247
+ "string",
1248
+ "null"
1249
+ ],
1250
+ "examples": [
1251
+ "41d064eb2195891e12d0413f63227ea7"
1252
+ ]
1253
+ },
1254
+ "url": {
1255
+ "type": "string",
1256
+ "format": "uri",
1257
+ "examples": [
1258
+ "https://api.github.com/users/octocat"
1259
+ ]
1260
+ },
1261
+ "html_url": {
1262
+ "type": "string",
1263
+ "format": "uri",
1264
+ "examples": [
1265
+ "https://github.com/octocat"
1266
+ ]
1267
+ },
1268
+ "followers_url": {
1269
+ "type": "string",
1270
+ "format": "uri",
1271
+ "examples": [
1272
+ "https://api.github.com/users/octocat/followers"
1273
+ ]
1274
+ },
1275
+ "following_url": {
1276
+ "type": "string",
1277
+ "examples": [
1278
+ "https://api.github.com/users/octocat/following{/other_user}"
1279
+ ]
1280
+ },
1281
+ "gists_url": {
1282
+ "type": "string",
1283
+ "examples": [
1284
+ "https://api.github.com/users/octocat/gists{/gist_id}"
1285
+ ]
1286
+ },
1287
+ "starred_url": {
1288
+ "type": "string",
1289
+ "examples": [
1290
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
1291
+ ]
1292
+ },
1293
+ "subscriptions_url": {
1294
+ "type": "string",
1295
+ "format": "uri",
1296
+ "examples": [
1297
+ "https://api.github.com/users/octocat/subscriptions"
1298
+ ]
1299
+ },
1300
+ "organizations_url": {
1301
+ "type": "string",
1302
+ "format": "uri",
1303
+ "examples": [
1304
+ "https://api.github.com/users/octocat/orgs"
1305
+ ]
1306
+ },
1307
+ "repos_url": {
1308
+ "type": "string",
1309
+ "format": "uri",
1310
+ "examples": [
1311
+ "https://api.github.com/users/octocat/repos"
1312
+ ]
1313
+ },
1314
+ "events_url": {
1315
+ "type": "string",
1316
+ "examples": [
1317
+ "https://api.github.com/users/octocat/events{/privacy}"
1318
+ ]
1319
+ },
1320
+ "received_events_url": {
1321
+ "type": "string",
1322
+ "format": "uri",
1323
+ "examples": [
1324
+ "https://api.github.com/users/octocat/received_events"
1325
+ ]
1326
+ },
1327
+ "type": {
1328
+ "type": "string",
1329
+ "examples": [
1330
+ "User"
1331
+ ]
1332
+ },
1333
+ "site_admin": {
1334
+ "type": "boolean"
1335
+ },
1336
+ "starred_at": {
1337
+ "type": "string",
1338
+ "examples": [
1339
+ "\"2020-07-09T00:17:55Z\""
1340
+ ]
1341
+ }
1342
+ },
1343
+ "required": [
1344
+ "avatar_url",
1345
+ "events_url",
1346
+ "followers_url",
1347
+ "following_url",
1348
+ "gists_url",
1349
+ "gravatar_id",
1350
+ "html_url",
1351
+ "id",
1352
+ "node_id",
1353
+ "login",
1354
+ "organizations_url",
1355
+ "received_events_url",
1356
+ "repos_url",
1357
+ "site_admin",
1358
+ "starred_url",
1359
+ "subscriptions_url",
1360
+ "type",
1361
+ "url"
1362
+ ]
1363
+ }
1364
+ ]
1365
+ },
1366
+ "name": {
1367
+ "description": "The name of the GitHub app",
1368
+ "type": "string",
1369
+ "examples": [
1370
+ "Probot Owners"
1371
+ ]
1372
+ },
1373
+ "description": {
1374
+ "type": [
1375
+ "string",
1376
+ "null"
1377
+ ],
1378
+ "examples": [
1379
+ "The description of the app."
1380
+ ]
1381
+ },
1382
+ "external_url": {
1383
+ "type": "string",
1384
+ "format": "uri",
1385
+ "examples": [
1386
+ "https://example.com"
1387
+ ]
1388
+ },
1389
+ "html_url": {
1390
+ "type": "string",
1391
+ "format": "uri",
1392
+ "examples": [
1393
+ "https://github.com/apps/super-ci"
1394
+ ]
1395
+ },
1396
+ "created_at": {
1397
+ "type": "string",
1398
+ "format": "date-time",
1399
+ "examples": [
1400
+ "2017-07-08T16:18:44-04:00"
1401
+ ]
1402
+ },
1403
+ "updated_at": {
1404
+ "type": "string",
1405
+ "format": "date-time",
1406
+ "examples": [
1407
+ "2017-07-08T16:18:44-04:00"
1408
+ ]
1409
+ },
1410
+ "permissions": {
1411
+ "description": "The set of permissions for the GitHub app",
1412
+ "type": "object",
1413
+ "properties": {
1414
+ "issues": {
1415
+ "type": "string"
1416
+ },
1417
+ "checks": {
1418
+ "type": "string"
1419
+ },
1420
+ "metadata": {
1421
+ "type": "string"
1422
+ },
1423
+ "contents": {
1424
+ "type": "string"
1425
+ },
1426
+ "deployments": {
1427
+ "type": "string"
1428
+ }
1429
+ },
1430
+ "additionalProperties": {
1431
+ "type": "string"
1432
+ },
1433
+ "example": {
1434
+ "issues": "read",
1435
+ "deployments": "write"
1436
+ }
1437
+ },
1438
+ "events": {
1439
+ "description": "The list of events for the GitHub app",
1440
+ "type": "array",
1441
+ "items": {
1442
+ "type": "string"
1443
+ },
1444
+ "examples": [
1445
+ "label",
1446
+ "deployment"
1447
+ ]
1448
+ },
1449
+ "installations_count": {
1450
+ "description": "The number of installations associated with the GitHub app",
1451
+ "type": "integer",
1452
+ "examples": [
1453
+ 5
1454
+ ]
1455
+ },
1456
+ "client_id": {
1457
+ "type": "string",
1458
+ "examples": [
1459
+ "\"Iv1.25b5d1e65ffc4022\""
1460
+ ]
1461
+ },
1462
+ "client_secret": {
1463
+ "type": "string",
1464
+ "examples": [
1465
+ "\"1d4b2097ac622ba702d19de498f005747a8b21d3\""
1466
+ ]
1467
+ },
1468
+ "webhook_secret": {
1469
+ "type": [
1470
+ "string",
1471
+ "null"
1472
+ ],
1473
+ "examples": [
1474
+ "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\""
1475
+ ]
1476
+ },
1477
+ "pem": {
1478
+ "type": "string"
1479
+ }
1480
+ },
1481
+ "required": [
1482
+ "id",
1483
+ "node_id",
1484
+ "owner",
1485
+ "name",
1486
+ "description",
1487
+ "external_url",
1488
+ "html_url",
1489
+ "created_at",
1490
+ "updated_at",
1491
+ "permissions",
1492
+ "events"
1493
+ ]
1494
+ }
1495
+ },
1496
+ "url": {
1497
+ "type": "string",
1498
+ "examples": [
1499
+ "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions\""
1500
+ ]
1501
+ },
1502
+ "users_url": {
1503
+ "type": "string",
1504
+ "examples": [
1505
+ "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users\""
1506
+ ]
1507
+ },
1508
+ "teams_url": {
1509
+ "type": "string",
1510
+ "examples": [
1511
+ "\"https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams\""
1512
+ ]
1513
+ }
1514
+ }
1515
+ },
1516
+ "bypass_pull_request_allowances": {
1517
+ "type": "object",
1518
+ "description": "Allow specific users, teams, or apps to bypass pull request requirements.",
1519
+ "properties": {
1520
+ "users": {
1521
+ "description": "The list of users allowed to bypass pull request requirements.",
1522
+ "type": "array",
1523
+ "items": {
1524
+ "title": "Simple User",
1525
+ "description": "A GitHub user.",
1526
+ "type": "object",
1527
+ "properties": {
1528
+ "name": {
1529
+ "type": [
1530
+ "string",
1531
+ "null"
1532
+ ]
1533
+ },
1534
+ "email": {
1535
+ "type": [
1536
+ "string",
1537
+ "null"
1538
+ ]
1539
+ },
1540
+ "login": {
1541
+ "type": "string",
1542
+ "examples": [
1543
+ "octocat"
1544
+ ]
1545
+ },
1546
+ "id": {
1547
+ "type": "integer",
1548
+ "examples": [
1549
+ 1
1550
+ ]
1551
+ },
1552
+ "node_id": {
1553
+ "type": "string",
1554
+ "examples": [
1555
+ "MDQ6VXNlcjE="
1556
+ ]
1557
+ },
1558
+ "avatar_url": {
1559
+ "type": "string",
1560
+ "format": "uri",
1561
+ "examples": [
1562
+ "https://github.com/images/error/octocat_happy.gif"
1563
+ ]
1564
+ },
1565
+ "gravatar_id": {
1566
+ "type": [
1567
+ "string",
1568
+ "null"
1569
+ ],
1570
+ "examples": [
1571
+ "41d064eb2195891e12d0413f63227ea7"
1572
+ ]
1573
+ },
1574
+ "url": {
1575
+ "type": "string",
1576
+ "format": "uri",
1577
+ "examples": [
1578
+ "https://api.github.com/users/octocat"
1579
+ ]
1580
+ },
1581
+ "html_url": {
1582
+ "type": "string",
1583
+ "format": "uri",
1584
+ "examples": [
1585
+ "https://github.com/octocat"
1586
+ ]
1587
+ },
1588
+ "followers_url": {
1589
+ "type": "string",
1590
+ "format": "uri",
1591
+ "examples": [
1592
+ "https://api.github.com/users/octocat/followers"
1593
+ ]
1594
+ },
1595
+ "following_url": {
1596
+ "type": "string",
1597
+ "examples": [
1598
+ "https://api.github.com/users/octocat/following{/other_user}"
1599
+ ]
1600
+ },
1601
+ "gists_url": {
1602
+ "type": "string",
1603
+ "examples": [
1604
+ "https://api.github.com/users/octocat/gists{/gist_id}"
1605
+ ]
1606
+ },
1607
+ "starred_url": {
1608
+ "type": "string",
1609
+ "examples": [
1610
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
1611
+ ]
1612
+ },
1613
+ "subscriptions_url": {
1614
+ "type": "string",
1615
+ "format": "uri",
1616
+ "examples": [
1617
+ "https://api.github.com/users/octocat/subscriptions"
1618
+ ]
1619
+ },
1620
+ "organizations_url": {
1621
+ "type": "string",
1622
+ "format": "uri",
1623
+ "examples": [
1624
+ "https://api.github.com/users/octocat/orgs"
1625
+ ]
1626
+ },
1627
+ "repos_url": {
1628
+ "type": "string",
1629
+ "format": "uri",
1630
+ "examples": [
1631
+ "https://api.github.com/users/octocat/repos"
1632
+ ]
1633
+ },
1634
+ "events_url": {
1635
+ "type": "string",
1636
+ "examples": [
1637
+ "https://api.github.com/users/octocat/events{/privacy}"
1638
+ ]
1639
+ },
1640
+ "received_events_url": {
1641
+ "type": "string",
1642
+ "format": "uri",
1643
+ "examples": [
1644
+ "https://api.github.com/users/octocat/received_events"
1645
+ ]
1646
+ },
1647
+ "type": {
1648
+ "type": "string",
1649
+ "examples": [
1650
+ "User"
1651
+ ]
1652
+ },
1653
+ "site_admin": {
1654
+ "type": "boolean"
1655
+ },
1656
+ "starred_at": {
1657
+ "type": "string",
1658
+ "examples": [
1659
+ "\"2020-07-09T00:17:55Z\""
1660
+ ]
1661
+ }
1662
+ },
1663
+ "required": [
1664
+ "avatar_url",
1665
+ "events_url",
1666
+ "followers_url",
1667
+ "following_url",
1668
+ "gists_url",
1669
+ "gravatar_id",
1670
+ "html_url",
1671
+ "id",
1672
+ "node_id",
1673
+ "login",
1674
+ "organizations_url",
1675
+ "received_events_url",
1676
+ "repos_url",
1677
+ "site_admin",
1678
+ "starred_url",
1679
+ "subscriptions_url",
1680
+ "type",
1681
+ "url"
1682
+ ]
1683
+ }
1684
+ },
1685
+ "teams": {
1686
+ "description": "The list of teams allowed to bypass pull request requirements.",
1687
+ "type": "array",
1688
+ "items": {
1689
+ "title": "Team",
1690
+ "description": "Groups of organization members that gives permissions on specified repositories.",
1691
+ "type": "object",
1692
+ "properties": {
1693
+ "id": {
1694
+ "type": "integer"
1695
+ },
1696
+ "node_id": {
1697
+ "type": "string"
1698
+ },
1699
+ "name": {
1700
+ "type": "string"
1701
+ },
1702
+ "slug": {
1703
+ "type": "string"
1704
+ },
1705
+ "description": {
1706
+ "type": [
1707
+ "string",
1708
+ "null"
1709
+ ]
1710
+ },
1711
+ "privacy": {
1712
+ "type": "string"
1713
+ },
1714
+ "permission": {
1715
+ "type": "string"
1716
+ },
1717
+ "permissions": {
1718
+ "type": "object",
1719
+ "properties": {
1720
+ "pull": {
1721
+ "type": "boolean"
1722
+ },
1723
+ "triage": {
1724
+ "type": "boolean"
1725
+ },
1726
+ "push": {
1727
+ "type": "boolean"
1728
+ },
1729
+ "maintain": {
1730
+ "type": "boolean"
1731
+ },
1732
+ "admin": {
1733
+ "type": "boolean"
1734
+ }
1735
+ },
1736
+ "required": [
1737
+ "pull",
1738
+ "triage",
1739
+ "push",
1740
+ "maintain",
1741
+ "admin"
1742
+ ]
1743
+ },
1744
+ "url": {
1745
+ "type": "string",
1746
+ "format": "uri"
1747
+ },
1748
+ "html_url": {
1749
+ "type": "string",
1750
+ "format": "uri",
1751
+ "examples": [
1752
+ "https://github.com/orgs/rails/teams/core"
1753
+ ]
1754
+ },
1755
+ "members_url": {
1756
+ "type": "string"
1757
+ },
1758
+ "repositories_url": {
1759
+ "type": "string",
1760
+ "format": "uri"
1761
+ },
1762
+ "parent": {
1763
+ "anyOf": [
1764
+ {
1765
+ "type": "null"
1766
+ },
1767
+ {
1768
+ "title": "Team Simple",
1769
+ "description": "Groups of organization members that gives permissions on specified repositories.",
1770
+ "type": "object",
1771
+ "properties": {
1772
+ "id": {
1773
+ "description": "Unique identifier of the team",
1774
+ "type": "integer",
1775
+ "examples": [
1776
+ 1
1777
+ ]
1778
+ },
1779
+ "node_id": {
1780
+ "type": "string",
1781
+ "examples": [
1782
+ "MDQ6VGVhbTE="
1783
+ ]
1784
+ },
1785
+ "url": {
1786
+ "description": "URL for the team",
1787
+ "type": "string",
1788
+ "format": "uri",
1789
+ "examples": [
1790
+ "https://api.github.com/organizations/1/team/1"
1791
+ ]
1792
+ },
1793
+ "members_url": {
1794
+ "type": "string",
1795
+ "examples": [
1796
+ "https://api.github.com/organizations/1/team/1/members{/member}"
1797
+ ]
1798
+ },
1799
+ "name": {
1800
+ "description": "Name of the team",
1801
+ "type": "string",
1802
+ "examples": [
1803
+ "Justice League"
1804
+ ]
1805
+ },
1806
+ "description": {
1807
+ "description": "Description of the team",
1808
+ "type": [
1809
+ "string",
1810
+ "null"
1811
+ ],
1812
+ "examples": [
1813
+ "A great team."
1814
+ ]
1815
+ },
1816
+ "permission": {
1817
+ "description": "Permission that the team will have for its repositories",
1818
+ "type": "string",
1819
+ "examples": [
1820
+ "admin"
1821
+ ]
1822
+ },
1823
+ "privacy": {
1824
+ "description": "The level of privacy this team should have",
1825
+ "type": "string",
1826
+ "examples": [
1827
+ "closed"
1828
+ ]
1829
+ },
1830
+ "html_url": {
1831
+ "type": "string",
1832
+ "format": "uri",
1833
+ "examples": [
1834
+ "https://github.com/orgs/rails/teams/core"
1835
+ ]
1836
+ },
1837
+ "repositories_url": {
1838
+ "type": "string",
1839
+ "format": "uri",
1840
+ "examples": [
1841
+ "https://api.github.com/organizations/1/team/1/repos"
1842
+ ]
1843
+ },
1844
+ "slug": {
1845
+ "type": "string",
1846
+ "examples": [
1847
+ "justice-league"
1848
+ ]
1849
+ },
1850
+ "ldap_dn": {
1851
+ "description": "Distinguished Name (DN) that team maps to within LDAP environment",
1852
+ "type": "string",
1853
+ "examples": [
1854
+ "uid=example,ou=users,dc=github,dc=com"
1855
+ ]
1856
+ }
1857
+ },
1858
+ "required": [
1859
+ "id",
1860
+ "node_id",
1861
+ "url",
1862
+ "members_url",
1863
+ "name",
1864
+ "description",
1865
+ "permission",
1866
+ "html_url",
1867
+ "repositories_url",
1868
+ "slug"
1869
+ ]
1870
+ }
1871
+ ]
1872
+ }
1873
+ },
1874
+ "required": [
1875
+ "id",
1876
+ "node_id",
1877
+ "url",
1878
+ "members_url",
1879
+ "name",
1880
+ "description",
1881
+ "permission",
1882
+ "html_url",
1883
+ "repositories_url",
1884
+ "slug",
1885
+ "parent"
1886
+ ]
1887
+ }
1888
+ },
1889
+ "apps": {
1890
+ "description": "The list of apps allowed to bypass pull request requirements.",
1891
+ "type": "array",
1892
+ "items": {
1893
+ "title": "GitHub app",
1894
+ "description": "GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.",
1895
+ "type": "object",
1896
+ "properties": {
1897
+ "id": {
1898
+ "description": "Unique identifier of the GitHub app",
1899
+ "type": "integer",
1900
+ "examples": [
1901
+ 37
1902
+ ]
1903
+ },
1904
+ "slug": {
1905
+ "description": "The slug name of the GitHub app",
1906
+ "type": "string",
1907
+ "examples": [
1908
+ "probot-owners"
1909
+ ]
1910
+ },
1911
+ "node_id": {
1912
+ "type": "string",
1913
+ "examples": [
1914
+ "MDExOkludGVncmF0aW9uMQ=="
1915
+ ]
1916
+ },
1917
+ "owner": {
1918
+ "anyOf": [
1919
+ {
1920
+ "type": "null"
1921
+ },
1922
+ {
1923
+ "title": "Simple User",
1924
+ "description": "A GitHub user.",
1925
+ "type": "object",
1926
+ "properties": {
1927
+ "name": {
1928
+ "type": [
1929
+ "string",
1930
+ "null"
1931
+ ]
1932
+ },
1933
+ "email": {
1934
+ "type": [
1935
+ "string",
1936
+ "null"
1937
+ ]
1938
+ },
1939
+ "login": {
1940
+ "type": "string",
1941
+ "examples": [
1942
+ "octocat"
1943
+ ]
1944
+ },
1945
+ "id": {
1946
+ "type": "integer",
1947
+ "examples": [
1948
+ 1
1949
+ ]
1950
+ },
1951
+ "node_id": {
1952
+ "type": "string",
1953
+ "examples": [
1954
+ "MDQ6VXNlcjE="
1955
+ ]
1956
+ },
1957
+ "avatar_url": {
1958
+ "type": "string",
1959
+ "format": "uri",
1960
+ "examples": [
1961
+ "https://github.com/images/error/octocat_happy.gif"
1962
+ ]
1963
+ },
1964
+ "gravatar_id": {
1965
+ "type": [
1966
+ "string",
1967
+ "null"
1968
+ ],
1969
+ "examples": [
1970
+ "41d064eb2195891e12d0413f63227ea7"
1971
+ ]
1972
+ },
1973
+ "url": {
1974
+ "type": "string",
1975
+ "format": "uri",
1976
+ "examples": [
1977
+ "https://api.github.com/users/octocat"
1978
+ ]
1979
+ },
1980
+ "html_url": {
1981
+ "type": "string",
1982
+ "format": "uri",
1983
+ "examples": [
1984
+ "https://github.com/octocat"
1985
+ ]
1986
+ },
1987
+ "followers_url": {
1988
+ "type": "string",
1989
+ "format": "uri",
1990
+ "examples": [
1991
+ "https://api.github.com/users/octocat/followers"
1992
+ ]
1993
+ },
1994
+ "following_url": {
1995
+ "type": "string",
1996
+ "examples": [
1997
+ "https://api.github.com/users/octocat/following{/other_user}"
1998
+ ]
1999
+ },
2000
+ "gists_url": {
2001
+ "type": "string",
2002
+ "examples": [
2003
+ "https://api.github.com/users/octocat/gists{/gist_id}"
2004
+ ]
2005
+ },
2006
+ "starred_url": {
2007
+ "type": "string",
2008
+ "examples": [
2009
+ "https://api.github.com/users/octocat/starred{/owner}{/repo}"
2010
+ ]
2011
+ },
2012
+ "subscriptions_url": {
2013
+ "type": "string",
2014
+ "format": "uri",
2015
+ "examples": [
2016
+ "https://api.github.com/users/octocat/subscriptions"
2017
+ ]
2018
+ },
2019
+ "organizations_url": {
2020
+ "type": "string",
2021
+ "format": "uri",
2022
+ "examples": [
2023
+ "https://api.github.com/users/octocat/orgs"
2024
+ ]
2025
+ },
2026
+ "repos_url": {
2027
+ "type": "string",
2028
+ "format": "uri",
2029
+ "examples": [
2030
+ "https://api.github.com/users/octocat/repos"
2031
+ ]
2032
+ },
2033
+ "events_url": {
2034
+ "type": "string",
2035
+ "examples": [
2036
+ "https://api.github.com/users/octocat/events{/privacy}"
2037
+ ]
2038
+ },
2039
+ "received_events_url": {
2040
+ "type": "string",
2041
+ "format": "uri",
2042
+ "examples": [
2043
+ "https://api.github.com/users/octocat/received_events"
2044
+ ]
2045
+ },
2046
+ "type": {
2047
+ "type": "string",
2048
+ "examples": [
2049
+ "User"
2050
+ ]
2051
+ },
2052
+ "site_admin": {
2053
+ "type": "boolean"
2054
+ },
2055
+ "starred_at": {
2056
+ "type": "string",
2057
+ "examples": [
2058
+ "\"2020-07-09T00:17:55Z\""
2059
+ ]
2060
+ }
2061
+ },
2062
+ "required": [
2063
+ "avatar_url",
2064
+ "events_url",
2065
+ "followers_url",
2066
+ "following_url",
2067
+ "gists_url",
2068
+ "gravatar_id",
2069
+ "html_url",
2070
+ "id",
2071
+ "node_id",
2072
+ "login",
2073
+ "organizations_url",
2074
+ "received_events_url",
2075
+ "repos_url",
2076
+ "site_admin",
2077
+ "starred_url",
2078
+ "subscriptions_url",
2079
+ "type",
2080
+ "url"
2081
+ ]
2082
+ }
2083
+ ]
2084
+ },
2085
+ "name": {
2086
+ "description": "The name of the GitHub app",
2087
+ "type": "string",
2088
+ "examples": [
2089
+ "Probot Owners"
2090
+ ]
2091
+ },
2092
+ "description": {
2093
+ "type": [
2094
+ "string",
2095
+ "null"
2096
+ ],
2097
+ "examples": [
2098
+ "The description of the app."
2099
+ ]
2100
+ },
2101
+ "external_url": {
2102
+ "type": "string",
2103
+ "format": "uri",
2104
+ "examples": [
2105
+ "https://example.com"
2106
+ ]
2107
+ },
2108
+ "html_url": {
2109
+ "type": "string",
2110
+ "format": "uri",
2111
+ "examples": [
2112
+ "https://github.com/apps/super-ci"
2113
+ ]
2114
+ },
2115
+ "created_at": {
2116
+ "type": "string",
2117
+ "format": "date-time",
2118
+ "examples": [
2119
+ "2017-07-08T16:18:44-04:00"
2120
+ ]
2121
+ },
2122
+ "updated_at": {
2123
+ "type": "string",
2124
+ "format": "date-time",
2125
+ "examples": [
2126
+ "2017-07-08T16:18:44-04:00"
2127
+ ]
2128
+ },
2129
+ "permissions": {
2130
+ "description": "The set of permissions for the GitHub app",
2131
+ "type": "object",
2132
+ "properties": {
2133
+ "issues": {
2134
+ "type": "string"
2135
+ },
2136
+ "checks": {
2137
+ "type": "string"
2138
+ },
2139
+ "metadata": {
2140
+ "type": "string"
2141
+ },
2142
+ "contents": {
2143
+ "type": "string"
2144
+ },
2145
+ "deployments": {
2146
+ "type": "string"
2147
+ }
2148
+ },
2149
+ "additionalProperties": {
2150
+ "type": "string"
2151
+ },
2152
+ "example": {
2153
+ "issues": "read",
2154
+ "deployments": "write"
2155
+ }
2156
+ },
2157
+ "events": {
2158
+ "description": "The list of events for the GitHub app",
2159
+ "type": "array",
2160
+ "items": {
2161
+ "type": "string"
2162
+ },
2163
+ "examples": [
2164
+ "label",
2165
+ "deployment"
2166
+ ]
2167
+ },
2168
+ "installations_count": {
2169
+ "description": "The number of installations associated with the GitHub app",
2170
+ "type": "integer",
2171
+ "examples": [
2172
+ 5
2173
+ ]
2174
+ },
2175
+ "client_id": {
2176
+ "type": "string",
2177
+ "examples": [
2178
+ "\"Iv1.25b5d1e65ffc4022\""
2179
+ ]
2180
+ },
2181
+ "client_secret": {
2182
+ "type": "string",
2183
+ "examples": [
2184
+ "\"1d4b2097ac622ba702d19de498f005747a8b21d3\""
2185
+ ]
2186
+ },
2187
+ "webhook_secret": {
2188
+ "type": [
2189
+ "string",
2190
+ "null"
2191
+ ],
2192
+ "examples": [
2193
+ "\"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b\""
2194
+ ]
2195
+ },
2196
+ "pem": {
2197
+ "type": "string"
2198
+ }
2199
+ },
2200
+ "required": [
2201
+ "id",
2202
+ "node_id",
2203
+ "owner",
2204
+ "name",
2205
+ "description",
2206
+ "external_url",
2207
+ "html_url",
2208
+ "created_at",
2209
+ "updated_at",
2210
+ "permissions",
2211
+ "events"
2212
+ ]
2213
+ }
2214
+ }
2215
+ }
2216
+ },
2217
+ "dismiss_stale_reviews": {
2218
+ "type": "boolean",
2219
+ "examples": [
2220
+ True
2221
+ ]
2222
+ },
2223
+ "require_code_owner_reviews": {
2224
+ "type": "boolean",
2225
+ "examples": [
2226
+ True
2227
+ ]
2228
+ },
2229
+ "required_approving_review_count": {
2230
+ "type": "integer",
2231
+ "minimum": 0,
2232
+ "maximum": 6,
2233
+ "examples": [
2234
+ 2
2235
+ ]
2236
+ },
2237
+ "require_last_push_approval": {
2238
+ "description": "Whether the most recent push must be approved by someone other than the person who pushed it.",
2239
+ "type": "boolean",
2240
+ "default": False,
2241
+ "examples": [
2242
+ True
2243
+ ]
2244
+ }
2245
+ },
2246
+ "required": [
2247
+ "dismiss_stale_reviews",
2248
+ "require_code_owner_reviews"
2249
+ ]
2250
+ },
2251
+ "restrictions": {
2252
+ "title": "Branch Restriction Policy",
2253
+ "description": "Branch Restriction Policy",
2254
+ "type": "object",
2255
+ "properties": {
2256
+ "url": {
2257
+ "type": "string",
2258
+ "format": "uri"
2259
+ },
2260
+ "users_url": {
2261
+ "type": "string",
2262
+ "format": "uri"
2263
+ },
2264
+ "teams_url": {
2265
+ "type": "string",
2266
+ "format": "uri"
2267
+ },
2268
+ "apps_url": {
2269
+ "type": "string",
2270
+ "format": "uri"
2271
+ },
2272
+ "users": {
2273
+ "type": "array",
2274
+ "items": {
2275
+ "type": "object",
2276
+ "properties": {
2277
+ "login": {
2278
+ "type": "string"
2279
+ },
2280
+ "id": {
2281
+ "type": "integer"
2282
+ },
2283
+ "node_id": {
2284
+ "type": "string"
2285
+ },
2286
+ "avatar_url": {
2287
+ "type": "string"
2288
+ },
2289
+ "gravatar_id": {
2290
+ "type": "string"
2291
+ },
2292
+ "url": {
2293
+ "type": "string"
2294
+ },
2295
+ "html_url": {
2296
+ "type": "string"
2297
+ },
2298
+ "followers_url": {
2299
+ "type": "string"
2300
+ },
2301
+ "following_url": {
2302
+ "type": "string"
2303
+ },
2304
+ "gists_url": {
2305
+ "type": "string"
2306
+ },
2307
+ "starred_url": {
2308
+ "type": "string"
2309
+ },
2310
+ "subscriptions_url": {
2311
+ "type": "string"
2312
+ },
2313
+ "organizations_url": {
2314
+ "type": "string"
2315
+ },
2316
+ "repos_url": {
2317
+ "type": "string"
2318
+ },
2319
+ "events_url": {
2320
+ "type": "string"
2321
+ },
2322
+ "received_events_url": {
2323
+ "type": "string"
2324
+ },
2325
+ "type": {
2326
+ "type": "string"
2327
+ },
2328
+ "site_admin": {
2329
+ "type": "boolean"
2330
+ }
2331
+ }
2332
+ }
2333
+ },
2334
+ "teams": {
2335
+ "type": "array",
2336
+ "items": {
2337
+ "type": "object",
2338
+ "properties": {
2339
+ "id": {
2340
+ "type": "integer"
2341
+ },
2342
+ "node_id": {
2343
+ "type": "string"
2344
+ },
2345
+ "url": {
2346
+ "type": "string"
2347
+ },
2348
+ "html_url": {
2349
+ "type": "string"
2350
+ },
2351
+ "name": {
2352
+ "type": "string"
2353
+ },
2354
+ "slug": {
2355
+ "type": "string"
2356
+ },
2357
+ "description": {
2358
+ "type": [
2359
+ "string",
2360
+ "null"
2361
+ ]
2362
+ },
2363
+ "privacy": {
2364
+ "type": "string"
2365
+ },
2366
+ "permission": {
2367
+ "type": "string"
2368
+ },
2369
+ "members_url": {
2370
+ "type": "string"
2371
+ },
2372
+ "repositories_url": {
2373
+ "type": "string"
2374
+ },
2375
+ "parent": {
2376
+ "type": [
2377
+ "string",
2378
+ "null"
2379
+ ]
2380
+ }
2381
+ }
2382
+ }
2383
+ },
2384
+ "apps": {
2385
+ "type": "array",
2386
+ "items": {
2387
+ "type": "object",
2388
+ "properties": {
2389
+ "id": {
2390
+ "type": "integer"
2391
+ },
2392
+ "slug": {
2393
+ "type": "string"
2394
+ },
2395
+ "node_id": {
2396
+ "type": "string"
2397
+ },
2398
+ "owner": {
2399
+ "type": "object",
2400
+ "properties": {
2401
+ "login": {
2402
+ "type": "string"
2403
+ },
2404
+ "id": {
2405
+ "type": "integer"
2406
+ },
2407
+ "node_id": {
2408
+ "type": "string"
2409
+ },
2410
+ "url": {
2411
+ "type": "string"
2412
+ },
2413
+ "repos_url": {
2414
+ "type": "string"
2415
+ },
2416
+ "events_url": {
2417
+ "type": "string"
2418
+ },
2419
+ "hooks_url": {
2420
+ "type": "string"
2421
+ },
2422
+ "issues_url": {
2423
+ "type": "string"
2424
+ },
2425
+ "members_url": {
2426
+ "type": "string"
2427
+ },
2428
+ "public_members_url": {
2429
+ "type": "string"
2430
+ },
2431
+ "avatar_url": {
2432
+ "type": "string"
2433
+ },
2434
+ "description": {
2435
+ "type": "string"
2436
+ },
2437
+ "gravatar_id": {
2438
+ "type": "string",
2439
+ "examples": [
2440
+ "\"\""
2441
+ ]
2442
+ },
2443
+ "html_url": {
2444
+ "type": "string",
2445
+ "examples": [
2446
+ "\"https://github.com/testorg-ea8ec76d71c3af4b\""
2447
+ ]
2448
+ },
2449
+ "followers_url": {
2450
+ "type": "string",
2451
+ "examples": [
2452
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers\""
2453
+ ]
2454
+ },
2455
+ "following_url": {
2456
+ "type": "string",
2457
+ "examples": [
2458
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}\""
2459
+ ]
2460
+ },
2461
+ "gists_url": {
2462
+ "type": "string",
2463
+ "examples": [
2464
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}\""
2465
+ ]
2466
+ },
2467
+ "starred_url": {
2468
+ "type": "string",
2469
+ "examples": [
2470
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}\""
2471
+ ]
2472
+ },
2473
+ "subscriptions_url": {
2474
+ "type": "string",
2475
+ "examples": [
2476
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions\""
2477
+ ]
2478
+ },
2479
+ "organizations_url": {
2480
+ "type": "string",
2481
+ "examples": [
2482
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs\""
2483
+ ]
2484
+ },
2485
+ "received_events_url": {
2486
+ "type": "string",
2487
+ "examples": [
2488
+ "\"https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events\""
2489
+ ]
2490
+ },
2491
+ "type": {
2492
+ "type": "string",
2493
+ "examples": [
2494
+ "\"Organization\""
2495
+ ]
2496
+ },
2497
+ "site_admin": {
2498
+ "type": "boolean",
2499
+ "examples": [
2500
+ False
2501
+ ]
2502
+ }
2503
+ }
2504
+ },
2505
+ "name": {
2506
+ "type": "string"
2507
+ },
2508
+ "description": {
2509
+ "type": "string"
2510
+ },
2511
+ "external_url": {
2512
+ "type": "string"
2513
+ },
2514
+ "html_url": {
2515
+ "type": "string"
2516
+ },
2517
+ "created_at": {
2518
+ "type": "string"
2519
+ },
2520
+ "updated_at": {
2521
+ "type": "string"
2522
+ },
2523
+ "permissions": {
2524
+ "type": "object",
2525
+ "properties": {
2526
+ "metadata": {
2527
+ "type": "string"
2528
+ },
2529
+ "contents": {
2530
+ "type": "string"
2531
+ },
2532
+ "issues": {
2533
+ "type": "string"
2534
+ },
2535
+ "single_file": {
2536
+ "type": "string"
2537
+ }
2538
+ }
2539
+ },
2540
+ "events": {
2541
+ "type": "array",
2542
+ "items": {
2543
+ "type": "string"
2544
+ }
2545
+ }
2546
+ }
2547
+ }
2548
+ }
2549
+ },
2550
+ "required": [
2551
+ "url",
2552
+ "users_url",
2553
+ "teams_url",
2554
+ "apps_url",
2555
+ "users",
2556
+ "teams",
2557
+ "apps"
2558
+ ]
2559
+ },
2560
+ "required_linear_history": {
2561
+ "type": "object",
2562
+ "properties": {
2563
+ "enabled": {
2564
+ "type": "boolean"
2565
+ }
2566
+ }
2567
+ },
2568
+ "allow_force_pushes": {
2569
+ "type": "object",
2570
+ "properties": {
2571
+ "enabled": {
2572
+ "type": "boolean"
2573
+ }
2574
+ }
2575
+ },
2576
+ "allow_deletions": {
2577
+ "type": "object",
2578
+ "properties": {
2579
+ "enabled": {
2580
+ "type": "boolean"
2581
+ }
2582
+ }
2583
+ },
2584
+ "block_creations": {
2585
+ "type": "object",
2586
+ "properties": {
2587
+ "enabled": {
2588
+ "type": "boolean"
2589
+ }
2590
+ }
2591
+ },
2592
+ "required_conversation_resolution": {
2593
+ "type": "object",
2594
+ "properties": {
2595
+ "enabled": {
2596
+ "type": "boolean"
2597
+ }
2598
+ }
2599
+ },
2600
+ "name": {
2601
+ "type": "string",
2602
+ "examples": [
2603
+ "\"branch/with/protection\""
2604
+ ]
2605
+ },
2606
+ "protection_url": {
2607
+ "type": "string",
2608
+ "examples": [
2609
+ "\"https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection\""
2610
+ ]
2611
+ },
2612
+ "required_signatures": {
2613
+ "type": "object",
2614
+ "properties": {
2615
+ "url": {
2616
+ "type": "string",
2617
+ "format": "uri",
2618
+ "examples": [
2619
+ "https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures"
2620
+ ]
2621
+ },
2622
+ "enabled": {
2623
+ "type": "boolean",
2624
+ "examples": [
2625
+ True
2626
+ ]
2627
+ }
2628
+ },
2629
+ "required": [
2630
+ "url",
2631
+ "enabled"
2632
+ ]
2633
+ },
2634
+ "lock_branch": {
2635
+ "type": "object",
2636
+ "description": "Whether to set the branch as read-only. If this is true, users will not be able to push to the branch.",
2637
+ "properties": {
2638
+ "enabled": {
2639
+ "default": False,
2640
+ "type": "boolean"
2641
+ }
2642
+ }
2643
+ },
2644
+ "allow_fork_syncing": {
2645
+ "type": "object",
2646
+ "description": "Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing.",
2647
+ "properties": {
2648
+ "enabled": {
2649
+ "default": False,
2650
+ "type": "boolean"
2651
+ }
2652
+ }
2653
+ }
2654
+ }
2655
+ },
2656
+ "protection_url": {
2657
+ "type": "string",
2658
+ "format": "uri"
2659
+ },
2660
+ "pattern": {
2661
+ "type": "string",
2662
+ "examples": [
2663
+ "\"mas*\""
2664
+ ]
2665
+ },
2666
+ "required_approving_review_count": {
2667
+ "type": "integer",
2668
+ "examples": [
2669
+ 1
2670
+ ]
2671
+ }
2672
+ },
2673
+ "required": [
2674
+ "name",
2675
+ "commit",
2676
+ "_links",
2677
+ "protection",
2678
+ "protected",
2679
+ "protection_url"
2680
+ ]
2681
+ }
2682
+ super().__init__(schema=schema)
2683
+
2684
+
2685
+ schema = BranchSchema()