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,330 @@
1
+ from __future__ import annotations
2
+
3
+ import asyncio
4
+ import logging
5
+ from abc import abstractmethod
6
+ from collections.abc import Iterable
7
+ from pathlib import Path
8
+ from typing import cast, Any, TYPE_CHECKING, Generic, TypeVar
9
+
10
+ import aiohttp
11
+ import docker
12
+
13
+ from s1_cns_cli.s1graph.common.s1cns.vulnerability_scanning.image_scanner import image_scanner
14
+ from s1_cns_cli.s1graph.common.s1cns.vulnerability_scanning.integrations.docker_image_scanning import \
15
+ docker_image_scanning_integration
16
+ from s1_cns_cli.s1graph.common.output.common import ImageDetails
17
+ from s1_cns_cli.s1graph.common.output.report import Report, CheckType
18
+ from s1_cns_cli.s1graph.common.sca.commons import should_run_scan
19
+ from s1_cns_cli.s1graph.common.sca.output import add_to_report_sca_data, get_license_statuses_async
20
+ from s1_cns_cli.s1graph.common.typing import _LicenseStatus
21
+
22
+ if TYPE_CHECKING:
23
+ from s1_cns_cli.s1graph.common.s1cns.platform_integration import BcPlatformIntegration
24
+ from s1_cns_cli.s1graph.runner_filter import RunnerFilter
25
+ from networkx import DiGraph
26
+
27
+ _Definitions = TypeVar("_Definitions")
28
+
29
+ INVALID_IMAGE_NAME_CHARS = ("[", "{", "(", "<", "$")
30
+
31
+
32
+ def fix_related_resource_ids(report: Report | None, tmp_dir: str) -> None:
33
+ """Remove tmp dir prefix from 'relatedResourceId'"""
34
+
35
+ if report and report.image_cached_results:
36
+ for cached_result in report.image_cached_results:
37
+ related_resource_id = cached_result.get("relatedResourceId")
38
+ if related_resource_id and isinstance(related_resource_id, str):
39
+ cached_result["relatedResourceId"] = related_resource_id.replace(tmp_dir, "", 1)
40
+
41
+
42
+ class Image:
43
+ def __init__(self, file_path: str, name: str, start_line: int, end_line: int,
44
+ related_resource_id: str | None = None) -> None:
45
+ """
46
+
47
+ :param file_path: example: 's1cns/integration_tests/example_workflow_file/.github/workflows/vulnerable_container.yaml'
48
+ :param name: example: 'node:14.16'
49
+ :param image_id: example: 'sha256:6a353e22ce'
50
+ :param start_line: example: 8
51
+ :param end_line: example: 16
52
+ """
53
+ self.end_line = end_line
54
+ self.start_line = start_line
55
+ self.name = name
56
+ self.file_path = file_path
57
+ self.related_resource_id = related_resource_id
58
+
59
+ def __eq__(self, other: Any) -> bool:
60
+ if isinstance(other, self.__class__):
61
+ return self.__dict__ == other.__dict__
62
+
63
+ return False
64
+
65
+ def __ne__(self, other: Any) -> bool:
66
+ return not self.__eq__(other)
67
+
68
+ def __hash__(self) -> int:
69
+ return hash((self.file_path, self.name, self.start_line, self.end_line))
70
+
71
+
72
+ class ImageReferencer:
73
+ @abstractmethod
74
+ def is_workflow_file(self, file_path: str) -> bool:
75
+ """
76
+
77
+ :param file_path: path of file to validate if it is a file that contains might images (example: CI workflow file)
78
+ :return: True if contains images
79
+
80
+ """
81
+ return False
82
+
83
+ @abstractmethod
84
+ def get_images(self, file_path: str) -> Iterable[Image]:
85
+ """
86
+ Get container images mentioned in a file
87
+ :param file_path: File to be inspected
88
+ :return: List of container images objects mentioned in the file.
89
+ """
90
+ return []
91
+
92
+ @staticmethod
93
+ def inspect(image_name: str) -> str:
94
+ """
95
+
96
+ :param image_name: name of the image to be inspected locally using a "docker inspect X". If image does not exist try to pull it locally.
97
+ :return: short image id sha that is inspected. In case inspect has failed None will be returned.
98
+ """
99
+ try:
100
+ logging.info("Inspecting docker image {}".format(image_name))
101
+ client = docker.from_env()
102
+ try:
103
+ image = client.images.get(image_name)
104
+ except Exception:
105
+ image = client.images.pull(image_name)
106
+ return cast(str, image.short_id)
107
+ return cast(str, image.short_id)
108
+ except Exception:
109
+ logging.debug(f"failed to pull docker image={image_name}", exc_info=True)
110
+ return ""
111
+
112
+
113
+ def is_valid_public_image_name(image_name: str) -> bool:
114
+ if image_name.startswith('localhost'):
115
+ return False
116
+ if any(char in image_name for char in INVALID_IMAGE_NAME_CHARS):
117
+ return False
118
+ if image_name.count(":") > 1:
119
+ # if there is more than one colon, then it is typically a private registry with port reference
120
+ return False
121
+ return True
122
+
123
+
124
+ class ImageReferencerMixin(Generic[_Definitions]):
125
+ """Mixin class to simplify image reference search"""
126
+
127
+ def check_container_image_references(
128
+ self,
129
+ root_path: str | Path | None,
130
+ runner_filter: RunnerFilter,
131
+ graph_connector: DiGraph | None = None,
132
+ definitions: _Definitions | None = None,
133
+ definitions_raw: dict[str, list[tuple[int, str]]] | None = None,
134
+ ) -> Report | None:
135
+ """Tries to find image references in graph based IaC templates"""
136
+ from s1_cns_cli.s1graph.common.s1cns.platform_integration import bc_integration
137
+
138
+ # skip complete run, if flag '--check' was used without a CVE check ID
139
+ if not should_run_scan(runner_filter.checks):
140
+ return None
141
+
142
+ images = self.extract_images(graph_connector=graph_connector, definitions=definitions,
143
+ definitions_raw=definitions_raw)
144
+ if not images:
145
+ return None
146
+
147
+ logging.info(f"Found {len(images)} image references {[image.name for image in images]}")
148
+
149
+ report = Report(CheckType.SCA_IMAGE)
150
+ root_path = Path(root_path) if root_path else None
151
+ check_class = f"{image_scanner.__module__}.{image_scanner.__class__.__qualname__}"
152
+ report_type = CheckType.SCA_IMAGE
153
+ image_names_to_query = list(set(filter(lambda i: is_valid_public_image_name(i), map(lambda i: i.name, images))))
154
+ results = asyncio.run(self._fetch_image_results_async(image_names_to_query))
155
+
156
+ license_statuses_by_image = asyncio.run(self._fetch_licenses_per_image(image_names_to_query, results))
157
+
158
+ for image in images:
159
+ try:
160
+ results_index = image_names_to_query.index(image.name)
161
+ cached_results = results[results_index]
162
+ except ValueError:
163
+ cached_results = {}
164
+
165
+ file_line_range = [image.start_line, image.end_line]
166
+ self._add_image_records(
167
+ report=report,
168
+ root_path=root_path,
169
+ check_class=check_class,
170
+ dockerfile_path=image.file_path,
171
+ image=image,
172
+ runner_filter=runner_filter,
173
+ report_type=report_type,
174
+ bc_integration=bc_integration,
175
+ cached_results=cached_results,
176
+ license_statuses=license_statuses_by_image.get(image.name) or [],
177
+ file_line_range=file_line_range if None not in file_line_range else None
178
+ )
179
+
180
+ return report
181
+
182
+ @staticmethod
183
+ async def _fetch_image_results_async(image_names_to_query: list[str]) -> list[dict[str, Any]]:
184
+ """
185
+ This is an async implementation of `_fetch_image_results`. The only change is we're getting a session
186
+ as an input, and the asyncio behavior is managed in the calling method.
187
+ """
188
+ async with aiohttp.ClientSession() as session:
189
+ results: list[dict[str, Any]] = await asyncio.gather(*[
190
+ image_scanner.get_scan_results_from_cache_async(session, f"image:{i}")
191
+ for i in image_names_to_query
192
+ ])
193
+ return results
194
+
195
+ def _add_image_records(
196
+ self,
197
+ report: Report,
198
+ root_path: Path | None,
199
+ check_class: str,
200
+ dockerfile_path: str,
201
+ image: Image,
202
+ runner_filter: RunnerFilter,
203
+ report_type: str,
204
+ bc_integration: BcPlatformIntegration,
205
+ cached_results: dict[str, Any],
206
+ license_statuses: list[_LicenseStatus],
207
+ file_line_range: list[int] | None = None
208
+ ) -> None:
209
+ """Adds an image record to the given report, if possible"""
210
+ if cached_results:
211
+ logging.info(f"Found cached scan results of image {image.name}")
212
+ image_scanning_report: dict[str, Any] = docker_image_scanning_integration.create_report(
213
+ twistcli_scan_result=cached_results,
214
+ bc_platform_integration=bc_integration,
215
+ file_path=dockerfile_path,
216
+ file_content=f'image: {image.name}',
217
+ docker_image_name=image.name,
218
+ related_resource_id=image.related_resource_id,
219
+ root_folder=root_path,
220
+ error_lines=file_line_range
221
+ )
222
+ report.image_cached_results.append(image_scanning_report)
223
+
224
+ result = cached_results.get("results", [{}])[0]
225
+ image_id = self._extract_image_short_id(result)
226
+ image_details = self._get_image_details_from_twistcli_result(scan_result=result, image_id=image_id)
227
+ dockerfile_rel_path = dockerfile_path
228
+ if root_path:
229
+ try:
230
+ dockerfile_rel_path = str(Path(dockerfile_path).relative_to(root_path))
231
+ except ValueError:
232
+ # Path.is_relative_to() was implemented in Python 3.9
233
+ pass
234
+ rootless_file_path = dockerfile_rel_path.replace(Path(dockerfile_rel_path).anchor, "", 1)
235
+ rootless_file_path_to_report = f"{rootless_file_path} ({image.name} lines:{image.start_line}-" \
236
+ f"{image.end_line} ({image_id}))"
237
+
238
+ self._add_vulnerability_records(
239
+ report=report,
240
+ result=result,
241
+ check_class=check_class,
242
+ dockerfile_path=dockerfile_path,
243
+ rootless_file_path=rootless_file_path_to_report,
244
+ image_details=image_details,
245
+ runner_filter=runner_filter,
246
+ report_type=report_type,
247
+ license_statuses=license_statuses,
248
+ file_line_range=file_line_range
249
+ )
250
+ else:
251
+ logging.info(f"No cache hit for image {image.name}")
252
+
253
+ @staticmethod
254
+ def _extract_image_short_id(scan_result: dict[str, Any]) -> str:
255
+ """Extracts a shortened version of the image ID from the scan result"""
256
+
257
+ if "id" not in scan_result:
258
+ return "sha256:unknown"
259
+
260
+ image_id: str = scan_result["id"]
261
+
262
+ if image_id.startswith("sha256:"):
263
+ return image_id[:17]
264
+ return image_id[:10]
265
+
266
+ @staticmethod
267
+ def _get_image_details_from_twistcli_result(scan_result: dict[str, Any], image_id: str) -> ImageDetails:
268
+ """Extracts the image detaisl from a twistcli scan result"""
269
+
270
+ image_packages = scan_result.get("packages", [])
271
+ image_package_types = {f'{package["name"]}@{package["version"]}': package["type"] for package in image_packages}
272
+ return ImageDetails(
273
+ distro=scan_result.get("distro", ""),
274
+ distro_release=scan_result.get("distroRelease", ""),
275
+ package_types=image_package_types,
276
+ image_id=image_id,
277
+ )
278
+
279
+ @staticmethod
280
+ def _add_vulnerability_records(
281
+ report: Report,
282
+ result: dict[str, Any],
283
+ check_class: str,
284
+ dockerfile_path: str,
285
+ rootless_file_path: str,
286
+ image_details: ImageDetails | None,
287
+ license_statuses: list[_LicenseStatus],
288
+ runner_filter: RunnerFilter,
289
+ report_type: str,
290
+ file_line_range: list[int] | None = None
291
+ ) -> None:
292
+ vulnerabilities = result.get("vulnerabilities", [])
293
+ packages = result.get("packages", [])
294
+ add_to_report_sca_data(
295
+ report=report,
296
+ check_class=check_class,
297
+ scanned_file_path=dockerfile_path,
298
+ rootless_file_path=rootless_file_path,
299
+ runner_filter=runner_filter,
300
+ vulnerabilities=vulnerabilities,
301
+ packages=packages,
302
+ license_statuses=license_statuses,
303
+ sca_details=image_details,
304
+ report_type=report_type,
305
+ file_line_range=file_line_range
306
+ )
307
+
308
+ @abstractmethod
309
+ def extract_images(
310
+ self,
311
+ graph_connector: DiGraph | None = None,
312
+ definitions: _Definitions | None = None,
313
+ definitions_raw: dict[str, list[tuple[int, str]]] | None = None
314
+ ) -> list[Image]:
315
+ """Tries to find image references in the graph or supported resource"""
316
+
317
+ pass
318
+
319
+ @staticmethod
320
+ async def _fetch_licenses_per_image(image_names: list[str], image_results: list[dict[str, Any]]) \
321
+ -> dict[str, list[_LicenseStatus]]:
322
+ merged_result: dict[str, list[_LicenseStatus]] = {}
323
+ async with aiohttp.ClientSession() as session:
324
+ license_results = await asyncio.gather(*[
325
+ get_license_statuses_async(session, result['results'][0].get('packages') or [], image_names[i])
326
+ for i, result in enumerate(image_results)
327
+ if "results" in result and result["results"]
328
+ ])
329
+ merged_result.update({r['image_name']: r['licenses'] for r in license_results})
330
+ return merged_result
File without changes
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+
3
+ from s1_cns_cli.s1graph.common.images.workflow.image_referencer_provider import WorkflowImageReferencerProvider
4
+
5
+ from typing import Any, TYPE_CHECKING
6
+
7
+ if TYPE_CHECKING:
8
+ from s1_cns_cli.s1graph.common.images.image_referencer import Image
9
+
10
+
11
+ class WorkflowImageReferencerManager:
12
+ __slots__ = ("workflow_config", "file_path", "provider")
13
+
14
+ def __init__(self, workflow_config: dict[str, Any], file_path: str, provider: WorkflowImageReferencerProvider):
15
+ self.workflow_config = workflow_config
16
+ self.file_path = file_path
17
+ self.provider = provider
18
+
19
+ def extract_images_from_workflow(self) -> list[Image]:
20
+ images: list[Image] = self.provider.extract_images_from_workflow()
21
+ return images
@@ -0,0 +1,21 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import abstractmethod
4
+ from typing import Any
5
+
6
+ from s1_cns_cli.s1graph.common.images.image_referencer import Image
7
+ from s1_cns_cli.s1graph.common.util.consts import START_LINE, END_LINE
8
+
9
+
10
+ class WorkflowImageReferencerProvider:
11
+ def __init__(self, workflow_config: dict[str, Any], file_path: str):
12
+ self.workflow_config = workflow_config
13
+ self.file_path = file_path
14
+
15
+ @staticmethod
16
+ def _get_start_end_lines(entity: dict[str, Any]) -> tuple[int, int]:
17
+ return entity.get(START_LINE, 0), entity.get(END_LINE, 0)
18
+
19
+ @abstractmethod
20
+ def extract_images_from_workflow(self) -> list[Image]:
21
+ pass
File without changes
@@ -0,0 +1,35 @@
1
+ import re
2
+
3
+ SUPPORTED_FILE_EXTENSIONS = [".tf", ".yml", ".yaml", ".json", ".template", ".bicep", ".hcl"]
4
+ SUPPORTED_PACKAGE_FILES = {
5
+ "bower.json",
6
+ "build.gradle",
7
+ "build.gradle.kts",
8
+ "go.sum",
9
+ "gradle.properties",
10
+ "METADATA",
11
+ "npm-shrinkwrap.json",
12
+ "package.json",
13
+ "package-lock.json",
14
+ "pom.xml",
15
+ "requirements.txt"
16
+ }
17
+ SUPPORTED_FILES = SUPPORTED_PACKAGE_FILES.union({"Dockerfile"})
18
+
19
+ DEPENDENCY_TREE_SUPPORTED_FILES = {"yarn.lock", "Gemfile", "Gemfile.lock", "go.mod", "paket.dependencies", "paket.lock", "packages.config"}
20
+
21
+ SCANNABLE_PACKAGE_FILES_EXTENSIONS = {".csproj"}
22
+
23
+ SCANNABLE_PACKAGE_FILES = SUPPORTED_PACKAGE_FILES | DEPENDENCY_TREE_SUPPORTED_FILES
24
+
25
+ ANY_VALUE = "CKV_ANY"
26
+ DOCKER_IMAGE_REGEX = re.compile(r'(?:[^\s\/]+\/)?([^\s:]+):?([^\s]*)')
27
+ access_key_pattern = re.compile("(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])") # nosec
28
+ secret_key_pattern = re.compile("(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])") # nosec
29
+ linode_token_pattern = re.compile("(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{64}(?![A-Za-z0-9/+=])") # nosec
30
+ s1cns_token_pattern = re.compile(r"^[a-f0-9]{8}-?[a-f0-9]{4}-?4[a-f0-9]{3}-?[89ab][a-f0-9]{3}-?[a-f0-9]{12}\Z") # nosec
31
+ panos_api_key_pattern = re.compile(r"^LUFRPT1[a-zA-Z0-9]+==\Z") # nosec
32
+ SLS_DEFAULT_VAR_PATTERN = re.compile(r"\${([^{}]+?)}")
33
+ YAML_COMMENT_MARK = '#'
34
+ TFC_HOST_NAME = "app.terraform.io"
35
+ ckv_check_id_pattern = re.compile(r"^CKV2?_[A-Za-z]*_[0-9]*$")
@@ -0,0 +1,61 @@
1
+ from dataclasses import dataclass
2
+ from enum import Enum, IntEnum
3
+
4
+
5
+ class CheckResult(str, Enum):
6
+ PASSED = "PASSED"
7
+ FAILED = "FAILED"
8
+ # Unknown should be used when a check does not wish to return a result, generally due to the inability
9
+ # to resolve a value or similar types of errors.
10
+ UNKNOWN = "UNKNOWN"
11
+ # Skipped is used by the framework when a test is suppressed and should not be used directly by checks.
12
+ SKIPPED = "SKIPPED"
13
+
14
+
15
+ class CheckCategories(Enum):
16
+ LOGGING = 1
17
+ ENCRYPTION = 2
18
+ GENERAL_SECURITY = 3
19
+ NETWORKING = 4
20
+ IAM = 5
21
+ BACKUP_AND_RECOVERY = 6
22
+ CONVENTION = 7
23
+ SECRETS = 8
24
+ KUBERNETES = 9
25
+ APPLICATION_SECURITY = 10
26
+ SUPPLY_CHAIN = 11
27
+ API_SECURITY = 12
28
+
29
+
30
+ class OutputFormat(Enum):
31
+ CONSOLE = 1
32
+ JSON = 2
33
+ JUNIT_XML = 3
34
+
35
+
36
+ class ContextCategories(Enum):
37
+ PROVIDER = 1
38
+ TERRAFORM = 2
39
+ LOCALS = 3
40
+ MODULE = 4
41
+ DATA = 5
42
+ RESOURCE = 6
43
+ VARIABLE = 7
44
+ OUTPUT = 8
45
+
46
+
47
+ class ScanDataFormat(Enum):
48
+ TWISTCLI = 1
49
+ PLATFORM = 2
50
+ DEPENDENCY_TREE = 3
51
+
52
+
53
+ class ErrorStatus(IntEnum):
54
+ SUCCESS = 0
55
+ ERROR = 2
56
+
57
+
58
+ @dataclass
59
+ class CheckFailLevel:
60
+ WARNING = 'WARNING'
61
+ ERROR = 'ERROR'
@@ -0,0 +1,129 @@
1
+ from __future__ import annotations
2
+
3
+ import inspect
4
+ from abc import ABCMeta
5
+ from functools import update_wrapper
6
+ from types import CodeType
7
+ from typing import Callable, Any, TypeVar, cast
8
+ from typing_extensions import Protocol
9
+
10
+ _MultiT = TypeVar("_MultiT")
11
+
12
+
13
+ class _MultiSignataureMethod(Protocol):
14
+ __code__: CodeType
15
+ __multi_signature_wrappers__: dict[tuple[tuple[str, ...], Any, Any], Callable[..., Any]]
16
+
17
+ def __call__(self, *args: Any, **kwargs: Any) -> Any:
18
+ ...
19
+
20
+ def add_signature(self, *, args: list[str], varargs: Any = None, varkw: Any = None) -> Callable[[Callable[..., Any]], Callable[..., Any]]:
21
+ ...
22
+
23
+
24
+ class MultiSignatureMeta(ABCMeta): # noqa: B024 # needs to be ABCMeta, because of the super().__new__ call
25
+ __multi_signature_methods__: dict[str, _MultiSignataureMethod] # noqa: CCE003
26
+
27
+ def __new__(cls, name: str, bases: tuple[Any], namespace: dict[str, Any], **kwargs: Any) -> MultiSignatureMeta:
28
+ mcs = super().__new__(cls, name, bases, namespace, **kwargs)
29
+ multi_signatures: dict[str, _MultiSignataureMethod] = {
30
+ name: value # type:ignore[misc]
31
+ for name, value in namespace.items()
32
+ if hasattr(value, "__multi_signature_wrappers__") and inspect.isfunction(value)
33
+ # isfunction, because function is not bound yet
34
+ }
35
+ # search in base classes for decorated functions
36
+ for base in bases:
37
+ for name, value in getattr(base, "__multi_signature_methods__", {}).items():
38
+ if inspect.isfunction(value) and hasattr(value, "__multi_signature_wrappers__"):
39
+ multi_signature_wrappers = getattr(value, "__multi_signature_wrappers__", {})
40
+ if multi_signature_wrappers:
41
+ current_function = multi_signatures.get(name)
42
+ if current_function:
43
+ current_function.__multi_signature_wrappers__.update(multi_signature_wrappers)
44
+ else:
45
+ multi_signatures[name] = cast(_MultiSignataureMethod, value)
46
+
47
+ mcs.__multi_signature_methods__ = multi_signatures
48
+ for name, value in multi_signatures.items():
49
+ wrapped = getattr(mcs, name)
50
+ arguments = inspect.getargs(wrapped.__code__)
51
+ if arguments == inspect.getargs(value.__code__):
52
+ # Do not replace if the signature is the same
53
+ continue
54
+ # convert args into a tuple
55
+ args, varargs, varkw = arguments
56
+ multi_signature_key = tuple(args), varargs, varkw
57
+ get_wrapper = value.__multi_signature_wrappers__.get(tuple(multi_signature_key), None)
58
+ if get_wrapper:
59
+ wrapper = get_wrapper(mcs, wrapped)
60
+ update_wrapper(wrapper, wrapped)
61
+ setattr(mcs, name, wrapper)
62
+ else:
63
+ # unknown implementation
64
+ raise NotImplementedError(f"The signature {multi_signature_key} for {name} is not supported.")
65
+
66
+ return mcs
67
+
68
+
69
+ class multi_signature:
70
+ """
71
+ Decorator to allow other signatures in sub classes.
72
+
73
+ You can use this decorator on class methods. The implementation requires that the metaclass of that class is
74
+ :class:`MultiSignatureMeta`
75
+ This class extends :class:`ABCMeta` so it supports abstract base classes.
76
+ """
77
+
78
+ def __init__(self) -> None:
79
+ self.__wrappers__: dict[tuple[tuple[str, ...], Any, Any], Callable[..., _MultiT]] = {}
80
+
81
+ def __call__(self, fn: Callable[..., _MultiT]) -> _MultiSignataureMethod:
82
+ fn.add_signature = self.add_signature # type:ignore[attr-defined]
83
+ fn.__multi_signature_wrappers__ = self.__wrappers__ # type:ignore[attr-defined]
84
+ return cast(_MultiSignataureMethod, fn)
85
+
86
+ def add_signature(
87
+ self, *, args: list[str], varargs: Any = None, varkw: Any = None
88
+ ) -> Callable[[Callable[..., _MultiT]], Callable[..., _MultiT]]:
89
+ """
90
+ Registers a new wrapper for the decorated function.
91
+
92
+ The decorated function must have two parameters (`cls` and `wrapped`) (The names are not enforced.).
93
+ The first one is the class so this has to be a class function. The second one is the function to wrap.
94
+ It has to return a function that has the same signature as the one decorated with `@multi_signature`.
95
+ The returned function has to call `wrapped`, which is a function with the parameters listed as `args`
96
+ and must return the result of `wrapped`. If the wrapped function has varargs, the name of this variable
97
+ is specified with `varargs`. For keyword args it is `varkw`. See :func:`inspect.getargs` to get the
98
+ correct order.
99
+
100
+ The implementation must not handle doc preservation. This is already done by the implementation.
101
+
102
+ :param args: the parameters that the wrapped version of the function accepts.
103
+ :param varargs: if the wrapped version uses varargs, this is the name of this
104
+ parameter. If not used, this is `None`.
105
+ :param varkw: if the wrapped version uses keyword arguments, this is the name
106
+ of this parameter. If not used, this is `None`.
107
+
108
+ :Example:
109
+
110
+ >>> class Example(metaclass=MultiSignatureMeta:
111
+ >>>
112
+ >>> @multi_signature
113
+ >>> def some_function(self, a, b, c):
114
+ >>> pass
115
+ >>>
116
+ >>> @classmethod
117
+ >>> @some_function.add_signature("self", "a")
118
+ >>> def _some_function_self_a(cls, wrapped):
119
+ >>> def wrapper(self, a, b, c):
120
+ >>> return wrapped(self, a)
121
+ >>>
122
+ >>> return wrapper
123
+ """
124
+
125
+ def wrapper(fn: Callable[..., _MultiT]) -> Callable[..., _MultiT]:
126
+ self.__wrappers__[(tuple(args), varargs, varkw)] = fn # type:ignore[assignment] # mypy bug
127
+ return fn
128
+
129
+ return wrapper
File without changes