regscale-cli 6.25.0.1__py3-none-any.whl → 6.26.0.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.

Potentially problematic release.


This version of regscale-cli might be problematic. Click here for more details.

Files changed (84) hide show
  1. regscale/_version.py +1 -1
  2. regscale/airflow/hierarchy.py +2 -2
  3. regscale/core/app/application.py +18 -3
  4. regscale/core/app/internal/login.py +0 -1
  5. regscale/core/app/utils/catalog_utils/common.py +1 -1
  6. regscale/integrations/commercial/sicura/api.py +14 -13
  7. regscale/integrations/commercial/sicura/commands.py +8 -2
  8. regscale/integrations/commercial/sicura/scanner.py +49 -39
  9. regscale/integrations/commercial/stigv2/ckl_parser.py +5 -5
  10. regscale/integrations/commercial/synqly/assets.py +17 -0
  11. regscale/integrations/commercial/wizv2/click.py +26 -26
  12. regscale/integrations/commercial/wizv2/compliance_report.py +152 -157
  13. regscale/integrations/commercial/wizv2/constants.py +20 -71
  14. regscale/integrations/commercial/wizv2/scanner.py +3 -3
  15. regscale/integrations/compliance_integration.py +67 -2
  16. regscale/integrations/control_matcher.py +358 -0
  17. regscale/integrations/due_date_handler.py +118 -6
  18. regscale/integrations/milestone_manager.py +291 -0
  19. regscale/integrations/public/__init__.py +1 -0
  20. regscale/integrations/public/cci_importer.py +37 -38
  21. regscale/integrations/public/fedramp/click.py +60 -2
  22. regscale/integrations/public/fedramp/poam_export_v5.py +888 -0
  23. regscale/integrations/scanner_integration.py +199 -130
  24. regscale/models/integration_models/cisa_kev_data.json +199 -4
  25. regscale/models/integration_models/nexpose.py +36 -10
  26. regscale/models/integration_models/synqly_models/capabilities.json +1 -1
  27. regscale/models/locking.py +12 -8
  28. regscale/models/platform.py +1 -2
  29. regscale/models/regscale_models/control_implementation.py +46 -21
  30. regscale/models/regscale_models/issue.py +256 -94
  31. regscale/models/regscale_models/milestone.py +1 -1
  32. regscale/models/regscale_models/regscale_model.py +6 -1
  33. regscale/templates/__init__.py +0 -0
  34. regscale/utils/threading/threadhandler.py +20 -15
  35. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/METADATA +1 -1
  36. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/RECORD +84 -37
  37. tests/regscale/integrations/commercial/__init__.py +0 -0
  38. tests/regscale/integrations/commercial/conftest.py +28 -0
  39. tests/regscale/integrations/commercial/microsoft_defender/__init__.py +1 -0
  40. tests/regscale/integrations/commercial/microsoft_defender/test_defender.py +1517 -0
  41. tests/regscale/integrations/commercial/microsoft_defender/test_defender_api.py +1748 -0
  42. tests/regscale/integrations/commercial/microsoft_defender/test_defender_constants.py +327 -0
  43. tests/regscale/integrations/commercial/microsoft_defender/test_defender_scanner.py +487 -0
  44. tests/regscale/integrations/commercial/test_aws.py +3731 -0
  45. tests/regscale/integrations/commercial/test_burp.py +48 -0
  46. tests/regscale/integrations/commercial/test_crowdstrike.py +49 -0
  47. tests/regscale/integrations/commercial/test_dependabot.py +341 -0
  48. tests/regscale/integrations/commercial/test_gcp.py +1543 -0
  49. tests/regscale/integrations/commercial/test_gitlab.py +549 -0
  50. tests/regscale/integrations/commercial/test_ip_mac_address_length.py +84 -0
  51. tests/regscale/integrations/commercial/test_jira.py +1814 -0
  52. tests/regscale/integrations/commercial/test_npm_audit.py +42 -0
  53. tests/regscale/integrations/commercial/test_okta.py +1228 -0
  54. tests/regscale/integrations/commercial/test_sarif_converter.py +251 -0
  55. tests/regscale/integrations/commercial/test_sicura.py +350 -0
  56. tests/regscale/integrations/commercial/test_snow.py +423 -0
  57. tests/regscale/integrations/commercial/test_sonarcloud.py +394 -0
  58. tests/regscale/integrations/commercial/test_sqlserver.py +186 -0
  59. tests/regscale/integrations/commercial/test_stig.py +33 -0
  60. tests/regscale/integrations/commercial/test_stig_mapper.py +153 -0
  61. tests/regscale/integrations/commercial/test_stigv2.py +406 -0
  62. tests/regscale/integrations/commercial/test_wiz.py +1469 -0
  63. tests/regscale/integrations/commercial/test_wiz_inventory.py +256 -0
  64. tests/regscale/integrations/commercial/wizv2/__init__.py +339 -0
  65. tests/regscale/integrations/commercial/wizv2/test_compliance_report_normalization.py +138 -0
  66. tests/regscale/integrations/commercial/wizv2/test_issue.py +343 -0
  67. tests/regscale/integrations/commercial/wizv2/test_wiz_click_client_id.py +165 -0
  68. tests/regscale/integrations/commercial/wizv2/test_wiz_compliance_report.py +1351 -0
  69. tests/regscale/integrations/commercial/wizv2/test_wiz_compliance_unit.py +341 -0
  70. tests/regscale/integrations/commercial/wizv2/test_wiz_control_normalization.py +138 -0
  71. tests/regscale/integrations/commercial/wizv2/test_wiz_policy_compliance.py +750 -0
  72. tests/regscale/integrations/commercial/wizv2/test_wiz_status_mapping.py +149 -0
  73. tests/regscale/integrations/commercial/wizv2/test_wizv2.py +264 -0
  74. tests/regscale/integrations/commercial/wizv2/test_wizv2_utils.py +624 -0
  75. tests/regscale/integrations/public/fedramp/__init__.py +1 -0
  76. tests/regscale/integrations/public/fedramp/test_poam_export_v5.py +1293 -0
  77. tests/regscale/integrations/test_control_matcher.py +1314 -0
  78. tests/regscale/integrations/test_control_matching.py +155 -0
  79. tests/regscale/integrations/test_milestone_manager.py +408 -0
  80. tests/regscale/models/test_issue.py +378 -1
  81. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/LICENSE +0 -0
  82. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/WHEEL +0 -0
  83. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/entry_points.txt +0 -0
  84. {regscale_cli-6.25.0.1.dist-info → regscale_cli-6.26.0.0.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,7 @@
3
3
  """Thread handler to create and start threads"""
4
4
 
5
5
  from concurrent.futures import ThreadPoolExecutor, TimeoutError, as_completed
6
- from typing import Any, Callable, List, Tuple, Union
6
+ from typing import Any, Callable, List, Optional, Tuple, Union
7
7
 
8
8
 
9
9
  class ThreadManager:
@@ -98,16 +98,7 @@ def create_threads(process: Callable, args: Tuple, thread_count: int) -> None:
98
98
  :param int thread_count: # of threads needed
99
99
  :rtype: None
100
100
  """
101
- # set max threads
102
- from regscale.core.app.application import Application
103
-
104
- app = Application()
105
- max_threads = app.config.get("maxThreads", 100)
106
- if not isinstance(max_threads, int):
107
- try:
108
- max_threads = int(max_threads)
109
- except (ValueError, TypeError):
110
- max_threads = 100
101
+ max_threads = _determine_max_threads()
111
102
  if threads := min(thread_count, max_threads):
112
103
  # start the threads with the number of threads allowed
113
104
  with ThreadPoolExecutor(max_workers=threads) as executor:
@@ -127,15 +118,29 @@ def thread_assignment(thread: int, total_items: int) -> list:
127
118
  :return: List of items to process for the given thread
128
119
  :rtype: list
129
120
  """
121
+ max_threads = _determine_max_threads()
122
+
123
+ return [x for x in range(total_items) if x % max_threads == thread]
124
+
125
+
126
+ def _determine_max_threads(default: Optional[int] = 100) -> int:
127
+ """
128
+ Function to determine the max threads to use by checking the Application config
129
+
130
+ :param Optional[int] default: The default max threads to use if the Application config is not set, defaults to 100
131
+ :return: The max threads to use
132
+ :rtype: int
133
+ """
130
134
  from regscale.core.app.application import Application
131
135
 
132
136
  app = Application()
137
+ if app.running_in_airflow:
138
+ default = 20
133
139
  # set max threads
134
- max_threads = app.config.get("maxThreads", 100)
140
+ max_threads = app.config.get("maxThreads", default)
135
141
  if not isinstance(max_threads, int):
136
142
  try:
137
143
  max_threads = int(max_threads)
138
144
  except (ValueError, TypeError):
139
- max_threads = 100
140
-
141
- return [x for x in range(total_items) if x % max_threads == thread]
145
+ max_threads = default
146
+ return max_threads
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: regscale-cli
3
- Version: 6.25.0.1
3
+ Version: 6.26.0.0
4
4
  Summary: Command Line Interface (CLI) for bulk processing/loading data into RegScale
5
5
  Home-page: https://github.com/RegScale/regscale-cli
6
6
  Author: Travis Howerton
@@ -1,11 +1,11 @@
1
1
  regscale/__init__.py,sha256=ZygAIkX6Nbjag1czWdQa-yP-GM1mBE_9ss21Xh__JFc,34
2
- regscale/_version.py,sha256=uOMrPCnBFPxcbCOIl5yNTm-LwhdfzpkFWbAUt-kLbvI,1198
2
+ regscale/_version.py,sha256=emon4s2RzHMld0kqxdPDTuzAdQz3PpOYN1Hv8IsP30U,1198
3
3
  regscale/regscale.py,sha256=4LzcbkBxPh23cCLANVEEr6uNoZ0sebHec0N-VJm5_vA,31480
4
4
  regscale/airflow/__init__.py,sha256=yMwN0Bz4JbM0nl5qY_hPegxo_O2ilhTOL9PY5Njhn-s,270
5
5
  regscale/airflow/click_dags.py,sha256=H3SUR5jkvInNMv1gu-VG-Ja_H-kH145CpQYNalWNAbE,4520
6
6
  regscale/airflow/click_mixins.py,sha256=BTwKWsEu6KVtlrzFbXpD_RuEpMzc-CSnCCySUzqzCgQ,3571
7
7
  regscale/airflow/config.py,sha256=ANMayMHf-W5P4UNpjCJPP0QP7iKGkkFJ3lUsPn04Q_A,970
8
- regscale/airflow/hierarchy.py,sha256=TPYZpCaaew1YM82MuxxHSrS9zbkUOxe3BUCs2-6E5pc,3176
8
+ regscale/airflow/hierarchy.py,sha256=E6d9b3KBJLvNMr9VrOlrtN3RHqtYfMMZfk1xFkTvM4w,3176
9
9
  regscale/airflow/azure/__init__.py,sha256=20IXz_ByZ3C7vCMB72AOZxEry-i4_YXvotG1IJm-Zmc,301
10
10
  regscale/airflow/azure/cli.py,sha256=ZQJR3-9gBK1BEs4J5gWpLmGhA0TTkNPyeYdDl3orm7M,2935
11
11
  regscale/airflow/azure/upload_dags.py,sha256=WaAH_nDyrHooYieqMx1TRk_SbXkw9GzkbXemv3Zl-3Q,4256
@@ -36,7 +36,7 @@ regscale/core/lazy_group.py,sha256=S2-nA5tzm47A929NOTqGkzrzKuZQDlq2OAPbNnG1W1Q,2
36
36
  regscale/core/login.py,sha256=-8vy1HVAtv1iARnZh6uzYtwmx8VFYPwLYR0QAf1ttCk,2714
37
37
  regscale/core/app/__init__.py,sha256=nGcCN1vWBAnZzoccIlt0jwWQdegCOrBWOB7LPhQkQSs,96
38
38
  regscale/core/app/api.py,sha256=yJhlKICpy8irEcZaFWq36_Bi2I_VcQ7Fh_LtGm0-H98,23632
39
- regscale/core/app/application.py,sha256=JLPXjKYpFYHKmo4dmaAG1N9urMjPUdL5dbow_fPcUTM,32285
39
+ regscale/core/app/application.py,sha256=CeGQyBURua2CLxfGWzIKtF0XzVQpuLBth7c_sr26jWc,33140
40
40
  regscale/core/app/logz.py,sha256=8AdBKmquv45JGi5fCMc38JqQg6-FpUONGmqfd5EGwrI,2583
41
41
  regscale/core/app/internal/__init__.py,sha256=rod4nmE7rrYDdbuYF4mCWz49TK_2r-v4tWy1UHW63r0,4808
42
42
  regscale/core/app/internal/admin_actions.py,sha256=hOdma7QGwFblmxEj9UTjiWWmZGUS5_ZFtxL2qZdhf-Q,7443
@@ -48,7 +48,7 @@ regscale/core/app/internal/encrypt.py,sha256=yOEMDDlpI0Sc0LkoeCtXbypnOF8cxoDrzKR
48
48
  regscale/core/app/internal/evidence.py,sha256=dB95G-0ppLyrYg2BvUhyrdyXZ419vjJPapPVm5q-VTI,52423
49
49
  regscale/core/app/internal/file_uploads.py,sha256=EfQ4ViJBHzU9bxnFunK3ahA6T9A6pnA-Jk2NrtgmrQY,4776
50
50
  regscale/core/app/internal/healthcheck.py,sha256=ef4Mwk19vi71bv-Xkny5_EGG1UXTbCO5dvEIzHyyfVA,2010
51
- regscale/core/app/internal/login.py,sha256=GsFaBwmSc32liWoRnMFy78m8SuB9pfUV0c1lyCEXFEo,10996
51
+ regscale/core/app/internal/login.py,sha256=AKmZq9kxwpNV3LnAGwtdI2dn0qh1SG_mZ7OtIRSce1Q,10968
52
52
  regscale/core/app/internal/migrations.py,sha256=wHIzb1uglLVOXawnb-K3Yt70Z5QyfQYb8ZZOMDrNRU4,7983
53
53
  regscale/core/app/internal/model_editor.py,sha256=0sxfg92TJYyECU9KwgHooXeY3ZdaF2i5gGWe1gButFY,61696
54
54
  regscale/core/app/internal/poam_editor.py,sha256=3PtpSMpV7bqKFuTHD2ACYcTyB3EEtTRKuYv-XArjd0A,22929
@@ -65,7 +65,7 @@ regscale/core/app/utils/regscale_utils.py,sha256=KuXTAfEO10DQTnhQadIBIQ02iuLD0D0
65
65
  regscale/core/app/utils/report_utils.py,sha256=rKn3nmiSPq8LTKM16UiKBSizTsZKh-7JwdOlfX6YSpQ,4210
66
66
  regscale/core/app/utils/variables.py,sha256=h29Qrr6jg-Feo74IeqHz28wYLhgtzZ2pCDMf6g0WJFU,8989
67
67
  regscale/core/app/utils/catalog_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- regscale/core/app/utils/catalog_utils/common.py,sha256=LDisn1fyfXC_cPV5rcGuDBKtSug2zv_ju9G9r_k4-BU,2812
68
+ regscale/core/app/utils/catalog_utils/common.py,sha256=ywSFQmnpQegtQSDsaYtGMY6b_dmNH6Xcn9UetuKoFm0,2812
69
69
  regscale/core/app/utils/catalog_utils/compare_catalog.py,sha256=WtmRPQYI7Hg5hZ4xeWL8gLG8JcLtWxozonWTITRa4Ow,7336
70
70
  regscale/core/app/utils/catalog_utils/diagnostic_catalog.py,sha256=fudQ7XW4rQQlwr0jH5k8xAu4AURU8bfme03m6PlHLbg,3664
71
71
  regscale/core/app/utils/catalog_utils/download_catalog.py,sha256=urzsFvVvK09Nczi1GkrTTPUJg87NpeTa0BFElx2eKJc,3335
@@ -111,11 +111,13 @@ regscale/exceptions/validation_exception.py,sha256=_DW_GARtPr_Dyy8tolnvC_AYsHRsU
111
111
  regscale/integrations/__init__.py,sha256=Sqthp3Jggo7co_go380cLn3OAb0cHwqL609_4QJSFBY,58
112
112
  regscale/integrations/api_paginator.py,sha256=73rjaNM9mGv8evHAeoObXEjZPg-bJuGPo60ewCLEil8,33192
113
113
  regscale/integrations/api_paginator_example.py,sha256=lEuYI-xEGcjnXuIzbCobCP0YRuukLF0s8S3d382SAH4,12119
114
- regscale/integrations/compliance_integration.py,sha256=as4cb4NWmY9mTaHtu75lvwxScB3OKE3Ge6ki7-zZNBE,91103
115
- regscale/integrations/due_date_handler.py,sha256=qIOeFx4LPvOTpqJx8JV5Hj3FLlx0FoaYAsFoXqxYBcs,8343
114
+ regscale/integrations/compliance_integration.py,sha256=0aEpbUY7zy_UmndGlEW_NNwcZE1aykAn7LamYsGxAW8,94126
115
+ regscale/integrations/control_matcher.py,sha256=gJtHkO77aBw3UzVgZGaVOmaGxc0P6vyvMyTzL8mn1nc,13742
116
+ regscale/integrations/due_date_handler.py,sha256=RIT5OuKLeEU2XkSv5i8NIAyrLmJ39ZY4XFLxylw-L34,13861
116
117
  regscale/integrations/integration_override.py,sha256=HjYBCuvNpU3t3FptaqYAkdexLFOZBAFrFE9xU0RD1Nc,5867
117
118
  regscale/integrations/jsonl_scanner_integration.py,sha256=l8nq_T3rE1XX-6HxrNHm3xzxCNWbIjxQvGMdtZWs7KQ,57003
118
- regscale/integrations/scanner_integration.py,sha256=T9AkwDdL1V2e6G31MLFYsbMzkyX4emqmomsp_muOdew,187010
119
+ regscale/integrations/milestone_manager.py,sha256=td5m-2LIUkHY7S3rtGwj-SLLuSGN4aiJOPAiKRcE4A4,10779
120
+ regscale/integrations/scanner_integration.py,sha256=CS72evB6AYZ-fEv_Su6FspM0YRmXS4xQCQ5Ik5I46IY,190238
119
121
  regscale/integrations/variables.py,sha256=MfQ34WuYVN5437A9sZ2ssHRkA3gFhMHfk1DVasceGmY,2336
120
122
  regscale/integrations/commercial/__init__.py,sha256=U2RIsRe4lKufADRwMJY0RhSbL6TX4jLxpCtbcnzvI3k,14607
121
123
  regscale/integrations/commercial/ad.py,sha256=YXSmK8vRf6yi2GnREGa5GrE6GelhFrLj44SY8AO1pK0,15509
@@ -206,19 +208,19 @@ regscale/integrations/commercial/sarif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
206
208
  regscale/integrations/commercial/sarif/sairf_importer.py,sha256=gCuDsybT0jbhCtQLJW0L88hLxUpWIgatVERU4D6_9Xc,17886
207
209
  regscale/integrations/commercial/sarif/sarif_converter.py,sha256=3KJ7GBt8iJzTKdlUNq5rRx9JaoIHcESdbQim7AfhvNk,1910
208
210
  regscale/integrations/commercial/sicura/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
- regscale/integrations/commercial/sicura/api.py,sha256=4FDM3ATk8bysdGaBtcfsexlZoTHUf-ckA60eGrK-KDk,32151
210
- regscale/integrations/commercial/sicura/commands.py,sha256=-54gqCpmGECC1ph5Wpr8cwYhBscsQy1V_24-xQ0sFyw,1874
211
- regscale/integrations/commercial/sicura/scanner.py,sha256=WWYTs1JDIz_5mxqkAS_bnY3EbIqQGet7NHul2lWxFWw,17726
211
+ regscale/integrations/commercial/sicura/api.py,sha256=8qFzENIpso7fuTWxXmzaWUAkDSTMQkcXB_cbfHPSDBE,32109
212
+ regscale/integrations/commercial/sicura/commands.py,sha256=bDphozdUeuEVwspIjqBCOrQUIGAIFJpmg8ltzh3i8kc,2052
213
+ regscale/integrations/commercial/sicura/scanner.py,sha256=vkfwU7sUGGnLu4N1Ue-Ruhhq8n4i6kS7-0Kdx2lhKXE,17721
212
214
  regscale/integrations/commercial/sicura/variables.py,sha256=FOdXj5bTtmsAYJYLdLxYMalKhkP1l0bWjA5bCmvgvdU,676
213
215
  regscale/integrations/commercial/stig_mapper_integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
216
  regscale/integrations/commercial/stig_mapper_integration/click_commands.py,sha256=tLD9WObChb4NBd_sWnX05QPqXbiXOzdAp-v5YAObuDc,1200
215
217
  regscale/integrations/commercial/stig_mapper_integration/mapping_engine.py,sha256=woASLcQVB9Ta__1FteY3cyf9fc8vNOYBSSFvH5lrAVk,14022
216
218
  regscale/integrations/commercial/stigv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
- regscale/integrations/commercial/stigv2/ckl_parser.py,sha256=RPrDGsKqAbTJMsJd3AYe_8SCzL00ZsB8RnuL8iPTjS0,11896
219
+ regscale/integrations/commercial/stigv2/ckl_parser.py,sha256=_tpKT7xO_alqkT9h_Tf8fk51y4w3TN7KIkoAE_jnO7s,11981
218
220
  regscale/integrations/commercial/stigv2/click_commands.py,sha256=-765vFF03aSjBxU9SYCpca7x8fPaoTDNQtbk4fKuwYw,2792
219
221
  regscale/integrations/commercial/stigv2/stig_integration.py,sha256=-UlfL0BBI3jFGotctOJyTCRAU9zIXW6mwU7ySrRXE9U,11573
220
222
  regscale/integrations/commercial/synqly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
- regscale/integrations/commercial/synqly/assets.py,sha256=2D26tvMvNIpR9YuD0P2h_6oqXfZf5y93xGhb2hPFsn0,6785
223
+ regscale/integrations/commercial/synqly/assets.py,sha256=EY495sxSItKxkc5tp15KU_t8X9-MMt0-JCblv676QTY,7468
222
224
  regscale/integrations/commercial/synqly/edr.py,sha256=4EQSI2-5QnaWXh1idhndToFDOHOb3xycWAdc8NY4Auk,2836
223
225
  regscale/integrations/commercial/synqly/query_builder.py,sha256=1MAheCLG_3zUkvDeXbnCFEBybbG09OV-vUtBD0GLx0o,19306
224
226
  regscale/integrations/commercial/synqly/ticketing.py,sha256=akucc9Ok4cTcivH_rmG927WJetJDhZ0L4IF27OC_KOE,8352
@@ -239,9 +241,9 @@ regscale/integrations/commercial/trivy/scanner.py,sha256=iiwTvjqRlLRgQvCs_FP0j83
239
241
  regscale/integrations/commercial/wizv2/WizDataMixin.py,sha256=s7F_rVrP9IZa_x_vh3MswR7W_UBHRfd4kHGVsNX4ips,3606
240
242
  regscale/integrations/commercial/wizv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
243
  regscale/integrations/commercial/wizv2/async_client.py,sha256=CElkHxbSlNfRnvJpf4JTBD293NJxQsR-QaTBuHINrLw,12946
242
- regscale/integrations/commercial/wizv2/click.py,sha256=FkoXEUgZGQUyZNMdaDJTyNE8G_oXmIM5z6JlT-QQW8I,19831
243
- regscale/integrations/commercial/wizv2/compliance_report.py,sha256=lFTgm78lrTSXJyqGA-wUbKJ2jOnFaHsV8_Ex95iIO-M,68717
244
- regscale/integrations/commercial/wizv2/constants.py,sha256=emJHsfdsRuHhWTYqADV4-l6sZNJ-nWGj_l1abdFrXxk,49308
244
+ regscale/integrations/commercial/wizv2/click.py,sha256=djF8TxgtoL1wassDVw-r2m8z0V0dB4htO_zM2nnoTcE,19911
245
+ regscale/integrations/commercial/wizv2/compliance_report.py,sha256=q-Jwba3Iq3UaYJxczm5hYFmUCsDhnq0JpV7MoPC95bc,67719
246
+ regscale/integrations/commercial/wizv2/constants.py,sha256=q5oxB4bMM0e45K4zQUqS_B-hHsEe8gpT3K9jrkg4_cg,48314
245
247
  regscale/integrations/commercial/wizv2/data_fetcher.py,sha256=CmJyUCeTQIkYBu2LPicpTNwXJrYkRP3xxM55BJQhr2A,16258
246
248
  regscale/integrations/commercial/wizv2/file_cleanup.py,sha256=ENBO9RDXL2kyHkBYaSai83i4kVTUJUF_F0JCj84i-ow,4178
247
249
  regscale/integrations/commercial/wizv2/finding_processor.py,sha256=Rn2dYob4cz24_Ks-UTwNQe-KQ6hmFWS6GB8PQXV0ZPE,11361
@@ -251,7 +253,7 @@ regscale/integrations/commercial/wizv2/policy_compliance.py,sha256=YU5TFd2RfESAn
251
253
  regscale/integrations/commercial/wizv2/policy_compliance_helpers.py,sha256=-KAlDxMiojyUX2DtUi3uVbpmFhDLtGs7wj11MPBCaRE,22174
252
254
  regscale/integrations/commercial/wizv2/reports.py,sha256=CFfSDaS6glJhKA66lDTfenl632YQiGYb_z0CeMbl4Kk,8789
253
255
  regscale/integrations/commercial/wizv2/sbom.py,sha256=QcGaYiBGtZ3mBcbo-KGl-I2u6QHKAIinTk26LPy0Kng,4466
254
- regscale/integrations/commercial/wizv2/scanner.py,sha256=EdvnEp7Tb7YK9LMkZ2KhzotQY87J1RBbI0orUzG1GY0,96144
256
+ regscale/integrations/commercial/wizv2/scanner.py,sha256=nehtb0T6Q4iTcgCvbiDDFA5KbaJS6sJvg-b9h-zFORY,96169
255
257
  regscale/integrations/commercial/wizv2/utils.py,sha256=npdIwR_XG_5VZkr_YXgMe8cjhcYKncNndglD55qwWc8,55996
256
258
  regscale/integrations/commercial/wizv2/variables.py,sha256=2DVIN4JPYX9hN6wTdEI9ZdHXYDPpYSu4mAC0yVibPLg,1992
257
259
  regscale/integrations/commercial/wizv2/wiz_auth.py,sha256=qGcUhpC9eRkJIngmv3i9yHdp0q9rv6AvA5gHkypYzCE,5549
@@ -259,8 +261,8 @@ regscale/integrations/integration/__init__.py,sha256=WJgPLnEahD94QLE8NR8QCzlf8xk
259
261
  regscale/integrations/integration/integration.py,sha256=pr_fbqBieYbqp3PdBjuqKuZCYFf0kF4GkFdlViTKG54,586
260
262
  regscale/integrations/integration/inventory.py,sha256=gHL1a6VSV3zf4DTmksEy8qXNrqhIun8TwLxhRpuEMqY,341
261
263
  regscale/integrations/integration/issue.py,sha256=HaCF_5F_U_E5ecYlMgOZiM-yhXnt7OLj47OAJkf9X3g,3507
262
- regscale/integrations/public/__init__.py,sha256=D4RyJhTGFRkrh_cJUfIbWCldue-DDcunuFuprBzKxFY,3261
263
- regscale/integrations/public/cci_importer.py,sha256=gvvBDqtPYpP7K7nB5da4bxg5PtIyKHKNVxdbGps9QUU,16155
264
+ regscale/integrations/public/__init__.py,sha256=oohbRYt88NZyMoFvQGrx6kVQROZrxAwlKIumL2yUh2g,3348
265
+ regscale/integrations/public/cci_importer.py,sha256=HI6b3N3NXX7IBnqmEe0KSFnkSuATnfQWVC1ETCcAm3M,16390
264
266
  regscale/integrations/public/cisa.py,sha256=EE2rN4GWWEk5VLt4iMVwGMYB6yYPxe6KyW_tLs8dDmA,21870
265
267
  regscale/integrations/public/criticality_updater.py,sha256=bekadBBJkym5Dd9JZFNQmY3I0e1xgBvxkyVwgCNOKus,2806
266
268
  regscale/integrations/public/emass.py,sha256=culHHuXUlVYkB6DcVcnUvpBzU1eRyyVGgsJ3KqC8HOw,13672
@@ -272,7 +274,7 @@ regscale/integrations/public/csam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
272
274
  regscale/integrations/public/csam/csam.py,sha256=yCdaqphyK__v7ws1dtX4VN8Yx1m2futcfDG-kdibCdQ,40350
273
275
  regscale/integrations/public/fedramp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
274
276
  regscale/integrations/public/fedramp/appendix_parser.py,sha256=u3Q_NHxAvYTQ1RAr1T-y3hOfqcFnkLnTmJoWnndrzeA,38281
275
- regscale/integrations/public/fedramp/click.py,sha256=8JbWRidFZ9EFoOTp-bwE584u23TzKqWQIpfxmA0-lGo,14975
277
+ regscale/integrations/public/fedramp/click.py,sha256=kacrGQ0D4L2rfxWd3KMsES_l96lL-O-oZWv_e8PfOlI,16795
276
278
  regscale/integrations/public/fedramp/components.py,sha256=z6PMObm-kjRR42bT04EfnjisrEULfXlwxb7576uuMmY,27010
277
279
  regscale/integrations/public/fedramp/docx_parser.py,sha256=EA9g1iTlB6-GtOzV9JwGW8x_SruhbaIMOzstCBvjiq8,10526
278
280
  regscale/integrations/public/fedramp/fedramp_cis_crm.py,sha256=U7Ub93-a3OX2LwuD0GwAnVY1xDq17MUBcN9KWeIPxGM,69553
@@ -285,6 +287,7 @@ regscale/integrations/public/fedramp/import_workbook.py,sha256=VFNBjBNLLRL3WjkJm
285
287
  regscale/integrations/public/fedramp/inventory_items.py,sha256=nBgVgigMyZ2C6fJ9QCvz-8KvSlGtqi1lqC3alBUlzyg,10080
286
288
  regscale/integrations/public/fedramp/markdown_parser.py,sha256=TwNFFRiXaoocNpjo8SfzBY8D6NTd7FsShnzE9V89kZw,5561
287
289
  regscale/integrations/public/fedramp/metadata.py,sha256=eh8AA5YNHUxHGnlbLRmhovINBKqkAJR98EUFDX1g5Z0,26543
290
+ regscale/integrations/public/fedramp/poam_export_v5.py,sha256=Wbvgd9hXd0UIzRnJMEiCGWFSTNT5Q8WNousdXJqYnKI,30273
288
291
  regscale/integrations/public/fedramp/properties.py,sha256=Yr9NGM9-vFTbnipl7TRNfo83HJ7FKkCJSECaLtT35eQ,7007
289
292
  regscale/integrations/public/fedramp/reporting.py,sha256=KpxHSaw-nR3sQf_c1AGxgFUmWeas62EsbwB0Wu_NL60,2550
290
293
  regscale/integrations/public/fedramp/resources.py,sha256=Xcn7pxpm5UsFIPp40oSt6B3123mXdjmX-6AmB5PYsI4,19053
@@ -313,8 +316,8 @@ regscale/models/config.py,sha256=M_ftoZUgYL8x1CliDk8Pw6jMhPlz83_xh_Gi8lAabQ4,542
313
316
  regscale/models/email_style.css,sha256=d8PlsCiOxmmkp2Qc7T4qI9Ha5mT12Jn9kRBMOk2xx2Q,2202
314
317
  regscale/models/hierarchy.py,sha256=XnQ-pjE3LKViwRQpxdCEU0TWBGzMJo1MqWgbEJgumAU,241
315
318
  regscale/models/inspect_models.py,sha256=oRJnLeeAUYIbYXsbPKNpMCyazxQnyH5r-2XxVc5Ih9c,2521
316
- regscale/models/locking.py,sha256=5GumeAP3SBChurTgWRvh0wgCVwfos32mn0OYDwxhUmg,3151
317
- regscale/models/platform.py,sha256=tTcnBZ-rr1n4X41OF9g3zGx-8ORS8BsOKjzSxwm6fZg,4242
319
+ regscale/models/locking.py,sha256=r-nLQDgLI28F5g9vY7WOLj18syzWXJiqhFpDh43Fur4,3348
320
+ regscale/models/platform.py,sha256=joM423jBiS4rDfQALFWfkOR75ab-FStgvGPpKe8fV4g,4188
318
321
  regscale/models/app_models/__init__.py,sha256=0V4Em8RqK83EZeMIa3tm_sDh9yOS7mzvKF01v-kJug0,219
319
322
  regscale/models/app_models/catalog_compare.py,sha256=gLD8ti933nW70FcGlx6gp0Lbdo8cFnKky7JkRFAKfOU,7557
320
323
  regscale/models/app_models/click.py,sha256=2kZuBOpHFjpFKtI7rT_ht26G9bjHL_EUUoYlLC-O3B4,9961
@@ -329,7 +332,7 @@ regscale/models/integration_models/azure_alerts.py,sha256=2etrpvcxa7jVQrc98bJlVG
329
332
  regscale/models/integration_models/base64.py,sha256=sxV6O5qY1_TstJENX5jBPsSdQwmA83-NNhgJFunXiZE,570
330
333
  regscale/models/integration_models/burp.py,sha256=FBEBkH3U0Q8vq71FFoWnvgLRF5Hkr9GYmQFmNNHFrVk,16932
331
334
  regscale/models/integration_models/burp_models.py,sha256=UytDTAcCaxyu-knFkm_mEUH6UmWK3OTXKSC9Sc6OjVs,3669
332
- regscale/models/integration_models/cisa_kev_data.json,sha256=ThBF9xf2lRbdlWY1ucsdJU7u6ysXCBqMG80S9MMds2s,1268609
335
+ regscale/models/integration_models/cisa_kev_data.json,sha256=gecwigxT1IjrmBpChnoz5gdFYheX46OEAdyevoV34QM,1285243
333
336
  regscale/models/integration_models/defender_data.py,sha256=jsAcjKxiGmumGerj7xSWkFd6r__YpuKDnYX5o7xHDiE,2844
334
337
  regscale/models/integration_models/defenderimport.py,sha256=Ze4kgwns-IYPyO7sBjEzW8PXWlxwU-DAo2fIyRcTC3k,6242
335
338
  regscale/models/integration_models/drf.py,sha256=Aq7AdLa_CH97NrnR-CxaFI22JjVN9uCxVN7Z-BBUaNU,18896
@@ -337,7 +340,7 @@ regscale/models/integration_models/grype_import.py,sha256=MgCEK_jCwY7NTXZgxQtnXL
337
340
  regscale/models/integration_models/ibm.py,sha256=mDUz7OUSx0vVhB3Y8NwYh8VSyNCHTyE72fghYGnaBTs,4064
338
341
  regscale/models/integration_models/implementation_results.py,sha256=nJOAFPMS73SudAA2dzxxxRu6h5qagPmr6H9NAOLWzLw,2704
339
342
  regscale/models/integration_models/jira_task_sync.py,sha256=FVfIms0fzc9WLprda7rn1wmFFz7tXCuEFHnzln9qkdE,918
340
- regscale/models/integration_models/nexpose.py,sha256=yMcTGR2BnOPhurCosM-WvJ7DkXi2LUphxdjN-qqjQsw,9078
343
+ regscale/models/integration_models/nexpose.py,sha256=l2yEu93dLJ14NtHl8q20ZsYYc-yBBfiiJs32I6vGGbE,10114
341
344
  regscale/models/integration_models/prisma.py,sha256=YJrJoSizkE5lzPjTkNme2akHqAux5BJ1oRXaMATNzrU,7509
342
345
  regscale/models/integration_models/qualys.py,sha256=1SMyAf5glPIrUklvSFgaWPliMTohVjlSrUUEFOcaxN8,28198
343
346
  regscale/models/integration_models/qualys_scanner.py,sha256=6rAeCR9qI10MM_LWtZtOhWaT6mERWtII2IxxyvQhfKw,6453
@@ -360,7 +363,7 @@ regscale/models/integration_models/flat_file_importer/__init__.py,sha256=HYO7mrq
360
363
  regscale/models/integration_models/sbom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
361
364
  regscale/models/integration_models/sbom/cyclone_dx.py,sha256=0pFR0BWBrF5c8_cC_8mj2MXvNOMHOdHbBYXvTVfFAh8,4058
362
365
  regscale/models/integration_models/synqly_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
363
- regscale/models/integration_models/synqly_models/capabilities.json,sha256=Wcf7dY1zjVfdK5YRRq2lDK_bCPBI9k5TdKKczk4M2Qg,405530
366
+ regscale/models/integration_models/synqly_models/capabilities.json,sha256=_to4evQY3R44aL6TvvVfky1saONkQXqEkCXXVijnDkw,430074
364
367
  regscale/models/integration_models/synqly_models/connector_types.py,sha256=8nxptkTexpskySnmL0obNAff_iu_fx6tJ7i1-4hJvao,461
365
368
  regscale/models/integration_models/synqly_models/filter_parser.py,sha256=8rdnHH7gW1A_uWRTexZXzCH-HzRVy5nlvFgtc7ztcsQ,12160
366
369
  regscale/models/integration_models/synqly_models/ocsf_mapper.py,sha256=ftObPhGg9CamnwRZ5z6qi8pW2Gu4JYy8apEo33o7q00,16960
@@ -393,7 +396,7 @@ regscale/models/regscale_models/compliance_settings.py,sha256=F2q7OQEgYK-HrPmDHM
393
396
  regscale/models/regscale_models/component.py,sha256=Zbl-glM2WYtDRKtnQSyhXRDY9fqBTSSGz_2pMkAsawg,14196
394
397
  regscale/models/regscale_models/component_mapping.py,sha256=g0cbbW4X49SDdlB_YtKMrP4eiK9OkrJqiut0ucdyVDA,2162
395
398
  regscale/models/regscale_models/control.py,sha256=mO46F1IfiXnLSb3YhylaS3SyjtT51s-r8b3hjix9Gbc,1072
396
- regscale/models/regscale_models/control_implementation.py,sha256=GMCY3mK_3Kt1qj_oKZqp6aOr3AKvMNzgStlDfxJQATY,56322
399
+ regscale/models/regscale_models/control_implementation.py,sha256=pktoaFiGDZjrAFonqLKnGTF_fEOlhJXW5XvkcL7JFlQ,57455
397
400
  regscale/models/regscale_models/control_objective.py,sha256=qGh8OtATjjc4JS-3bC1AX6TbgtRtz-I0dckbuZ2RzVo,9496
398
401
  regscale/models/regscale_models/control_parameter.py,sha256=5VVkbVZTb2Hzy_WiybU2JtrvhQp8DLSWxRcbSKxktiI,3499
399
402
  regscale/models/regscale_models/control_test.py,sha256=FG-fLS9JJf8__a84W2LtBXtEjzOH9iq2EO949vBx3eY,949
@@ -420,13 +423,13 @@ regscale/models/regscale_models/incident.py,sha256=jsS4MfigzjwFphvdIrBk62GfvbceQ
420
423
  regscale/models/regscale_models/inheritance.py,sha256=n8CtDQZ8WPQ-AwC0kq5D0nMwK1_njfB-rUN5PdjiMOs,1314
421
424
  regscale/models/regscale_models/inherited_control.py,sha256=RuQJgVyZgfoIrUG_vvwQYHECb3wsFjDH-zPj-bIFBNU,2007
422
425
  regscale/models/regscale_models/interconnection.py,sha256=8Q9CGeHEX9TXQrim_NIAj9KuM4MwaUTpBLs_LKaXAlw,1256
423
- regscale/models/regscale_models/issue.py,sha256=pPrCTDy9y9ZTYMtOCl9J2U12NrWn09XhFjF1A5cUgdw,59381
426
+ regscale/models/regscale_models/issue.py,sha256=SqnH4txlNfsItqw-q4UeQ1mnG8M960BlsmPzYqElDAo,64916
424
427
  regscale/models/regscale_models/leveraged_authorization.py,sha256=OUrL8JQV3r7T3ldHlL6Y_ZLv6KuQIC-3eZW5wZ7XFUk,4192
425
428
  regscale/models/regscale_models/line_of_inquiry.py,sha256=Uu0lQEhif0W6yTSkJo27GyQGmExSngJvyqGBTr4Q8Fg,1713
426
429
  regscale/models/regscale_models/link.py,sha256=lAY4Ig3Menm1EqfcAbVJ7jsCsRO5tWtJIf-9-G9FXT8,6593
427
430
  regscale/models/regscale_models/master_assessment.py,sha256=t03-8vQJ7hnPNgEU0GSC1XGKOgAqHKuIupbt5IjJvtI,7322
428
431
  regscale/models/regscale_models/meta_data.py,sha256=Fg8rrWSTx3K00QkF4glH9UdY9OFWJ4_UqxleLSSbx8I,2482
429
- regscale/models/regscale_models/milestone.py,sha256=gSgOJBxJlF_wu40sknvgwF94u-a9Nt7wtBrG7UzP_48,1977
432
+ regscale/models/regscale_models/milestone.py,sha256=KNd9Ce4bBb6FuUnol0gwwhow5d9IvLpY9GP_UCvvhNQ,1989
430
433
  regscale/models/regscale_models/module.py,sha256=a7lalHmVTQ04ZILnJxuFWdHYDtyusBMTtonD4ICL-Wc,7272
431
434
  regscale/models/regscale_models/modules.py,sha256=yeva_tct88o2NFt93_zmqUcXZ3LucVbAv5FvQPru3cQ,8551
432
435
  regscale/models/regscale_models/objective.py,sha256=aJIpmkZ-NscqV2y8SGB4HYzm615b6mklyHnW9bL2ljk,249
@@ -445,7 +448,7 @@ regscale/models/regscale_models/questionnaire.py,sha256=QMSXfNpSoaS8tkeo80C7OWLj
445
448
  regscale/models/regscale_models/questionnaire_instance.py,sha256=1LgGTwFACmWx2xOOqUKhAUOms4_3L6NZySzuteg0_sI,8241
446
449
  regscale/models/regscale_models/rbac.py,sha256=ulT9BzOpYNNVlBVfOmreGDTTAgzkAY5Si2rQhhIcUmY,5302
447
450
  regscale/models/regscale_models/reference.py,sha256=P_7jT6H-NZIa7TyH3j98N-ZHlB6FsjpZVRZCCpms-D4,3253
448
- regscale/models/regscale_models/regscale_model.py,sha256=uhl1ZDABXcpem1ark3X-PFi1Mt_-JQ2-6g6mWSzTua4,76280
451
+ regscale/models/regscale_models/regscale_model.py,sha256=lVmwg65AsWg_0BbpurEp2T7-c-t4CL9mrD-2NPYKqoQ,76446
449
452
  regscale/models/regscale_models/requirement.py,sha256=-8PnMbuWAZHol5X1w-fzm-moD784Et0oevSVbz6xLhU,767
450
453
  regscale/models/regscale_models/risk.py,sha256=lZFDYPpTt0aEYCrYz5FBKk1Y4y2CKXYU1A8eEKT3zzg,8661
451
454
  regscale/models/regscale_models/risk_issue_mapping.py,sha256=j6uR0x6xymJ0BsIwgnadeUQDshHNhU3VnpyItZp4dc4,2393
@@ -478,6 +481,7 @@ regscale/models/regscale_models/workflow_template.py,sha256=cADzG27MYukJL_Fam85R
478
481
  regscale/models/regscale_models/workflow_template_step.py,sha256=XB-LgM4UWegDTAnoJvL-W3LHhWloNDX8YfWQX0tNevY,1695
479
482
  regscale/models/regscale_models/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
480
483
  regscale/models/regscale_models/mixins/parent_cache.py,sha256=o9ZiwQzA2c9RdCQGjJUr7zAjOXbs4GMDGB6sMDsdJII,4210
484
+ regscale/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
481
485
  regscale/utils/__init__.py,sha256=QiA5U3-1oD1UPCrLnO9sP8Isww8U8K9Dl_7FNjQi4Ns,170
482
486
  regscale/utils/b64conversion.py,sha256=br00ZtuWFWGmajFrl_gAUAZeG4SX5se3coP7J50ZwmM,397
483
487
  regscale/utils/click_utils.py,sha256=AY6S8RSF5FDwbvhVoE08801Wyvnclg-VWf8WHRSSqqY,4014
@@ -493,7 +497,7 @@ regscale/utils/string.py,sha256=pY4eMcXRruCfGRaWKPN5NTWj6bXiKytxmU6XSxK4y6k,4198
493
497
  regscale/utils/synqly_utils.py,sha256=DjkdAxdUJBOU5YfAJ7pFFNBPSP37Gs9NQS10xduaYmA,6324
494
498
  regscale/utils/version.py,sha256=bOH1vlvOEAt1f-fzzFxtZrg3VcnqL5SA4ud1TjZVQGU,4265
495
499
  regscale/utils/threading/__init__.py,sha256=AuPiT3EijkUL4BSxtEQw3TrSvFW6oIfQzxtdy5sBCkk,296
496
- regscale/utils/threading/threadhandler.py,sha256=5lp9US6bKwh372UqrTvvHWIIodCcPIUmpcfGeCwG3VM,5061
500
+ regscale/utils/threading/threadhandler.py,sha256=6K3f74A8nMCRhtz3XlCA0_Wqhx1L1pizYwdwoQLI4I8,5255
497
501
  regscale/utils/threading/threadsafe_counter.py,sha256=Dwt-jt4nN-ApMgpxONM7RFll6FU4hMCeZCW54rjDPjs,1037
498
502
  regscale/utils/threading/threadsafe_dict.py,sha256=XCVN5DoJsgZj-0tkDYAZb2QTLTZF9wS_ve-XKFJiywg,7656
499
503
  regscale/utils/threading/threadsafe_list.py,sha256=-ltEj-MQH0dN0z_5aalptwJw2_EAU6nn4RX32BDrhyI,2274
@@ -524,12 +528,53 @@ tests/regscale/core/test_version.py,sha256=q8F2ERXxdToXbYxfOcP9f6lkUYaxF4jEmsPUm
524
528
  tests/regscale/core/test_version_regscale.py,sha256=9DA1hFltt7pSWdFb3wP2bL3t4hAHsojoHvs1bolUjUw,2052
525
529
  tests/regscale/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
526
530
  tests/regscale/integrations/test_api_paginator.py,sha256=42-F8FMkJwkZ1Xlsj7YYVyOb6-rbxwI4F4H6Y4ZI9jA,18973
531
+ tests/regscale/integrations/test_control_matcher.py,sha256=QSf8HJNwU9HsbwJ2LjlkHvN1pqmcapg2I_oBQz46tNc,54535
532
+ tests/regscale/integrations/test_control_matching.py,sha256=lejjVlnNA6aX2e4qgMGFpvEGG-ofzepyjeArax9J8aQ,4593
527
533
  tests/regscale/integrations/test_integration_mapping.py,sha256=cXfWuE1h5Wrs-Nb--d83v0fllMQOs_IxYxquBJ90YNg,22549
528
534
  tests/regscale/integrations/test_issue_creation.py,sha256=L4Fjww16S6sst2kqLoE0PK6WYL_pijSMzzxpWzdajRo,12089
529
535
  tests/regscale/integrations/test_issue_due_date.py,sha256=Dh2JAxgOdbucIOGtxfefsYxGsNQlgx2Gk-g1Vguv_6A,1448
536
+ tests/regscale/integrations/test_milestone_manager.py,sha256=NKm41X--sMi7UoNIboNOLlCfUErEXFXmIlNZbZ33jlM,17469
530
537
  tests/regscale/integrations/test_property_and_milestone_creation.py,sha256=2Rx2maM7-4DMYpOH4pV6vcx3NDA84wXfqMwGvaAMVBo,26555
531
538
  tests/regscale/integrations/test_update_finding_dates.py,sha256=2cyDpwnZUS965f84hNE4rb8BjuAYOLMK-zuLD6nai9k,13517
532
539
  tests/regscale/integrations/test_wiz_policy_compliance_affected_controls.py,sha256=nFqOjr4-JRjZ0fJTQEhwsvnl56g4GRdX0yvS1wRpqUY,5845
540
+ tests/regscale/integrations/commercial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
541
+ tests/regscale/integrations/commercial/conftest.py,sha256=zC_1h39IweO9O7bm_-hctpNiH3WedfZNPt8IZbdQQXU,918
542
+ tests/regscale/integrations/commercial/test_aws.py,sha256=ojGFp4EsKZa84Ux0kLdy3bMNl77ohiGg3tayB2FBkcw,168804
543
+ tests/regscale/integrations/commercial/test_burp.py,sha256=NRXVXw7a3OgtbWozJmxomsHhE9YiRIhdhdaN9-ZIapY,1799
544
+ tests/regscale/integrations/commercial/test_crowdstrike.py,sha256=h_vjMAbW84iyNHwkCQol4Z1JR-_6dCtf0gvR0VfBaT0,1652
545
+ tests/regscale/integrations/commercial/test_dependabot.py,sha256=etke2B9Z11dJj7kFWtZ1QaysymqR0q2UtzVHlLpmk0U,12886
546
+ tests/regscale/integrations/commercial/test_gcp.py,sha256=64AjFOMWdqg9Ul5sAaXrXHe7SmfS5OW1UVbFuURiyh4,72765
547
+ tests/regscale/integrations/commercial/test_gitlab.py,sha256=o0fAEjPXVvGEmQOotTb1jzBCz7nMaLBTIcS2p1j2IBI,20394
548
+ tests/regscale/integrations/commercial/test_ip_mac_address_length.py,sha256=sjIrC9RxhFecgqQ810l3UwtLdsOID31M-bEGOPnsMPE,2988
549
+ tests/regscale/integrations/commercial/test_jira.py,sha256=C2tGq95LUkyauu2oJ8poAfgGaqS0YnZj-F8qBCWTPQ0,71536
550
+ tests/regscale/integrations/commercial/test_npm_audit.py,sha256=g8Dyvb3hmYPKgTF6l7MNKnuiBEStK5tM8jFbs594IBQ,988
551
+ tests/regscale/integrations/commercial/test_okta.py,sha256=J3bBdotRRkIqdsEVLZLyt5PBI5u_dpmxXZnVFuSG1bs,47149
552
+ tests/regscale/integrations/commercial/test_sarif_converter.py,sha256=uONCJEfiV2flUIDa-iwFd_h5RnHSaFHoyvNrXtcOhVU,11251
553
+ tests/regscale/integrations/commercial/test_sicura.py,sha256=0N_8xjpDUgzrxFUPC1cTQs9Znk7qxgMRb500LVzozqw,13235
554
+ tests/regscale/integrations/commercial/test_snow.py,sha256=LKAeme78hl0VzzLP-rXZnA5-3CCBrJLgYUlxOW2hYnM,16076
555
+ tests/regscale/integrations/commercial/test_sonarcloud.py,sha256=IB3nD9KbkTBXJgjF4RujUod54VUI0CMYanqoQ40suBk,15291
556
+ tests/regscale/integrations/commercial/test_sqlserver.py,sha256=TktSuFoyLUmdimRxoN8wxBQwr75igWxA8mN83Isnuvw,7119
557
+ tests/regscale/integrations/commercial/test_stig.py,sha256=fAG_GmqBvTP9EnqJF7jFPFm47SWo5JQ2Bbfjfif7x7A,860
558
+ tests/regscale/integrations/commercial/test_stig_mapper.py,sha256=wHHbvnIGCQqIeocq-XSQc73lkLuVQ-_TVT9WBMF36ns,7504
559
+ tests/regscale/integrations/commercial/test_stigv2.py,sha256=-y5bWHEdxHJY1xp4hqaW3PPaSz9tIw7Qg5EL69DZnHA,20102
560
+ tests/regscale/integrations/commercial/test_wiz.py,sha256=13H48X8hSQ0mqn4EdquKaDhSp_PvpXomv0aLUaoSbrk,67424
561
+ tests/regscale/integrations/commercial/test_wiz_inventory.py,sha256=796B5A7qW7XhALLwK_8U4bXUVHF0yAy8OPpw4oQNWDw,12157
562
+ tests/regscale/integrations/commercial/microsoft_defender/__init__.py,sha256=QbnltJbah_YSW6fOhcOdaJJJINghN67A28dhAIxT_xs,43
563
+ tests/regscale/integrations/commercial/microsoft_defender/test_defender.py,sha256=zRfEKhtrUA0p6MbxrPB_cCPhjNQPL6lmdZaPRoehJRc,63295
564
+ tests/regscale/integrations/commercial/microsoft_defender/test_defender_api.py,sha256=VvHpno51w03CUHGX1JZBjJOIpfHIxuh7QCh_lh5gcjM,72518
565
+ tests/regscale/integrations/commercial/microsoft_defender/test_defender_constants.py,sha256=P4gCPY3Bf-o6PQz-wjCHaNzOMZoOrB87lSwAHlWegI8,15266
566
+ tests/regscale/integrations/commercial/microsoft_defender/test_defender_scanner.py,sha256=fanEQJhDD-V_kXrhZP-3qVnM3nv2Ip7WcUqO9V_deWI,20141
567
+ tests/regscale/integrations/commercial/wizv2/__init__.py,sha256=1g2bswmrwBGDYmbfiD0pojmkD5Fwz5rqXV1QefAowhQ,15885
568
+ tests/regscale/integrations/commercial/wizv2/test_compliance_report_normalization.py,sha256=dojmnptZTSwPBHrSumXZD0h6yHZ9kG3NSEQW_ZuhKrw,6278
569
+ tests/regscale/integrations/commercial/wizv2/test_issue.py,sha256=qiVNXXgelTzhCVxkRx7ZHLY38ZsSqpsbkvy-P2X2hR4,14158
570
+ tests/regscale/integrations/commercial/wizv2/test_wiz_click_client_id.py,sha256=dD1qbteDJy5gOIjHROZiw93iN2ZI0hWDaigjKREmVZ8,6078
571
+ tests/regscale/integrations/commercial/wizv2/test_wiz_compliance_report.py,sha256=V0AerkNmEhYwpTCtPkBBhBC7tlaWOdx8UTAxTCOJvYs,64987
572
+ tests/regscale/integrations/commercial/wizv2/test_wiz_compliance_unit.py,sha256=NOzEk-Pxk8w8YpueKgH0fNEZ7kKyOGcdSFdKAZXX5FI,15049
573
+ tests/regscale/integrations/commercial/wizv2/test_wiz_control_normalization.py,sha256=26AaPUNUmQFXXT2G6unuWMF289B6LZMQRtHgC4W3iOw,5011
574
+ tests/regscale/integrations/commercial/wizv2/test_wiz_policy_compliance.py,sha256=EqsDQAhApVEbs_78hlYmQ38LbfiRxbAnhetMkoZE81M,31431
575
+ tests/regscale/integrations/commercial/wizv2/test_wiz_status_mapping.py,sha256=ZUeRHUt547FV0svfiGEIwyRuItoTDKtMeJFvBWuhWhg,6967
576
+ tests/regscale/integrations/commercial/wizv2/test_wizv2.py,sha256=HyMYNPb09wOGKYn5ZhsQ7g53jeEaN8LiTR_Tyk3xRNo,13300
577
+ tests/regscale/integrations/commercial/wizv2/test_wizv2_utils.py,sha256=-wRkd8cDmg348IxCQaPruqkANKZEVWwxm0Z3d-xY2Kw,30255
533
578
  tests/regscale/integrations/public/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
534
579
  tests/regscale/integrations/public/test_alienvault.py,sha256=epxuflNgibIl1aYCU0FTVXXFWJbiqt0mYBV4HVaZYuw,9211
535
580
  tests/regscale/integrations/public/test_cci.py,sha256=Zv5igmyYJpAwIAHrGQ-3Pd8MLvY8bh-B5FALL41PPU8,19525
@@ -539,6 +584,8 @@ tests/regscale/integrations/public/test_fedramp.py,sha256=MSJLtlZXXwz5FixL1Lwvav
539
584
  tests/regscale/integrations/public/test_fedramp_cis_crm.py,sha256=i97r1ZdJHOdpQYPD-C2e8sFKllb8nhDgFm8gJVS-Kks,148169
540
585
  tests/regscale/integrations/public/test_file_uploads.py,sha256=9hAxz8fM-pZzJye_E619gJCqXNTP1pKr8ML270QE3gU,21001
541
586
  tests/regscale/integrations/public/test_oscal.py,sha256=XVAM2WicWH6trvk4jcCKVuMiJUFjsoAJmf2J-Q3aeY8,16900
587
+ tests/regscale/integrations/public/fedramp/__init__.py,sha256=nAypKjY0G4w1zAAWUa3cCjCH6QN4hbovIj9dEQDq7n8,37
588
+ tests/regscale/integrations/public/fedramp/test_poam_export_v5.py,sha256=3UBDkJbMWS83MxBqbxu6CdJ3siw1ddtlGlOy8fMA2Oc,51547
542
589
  tests/regscale/integrations/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
543
590
  tests/regscale/integrations/transformer/test_data_transformer.py,sha256=Na-trXL2n97b6H6V9CwVU4nvqkL8HMy7E2yvAuhKtSo,36584
544
591
  tests/regscale/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -547,7 +594,7 @@ tests/regscale/models/test_config.py,sha256=r2mIJJDpmnLYZjw8Nw7yTzwZCsHbmfZD4rHS
547
594
  tests/regscale/models/test_control_implementation.py,sha256=r3J5B5TnsVJfnKnQq6KlYiJnt7F1kwRr5FzZh58YcFE,1060
548
595
  tests/regscale/models/test_form_field_value_integration.py,sha256=HDYrJvEbvl9B_ql72onVbbeQEoCJdcinIx0FuGQvFn4,12391
549
596
  tests/regscale/models/test_import.py,sha256=wG6KThJOXJe4wlFZpv4J0Lnpe4IBmU7VE13Sl4FT7xw,3949
550
- tests/regscale/models/test_issue.py,sha256=7yEMAA7h08pvgoRWJtlzRaQN4JPB6CwU4zCThm5LunI,1038
597
+ tests/regscale/models/test_issue.py,sha256=ant0hGYt8OuInuKkN212JtSDFsAreW0L_WMqNnXIX9w,17167
551
598
  tests/regscale/models/test_mapping.py,sha256=LE3cHETIeQ61lfYzIN2M9zlnECVb0alVe3DSCDvfwFU,1269
552
599
  tests/regscale/models/test_module_integration.py,sha256=cCYO7wf5qvmUH33_QgtGJg-06eKAc3IYFqrsKD5RSUs,22037
553
600
  tests/regscale/models/test_platform.py,sha256=9KW9frA7S_hNc8thC5D4sK63DTzFLZ3XE47wvcDxW-M,978
@@ -555,9 +602,9 @@ tests/regscale/models/test_regscale_model.py,sha256=ZsrEZkC4EtdIsoQuayn1xv2gEGcV
555
602
  tests/regscale/models/test_report.py,sha256=IqUq7C__a1_q_mLaz0PE9Lq6fHggBsB14-AzEYNBxLw,4666
556
603
  tests/regscale/models/test_tenable_integrations.py,sha256=y1qaW77H094VSGHjZdlvF66UCt-nPEib9Mv3cdwbM94,32435
557
604
  tests/regscale/models/test_user_model.py,sha256=e9olv28qBApgnvK6hFHOgXjUC-pkaV8aGDirEIWASL4,4427
558
- regscale_cli-6.25.0.1.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
559
- regscale_cli-6.25.0.1.dist-info/METADATA,sha256=o0IM1S-QKAG4kmMmru9qfqBykFJjs1F3HYJDRRKMG_c,35027
560
- regscale_cli-6.25.0.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
561
- regscale_cli-6.25.0.1.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
562
- regscale_cli-6.25.0.1.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
563
- regscale_cli-6.25.0.1.dist-info/RECORD,,
605
+ regscale_cli-6.26.0.0.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
606
+ regscale_cli-6.26.0.0.dist-info/METADATA,sha256=l6C-LmPRSARnx4FvmycFcPQOaNaiQ-HMgyd6iRGmMCc,35027
607
+ regscale_cli-6.26.0.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
608
+ regscale_cli-6.26.0.0.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
609
+ regscale_cli-6.26.0.0.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
610
+ regscale_cli-6.26.0.0.dist-info/RECORD,,
File without changes
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """Test configuration for RegScale integrations."""
4
+ import pytest
5
+
6
+
7
+ def pytest_configure(config):
8
+ """Configure pytest with custom markers."""
9
+ config.addinivalue_line("markers", "stress: mark test as a stress test (requires --stress flag to run)")
10
+
11
+
12
+ def pytest_addoption(parser):
13
+ """Add command line options to pytest."""
14
+ parser.addoption(
15
+ "--stress",
16
+ action="store_true",
17
+ default=False,
18
+ help="Run stress tests (tests that generate and process large amounts of data)",
19
+ )
20
+
21
+
22
+ def pytest_collection_modifyitems(config, items):
23
+ """Skip stress tests unless --stress option is specified."""
24
+ if not config.getoption("--stress"):
25
+ skip_stress = pytest.mark.skip(reason="Need --stress option to run")
26
+ for item in items:
27
+ if "stress" in item.keywords:
28
+ item.add_marker(skip_stress)
@@ -0,0 +1 @@
1
+ # Tests for Microsoft Defender integration