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,74 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+ from s1_cns_cli.s1graph.bicep.image_referencer.base_provider import BaseBicepProvider
6
+ from s1_cns_cli.s1graph.common.util.data_structures_utils import find_in_dict
7
+ from s1_cns_cli.s1graph.common.util.type_forcers import force_list
8
+
9
+ if TYPE_CHECKING:
10
+ from networkx import DiGraph
11
+
12
+
13
+ class AzureBicepProvider(BaseBicepProvider):
14
+ def __init__(self, graph_connector: DiGraph) -> None:
15
+ super().__init__(
16
+ graph_connector=graph_connector,
17
+ supported_resource_types=SUPPORTED_AZURE_IMAGE_RESOURCE_TYPES,
18
+ )
19
+
20
+
21
+ def extract_images_from_azurerm_batch_pool(resource: dict[str, Any]) -> list[str]:
22
+ image_names: list[str] = []
23
+
24
+ containers = find_in_dict(
25
+ input_dict=resource,
26
+ key_path="properties/virtualMachineConfiguration/containerConfiguration/containerImageNames",
27
+ )
28
+ if isinstance(containers, list):
29
+ image_names.extend(container for container in containers if isinstance(container, str))
30
+
31
+ return image_names
32
+
33
+
34
+ def extract_images_from_azurerm_container_group(resource: dict[str, Any]) -> list[str]:
35
+ image_names: list[str] = []
36
+
37
+ properties = resource.get("properties")
38
+ if properties and isinstance(properties, dict):
39
+ containers = properties.get("containers")
40
+ if containers:
41
+ for container in force_list(containers):
42
+ name = find_in_dict(input_dict=container, key_path="properties/image")
43
+ if name and isinstance(name, str):
44
+ image_names.append(name)
45
+ containers = properties.get("initContainers")
46
+ if containers:
47
+ for container in force_list(containers):
48
+ name = find_in_dict(input_dict=container, key_path="properties/image")
49
+ if name and isinstance(name, str):
50
+ image_names.append(name)
51
+
52
+ return image_names
53
+
54
+
55
+ def extract_images_from_azurerm_web_app(resource: dict[str, Any]) -> list[str]:
56
+ image_names: list[str] = []
57
+
58
+ containers = find_in_dict(input_dict=resource, key_path="properties/template/containers")
59
+ if containers:
60
+ for container in force_list(containers):
61
+ name = container.get("image")
62
+ if name and isinstance(name, str):
63
+ image_names.append(name)
64
+
65
+ return image_names
66
+
67
+
68
+ # needs to be at the bottom to add the defined functions
69
+ SUPPORTED_AZURE_IMAGE_RESOURCE_TYPES = {
70
+ "Microsoft.App/containerApps": extract_images_from_azurerm_web_app,
71
+ "Microsoft.Batch/batchAccounts/pools": extract_images_from_azurerm_batch_pool,
72
+ "Microsoft.ContainerInstance/containerGroups": extract_images_from_azurerm_container_group,
73
+ "Microsoft.Web/containerApps": extract_images_from_azurerm_web_app,
74
+ }
@@ -0,0 +1,50 @@
1
+ from __future__ import annotations
2
+
3
+ import logging
4
+ import os
5
+ from collections.abc import Collection
6
+ from pathlib import Path
7
+ from typing import TYPE_CHECKING
8
+
9
+ from pycep import BicepParser
10
+
11
+ if TYPE_CHECKING:
12
+ from pycep.typing import BicepJson
13
+
14
+
15
+ class Parser:
16
+ def __init__(self) -> None:
17
+ self.bicep_parser = BicepParser(add_line_numbers=True)
18
+
19
+ def parse(self, file_path: Path) -> tuple[BicepJson, list[tuple[int, str]]] | tuple[None, None]:
20
+ try:
21
+ content = file_path.read_text()
22
+ template = self.bicep_parser.parse(text=content)
23
+ except Exception:
24
+ logging.debug(f"[bicep] Couldn't parse {file_path}", exc_info=True)
25
+ return None, None
26
+
27
+ file_lines = [(idx + 1, line) for idx, line in enumerate(content.splitlines(keepends=True))]
28
+
29
+ return template, file_lines
30
+
31
+ def get_files_definitions(
32
+ self, file_paths: "Collection[Path]"
33
+ ) -> tuple[dict[Path, BicepJson], dict[Path, list[tuple[int, str]]], list[str]]:
34
+ logging.info(f"[bicep] start to parse {len(file_paths)} files")
35
+
36
+ definitions: dict[Path, BicepJson] = {}
37
+ definitions_raw: dict[Path, list[tuple[int, str]]] = {}
38
+ parsing_errors: list[str] = []
39
+
40
+ for file_path in file_paths:
41
+ template, file_lines = self.parse(file_path)
42
+ if template and file_lines:
43
+ definitions[file_path] = template
44
+ definitions_raw[file_path] = file_lines
45
+ else:
46
+ parsing_errors.append(os.path.normpath(file_path.absolute()))
47
+
48
+ logging.info(f"[bicep] successfully parsed {len(definitions)} files")
49
+
50
+ return definitions, definitions_raw, parsing_errors
@@ -0,0 +1,281 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+ import logging
5
+ from pathlib import Path
6
+ from typing import cast, Type, TYPE_CHECKING, Any
7
+
8
+ from s1_cns_cli.s1graph.bicep.graph_builder.context_definitions import build_definitions_context
9
+ from s1_cns_cli.s1graph.bicep.checks.param.registry import registry as param_registry
10
+ from s1_cns_cli.s1graph.bicep.checks.resource.registry import registry as resource_registry
11
+ from s1_cns_cli.s1graph.bicep.graph_builder.graph_to_tf_definitions import convert_graph_vertices_to_tf_definitions
12
+ from s1_cns_cli.s1graph.bicep.graph_builder.local_graph import BicepLocalGraph
13
+ from s1_cns_cli.s1graph.bicep.graph_manager import BicepGraphManager
14
+ from s1_cns_cli.s1graph.bicep.image_referencer.manager import BicepImageReferencerManager
15
+ from s1_cns_cli.s1graph.bicep.parser import Parser
16
+ from s1_cns_cli.s1graph.bicep.utils import clean_file_path, get_scannable_file_paths
17
+ from s1_cns_cli.s1graph.common.checks_infra.registry import get_graph_checks_registry
18
+
19
+ from s1_cns_cli.s1graph.common.typing import LibraryGraphConnector
20
+ from s1_cns_cli.s1graph.common.graph.graph_builder import CustomAttributes
21
+ from s1_cns_cli.s1graph.common.graph.graph_builder.consts import GraphSource
22
+ from s1_cns_cli.s1graph.common.images.image_referencer import ImageReferencerMixin
23
+ from s1_cns_cli.s1graph.common.output.extra_resource import ExtraResource
24
+ from s1_cns_cli.s1graph.common.output.graph_record import GraphRecord
25
+ from s1_cns_cli.s1graph.common.output.record import Record
26
+ from s1_cns_cli.s1graph.common.output.report import Report
27
+ from s1_cns_cli.s1graph.common.s1cns.check_type import CheckType
28
+ from s1_cns_cli.s1graph.common.runners.base_runner import BaseRunner, SENTINELONE_CNS_CREATE_GRAPH
29
+ from s1_cns_cli.s1graph.common.typing import _CheckResult
30
+ from s1_cns_cli.s1graph.common.util.secrets import omit_secret_value_from_checks
31
+ from s1_cns_cli.s1graph.common.util.suppression import collect_suppressions_for_report
32
+ from s1_cns_cli.s1graph.runner_filter import RunnerFilter
33
+
34
+ if TYPE_CHECKING:
35
+ from s1_cns_cli.s1graph.common.checks.base_check_registry import BaseCheckRegistry
36
+ from s1_cns_cli.s1graph.common.checks_infra.registry import Registry
37
+ from s1_cns_cli.s1graph.common.graph.checks_infra.registry import BaseRegistry
38
+ from s1_cns_cli.s1graph.common.images.image_referencer import Image
39
+ from networkx import DiGraph
40
+ from pycep.typing import BicepJson
41
+ from typing_extensions import Literal
42
+
43
+
44
+ class Runner(ImageReferencerMixin[None], BaseRunner[BicepGraphManager]):
45
+ check_type = CheckType.BICEP # noqa: CCE003 # a static attribute
46
+
47
+ block_type_registries: 'dict[Literal["parameters", "resources"], BaseCheckRegistry]' = { # noqa: CCE003 # a static attribute
48
+ "parameters": param_registry,
49
+ "resources": resource_registry,
50
+ }
51
+
52
+ def __init__(
53
+ self,
54
+ db_connector: LibraryGraphConnector | None = None,
55
+ source: str = GraphSource.BICEP,
56
+ graph_class: Type[BicepLocalGraph] = BicepLocalGraph,
57
+ graph_manager: BicepGraphManager | None = None,
58
+ external_registries: list[BaseRegistry] | None = None
59
+ ) -> None:
60
+ super().__init__(file_extensions=['.bicep'])
61
+ db_connector = db_connector or self.db_connector
62
+ self.external_registries = external_registries if external_registries else []
63
+ self.graph_class = graph_class
64
+ self.graph_manager: BicepGraphManager = (
65
+ graph_manager if graph_manager else BicepGraphManager(source=source, db_connector=db_connector)
66
+ )
67
+ self.graph_registry: Registry = get_graph_checks_registry(self.check_type)
68
+
69
+ self.context: dict[str, dict[str, Any]] = {}
70
+ self.definitions: dict[Path, BicepJson] = {} # type:ignore[assignment] # need to check, how to support subclass differences
71
+ self.definitions_raw: dict[Path, list[tuple[int, str]]] = {} # type:ignore[assignment]
72
+ self.root_folder: str | Path | None = None
73
+
74
+ def run(
75
+ self,
76
+ root_folder: str | Path | None,
77
+ external_checks_dir: list[str] | None = None,
78
+ files: list[str] | None = None,
79
+ runner_filter: RunnerFilter | None = None,
80
+ collect_skip_comments: bool = True,
81
+ ) -> Report | list[Report]:
82
+ runner_filter = runner_filter or RunnerFilter()
83
+ if not runner_filter.show_progress_bar:
84
+ self.pbar.turn_off_progress_bar()
85
+
86
+ report = Report(Runner.check_type)
87
+ self.root_folder = root_folder
88
+
89
+ if not self.context or not self.definitions:
90
+ file_paths = get_scannable_file_paths(
91
+ root_folder=root_folder, files=files, excluded_paths=runner_filter.excluded_paths
92
+ )
93
+
94
+ if not file_paths:
95
+ return report
96
+
97
+ self.definitions, self.definitions_raw, parsing_errors = Parser().get_files_definitions(file_paths)
98
+
99
+ report.add_parsing_errors(parsing_errors)
100
+
101
+ if external_checks_dir:
102
+ for directory in external_checks_dir:
103
+ resource_registry.load_external_checks(directory)
104
+
105
+ if SENTINELONE_CNS_CREATE_GRAPH:
106
+ self.graph_registry.load_external_checks(directory)
107
+
108
+ self.context = build_definitions_context(definitions=self.definitions, definitions_raw=self.definitions_raw)
109
+
110
+ if SENTINELONE_CNS_CREATE_GRAPH:
111
+ logging.info("Creating Bicep graph")
112
+ local_graph = self.graph_manager.build_graph_from_definitions(self.definitions)
113
+ logging.info("Successfully created Bicep graph")
114
+
115
+ self.graph_manager.save_graph(local_graph)
116
+ self.definitions, self.breadcrumbs = convert_graph_vertices_to_tf_definitions(
117
+ vertices=local_graph.vertices, root_folder=root_folder
118
+ )
119
+
120
+ self.pbar.initiate(len(self.definitions))
121
+
122
+ # run Python checks
123
+ self.add_python_check_results(report=report, runner_filter=runner_filter, root_folder=root_folder)
124
+
125
+ # run graph checks
126
+ if SENTINELONE_CNS_CREATE_GRAPH:
127
+ self.add_graph_check_results(report=report, runner_filter=runner_filter)
128
+
129
+ if runner_filter.run_image_referencer:
130
+ if files:
131
+ # 'root_folder' shouldn't be empty to remove the whole path later and only leave the shortened form
132
+ root_folder = os.path.split(os.path.commonprefix(files))[0]
133
+
134
+ image_report = self.check_container_image_references(
135
+ graph_connector=self.graph_manager.get_reader_endpoint(),
136
+ root_path=root_folder,
137
+ runner_filter=runner_filter,
138
+ )
139
+
140
+ if image_report:
141
+ # due too many tests failing only return a list, if there is an image report
142
+ return [report, image_report]
143
+
144
+ return report
145
+
146
+ def set_definitions_raw(self, definitions_raw: dict[Path, list[tuple[int, str]]]) -> None:
147
+ self.definitions_raw = definitions_raw
148
+
149
+ def add_python_check_results(
150
+ self, report: Report, runner_filter: RunnerFilter, root_folder: str | Path | None
151
+ ) -> None:
152
+ """Adds Python check results to given report"""
153
+
154
+ for file_path, definition in self.definitions.items():
155
+ self.pbar.set_additional_data({'Current File Scanned': os.path.relpath(file_path, root_folder)})
156
+ for block_type, registry in Runner.block_type_registries.items():
157
+ block_type_confs = definition.get(block_type)
158
+ if block_type_confs:
159
+ for name, conf in block_type_confs.items():
160
+ results = registry.scan(
161
+ scanned_file=str(file_path),
162
+ entity={name: conf},
163
+ skipped_checks=[],
164
+ runner_filter=runner_filter
165
+ )
166
+
167
+ if results:
168
+ file_code_lines = self.definitions_raw[file_path]
169
+ start_line = conf["__start_line__"]
170
+ end_line = conf["__end_line__"]
171
+
172
+ cleaned_path = clean_file_path(file_path)
173
+ resource_id = f"{conf['type']}.{name}"
174
+ report.add_resource(f"{cleaned_path}:{resource_id}")
175
+
176
+ suppressions = collect_suppressions_for_report(
177
+ code_lines=file_code_lines[start_line - 1 : end_line]
178
+ )
179
+
180
+ for check, check_result in results.items():
181
+ if check.id in suppressions.keys():
182
+ check_result = suppressions[check.id]
183
+ elif check.bc_id and check.bc_id in suppressions.keys():
184
+ check_result = suppressions[check.bc_id]
185
+
186
+ censored_code_lines = omit_secret_value_from_checks(
187
+ check=check,
188
+ check_result=check_result,
189
+ entity_code_lines=file_code_lines[start_line - 1 : end_line],
190
+ entity_config=conf,
191
+ resource_attributes_to_omit=runner_filter.resource_attr_to_omit
192
+ )
193
+
194
+ record = Record(
195
+ check_id=check.id,
196
+ bc_check_id=check.bc_id,
197
+ check_name=check.name,
198
+ check_result=check_result,
199
+ code_block=censored_code_lines,
200
+ file_path=self.extract_file_path_from_abs_path(cleaned_path),
201
+ file_line_range=[start_line, end_line],
202
+ resource=resource_id,
203
+ check_class=check.__class__.__module__,
204
+ file_abs_path=str(file_path.absolute()),
205
+ evaluations=None,
206
+ severity=check.severity,
207
+ )
208
+ record.set_guideline(check.guideline)
209
+ report.add_record(record=record)
210
+ elif conf.get("existing") is False:
211
+ # resources without checks, but not existing ones
212
+
213
+ cleaned_path = clean_file_path(file_path)
214
+ resource_id = f"{conf['type']}.{name}"
215
+ report.extra_resources.add(
216
+ ExtraResource(
217
+ file_abs_path=str(file_path.absolute()),
218
+ file_path=self.extract_file_path_from_abs_path(cleaned_path),
219
+ resource=resource_id,
220
+ )
221
+ )
222
+ self.pbar.update()
223
+ self.pbar.close()
224
+
225
+ def extract_file_path_from_abs_path(self, path: Path) -> str:
226
+ return f"/{os.path.relpath(path, self.root_folder)}"
227
+
228
+ def add_graph_check_results(self, report: Report, runner_filter: RunnerFilter) -> None:
229
+ """Adds YAML check results to given report"""
230
+
231
+ checks_results = self.run_graph_checks_results(runner_filter, self.check_type)
232
+
233
+ for check, check_results in checks_results.items():
234
+ for check_result in check_results:
235
+ entity = check_result["entity"]
236
+ entity_file_path = Path(entity[CustomAttributes.FILE_PATH])
237
+
238
+ clean_check_result: _CheckResult = {
239
+ "result": check_result["result"],
240
+ "evaluated_keys": check_result["evaluated_keys"],
241
+ }
242
+
243
+ file_code_lines = self.definitions_raw[entity_file_path]
244
+ start_line = entity["__start_line__"]
245
+ end_line = cast("int", entity["__end_line__"])
246
+
247
+ record = Record(
248
+ check_id=check.id,
249
+ bc_check_id=check.bc_id,
250
+ check_name=check.name,
251
+ check_result=clean_check_result,
252
+ code_block=file_code_lines[start_line - 1 : end_line],
253
+ file_path=self.extract_file_path_from_abs_path(clean_file_path(entity_file_path)),
254
+ file_line_range=[start_line, end_line],
255
+ resource=entity[CustomAttributes.ID],
256
+ check_class=check.__class__.__module__,
257
+ file_abs_path=str(entity_file_path.absolute()),
258
+ evaluations=None,
259
+ severity=check.severity,
260
+ )
261
+ if self.breadcrumbs:
262
+ breadcrumb = self.breadcrumbs.get(record.file_path, {}).get(record.resource)
263
+ if breadcrumb:
264
+ record = GraphRecord(record, breadcrumb)
265
+ record.set_guideline(check.guideline)
266
+ report.add_record(record=record)
267
+
268
+ def extract_images(
269
+ self,
270
+ graph_connector: DiGraph | None = None,
271
+ definitions: None = None,
272
+ definitions_raw: dict[str, list[tuple[int, str]]] | None = None,
273
+ ) -> list[Image]:
274
+ if not graph_connector:
275
+ # should not happen
276
+ return []
277
+
278
+ manager = BicepImageReferencerManager(graph_connector=graph_connector)
279
+ images = manager.extract_images_from_resources()
280
+
281
+ return images
@@ -0,0 +1,113 @@
1
+ from __future__ import annotations
2
+
3
+ import logging
4
+ import os
5
+ import re
6
+ from collections.abc import Collection
7
+ from pathlib import Path
8
+ from typing import Any, TYPE_CHECKING
9
+
10
+ from s1_cns_cli.s1graph.common.runners.base_runner import filter_ignored_paths
11
+ from s1_cns_cli.s1graph.runner_filter import RunnerFilter
12
+ from s1_cns_cli.s1graph.bicep.parser import Parser
13
+
14
+ if TYPE_CHECKING:
15
+ from pycep.typing import BicepJson
16
+
17
+
18
+ BICEP_POSSIBLE_ENDINGS = [".bicep"]
19
+ BICEP_START_LINE = "__start_line__"
20
+ BICEP_END_LINE = "__end_line__"
21
+
22
+
23
+ def get_scannable_file_paths(
24
+ root_folder: str | Path | None = None, files: list[str] | None = None, excluded_paths: list[str] | None = None
25
+ ) -> set[Path]:
26
+ """Finds Bicep files"""
27
+
28
+ file_paths: set[Path] = set()
29
+
30
+ if root_folder:
31
+ root_path = Path(root_folder)
32
+ file_paths = {file_path for file_path in root_path.rglob("*.bicep") if file_path.is_file()}
33
+
34
+ if excluded_paths:
35
+ compiled = [re.compile(p.replace(".terraform", r"\.terraform")) for p in excluded_paths]
36
+ file_paths = {
37
+ file_path for file_path in file_paths if not any(pattern.search(str(file_path)) for pattern in compiled)
38
+ }
39
+ if files:
40
+ for file in files:
41
+ if file.endswith(".bicep"):
42
+ file_paths.add(Path(file))
43
+
44
+ return file_paths
45
+
46
+
47
+ def clean_file_path(file_path: Path) -> Path:
48
+ path_parts = [part for part in file_path.parts if part not in (".", "..")]
49
+
50
+ return Path(*path_parts)
51
+
52
+
53
+ def get_folder_definitions(
54
+ root_folder: str, excluded_paths: list[str] | None
55
+ ) -> tuple[dict[Path, BicepJson], dict[Path, list[tuple[int, str]]], list[str]]:
56
+ files_list: set[Path] = set()
57
+ for root, d_names, f_names in os.walk(root_folder):
58
+ filter_ignored_paths(root_folder, root, d_names, excluded_paths)
59
+ filter_ignored_paths(root_folder, root, f_names, excluded_paths)
60
+ for file in f_names:
61
+ file_ending = os.path.splitext(file)[1]
62
+ if file_ending in BICEP_POSSIBLE_ENDINGS:
63
+ full_path = os.path.join(root, file)
64
+ files_list.add(Path(full_path))
65
+ parser = Parser()
66
+
67
+ return parser.get_files_definitions(files_list)
68
+
69
+
70
+ def create_definitions(
71
+ root_folder: str,
72
+ files: "Collection[Path] | None" = None,
73
+ runner_filter: RunnerFilter | None = None,
74
+ ) -> tuple[dict[Path, BicepJson], dict[Path, list[tuple[int, str]]]]:
75
+ definitions: dict[Path, BicepJson] = {}
76
+ definitions_raw: dict[Path, list[tuple[int, str]]] = {}
77
+ parsing_errors: list[str] = []
78
+ runner_filter = runner_filter or RunnerFilter()
79
+
80
+ if files:
81
+ parser = Parser()
82
+ definitions, definitions_raw, parsing_errors = parser.get_files_definitions(file_paths=files)
83
+
84
+ if root_folder:
85
+ definitions, definitions_raw, parsing_errors = get_folder_definitions(root_folder, runner_filter.excluded_paths)
86
+
87
+ if parsing_errors:
88
+ logging.warning(f"[bicep] found errors while parsing definitions: {parsing_errors}")
89
+
90
+ return definitions, definitions_raw
91
+
92
+
93
+ def adjust_value(element_name: str, value: Any) -> Any:
94
+ """Adjusts the value, if the 'element_name' references a nested key
95
+
96
+ Ex:
97
+ element_name = publicKey.keyData
98
+ value = {"keyData": "key-data", "path": "path"}
99
+
100
+ returns new_value = "key-data"
101
+ """
102
+
103
+ if "." in element_name and isinstance(value, dict):
104
+ key_parts = element_name.split(".")
105
+ new_value = value.get(key_parts[1])
106
+
107
+ if new_value is None:
108
+ # couldn't find key in in value object
109
+ return None
110
+
111
+ return adjust_value(".".join(key_parts[1:]), new_value)
112
+
113
+ return value
@@ -0,0 +1 @@
1
+ from s1_cns_cli.s1graph.bitbucket.checks import * # noqa
@@ -0,0 +1,43 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import abstractmethod
4
+ from collections.abc import Iterable
5
+ from typing import TYPE_CHECKING, Any
6
+
7
+ from s1_cns_cli.s1graph.bitbucket.registry import registry
8
+ from s1_cns_cli.s1graph.common.checks.base_check import BaseCheck
9
+
10
+ if TYPE_CHECKING:
11
+ from s1_cns_cli.s1graph.common.models.enums import CheckCategories, CheckResult
12
+
13
+
14
+ class BaseBitbucketCheck(BaseCheck):
15
+ def __init__(
16
+ self,
17
+ name: str,
18
+ id: str,
19
+ categories: Iterable[CheckCategories],
20
+ supported_entities: Iterable[str],
21
+ block_type: str,
22
+ path: str | None = None,
23
+ guideline: str | None = None,
24
+ ):
25
+ super().__init__(
26
+ name=name,
27
+ id=id,
28
+ categories=categories,
29
+ supported_entities=supported_entities,
30
+ block_type=block_type,
31
+ guideline=guideline,
32
+ )
33
+ self.path = path
34
+ registry.register(self)
35
+
36
+ def scan_entity_conf(self, conf: dict[str, Any], entity_type: str) -> tuple[CheckResult, dict[str, Any]] | None: # type:ignore[override] # multi_signature decorator is problematic
37
+ self.entity_type = entity_type
38
+
39
+ return self.scan_conf(conf)
40
+
41
+ @abstractmethod
42
+ def scan_conf(self, conf: dict[str, Any]) -> tuple[CheckResult, dict[str, Any]] | None:
43
+ pass
@@ -0,0 +1,4 @@
1
+ from pathlib import Path
2
+
3
+ modules = Path(__file__).parent.glob("*.py")
4
+ __all__ = [f.stem for f in modules if f.is_file() and not f.stem == "__init__"]
@@ -0,0 +1,35 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+
5
+ from s1_cns_cli.s1graph.bitbucket.base_bitbucket_configuration_check import BaseBitbucketCheck
6
+ from s1_cns_cli.s1graph.bitbucket.schemas.branch_restrictions import schema as branch_restrictions_schema
7
+ from s1_cns_cli.s1graph.common.models.enums import CheckCategories, CheckResult
8
+ from s1_cns_cli.s1graph.json_doc.enums import BlockType
9
+
10
+
11
+ class MergeRequestRequiresApproval(BaseBitbucketCheck):
12
+ def __init__(self) -> None:
13
+ name = "Merge requests should require at least 2 approvals"
14
+ id = "CKV_BITBUCKET_1"
15
+ categories = (CheckCategories.SUPPLY_CHAIN,)
16
+ super().__init__(
17
+ name=name,
18
+ id=id,
19
+ categories=categories,
20
+ supported_entities=("*",),
21
+ block_type=BlockType.DOCUMENT
22
+ )
23
+
24
+ def scan_conf(self, conf: dict[str, Any]) -> tuple[CheckResult, dict[str, Any]] | None:
25
+ if branch_restrictions_schema.validate(conf):
26
+ for value in conf.get("values", []):
27
+ if value.get('kind', '') == 'require_approvals_to_merge':
28
+ if value.get('value', 0) >= 2:
29
+ return CheckResult.PASSED, conf
30
+ return CheckResult.FAILED, conf
31
+
32
+ return None
33
+
34
+
35
+ check = MergeRequestRequiresApproval()
@@ -0,0 +1,78 @@
1
+ from __future__ import annotations
2
+
3
+ import logging
4
+ import os
5
+ from typing import Any
6
+
7
+ import requests
8
+
9
+ from s1_cns_cli.s1graph.common.runners.base_runner import strtobool
10
+ from s1_cns_cli.s1graph.common.vcs.base_vcs_dal import BaseVCSDAL
11
+
12
+
13
+ class Bitbucket(BaseVCSDAL):
14
+ def setup_conf_dir(self) -> None:
15
+ """
16
+ discover parameters from execution context of sentinelone-cns and determine the directory to save temporal files of vcs configuration
17
+ """
18
+ bitbucket_conf_dir_name = os.getenv('CKV_BITBUCKET_CONF_DIR_NAME', 'bitbucket_conf')
19
+ self.bitbucket_conf_dir_path = os.path.join(os.getcwd(), bitbucket_conf_dir_name)
20
+ self.bitbucket_branch_restrictions_file_path = os.path.join(self.bitbucket_conf_dir_path,
21
+ "branch_restrictions.json")
22
+
23
+ def discover(self) -> None:
24
+ """
25
+ discover parameters from execution context of sentinelone-cns. usually from env variable
26
+ """
27
+ server_host = os.getenv('CI_SERVER_URL', "https://api.bitbucket.org/")
28
+ self.api_url = f'{server_host}2.0'
29
+ self.graphql_api_url = f"{server_host}api/graphql"
30
+
31
+ self.token = os.getenv('APP_PASSWORD', '')
32
+
33
+ self.current_repository = os.getenv('BITBUCKET_REPO_FULL_NAME', '')
34
+ self.current_branch = os.getenv('BITBUCKET_BRANCH', '')
35
+ self.default_branch_cache = {}
36
+ self.username = os.getenv('BITBUCKET_USERNAME', '')
37
+
38
+ def _request(self, endpoint: str, allowed_status_codes: list[int]) -> dict[str, Any] | None:
39
+ if not self.token:
40
+ return None
41
+ url_endpoint = f"{self.api_url}/{endpoint}"
42
+ try:
43
+ s = requests.Session()
44
+ s.auth = (self.username, self.token)
45
+ request = s.get(url_endpoint)
46
+ if request.status_code in allowed_status_codes:
47
+ data: "dict[str, Any]" = request.json()
48
+ if isinstance(data, dict) and 'errors' in data.keys():
49
+ return None
50
+ return data
51
+ else:
52
+ request.raise_for_status()
53
+ except Exception:
54
+ logging.debug(f"Query failed to run by returning code of {url_endpoint}", exc_info=True)
55
+
56
+ return None
57
+
58
+ def _headers(self) -> dict[str, Any]:
59
+ # not needed here
60
+ return {}
61
+
62
+ def get_branch_restrictions(self) -> dict[str, Any] | None:
63
+ if self.current_repository:
64
+ branch_restrictions = self._request(endpoint=f"repositories/{self.current_repository}/branch-restrictions",
65
+ allowed_status_codes=[200])
66
+ return branch_restrictions
67
+ logging.debug("Environment variable BITBUCKET_REPO_FULL_NAME was not set. Cannot fetch branch restrictions.")
68
+ return None
69
+
70
+ def persist_branch_restrictions(self) -> None:
71
+ branch_restrictions = self.get_branch_restrictions()
72
+
73
+ if branch_restrictions:
74
+ BaseVCSDAL.persist(path=self.bitbucket_branch_restrictions_file_path, conf=branch_restrictions)
75
+
76
+ def persist_all_confs(self) -> None:
77
+ if strtobool(os.getenv("CKV_BITBUCKET_CONFIG_FETCH_DATA", "True")):
78
+ self.persist_branch_restrictions()