regscale-cli 6.27.3.0__py3-none-any.whl → 6.28.1.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 (113) hide show
  1. regscale/_version.py +1 -1
  2. regscale/core/app/utils/app_utils.py +11 -2
  3. regscale/dev/cli.py +26 -0
  4. regscale/dev/version.py +72 -0
  5. regscale/integrations/commercial/__init__.py +15 -1
  6. regscale/integrations/commercial/amazon/amazon/__init__.py +0 -0
  7. regscale/integrations/commercial/amazon/amazon/common.py +204 -0
  8. regscale/integrations/commercial/amazon/common.py +48 -58
  9. regscale/integrations/commercial/aws/audit_manager_compliance.py +2671 -0
  10. regscale/integrations/commercial/aws/cli.py +3093 -55
  11. regscale/integrations/commercial/aws/cloudtrail_control_mappings.py +333 -0
  12. regscale/integrations/commercial/aws/cloudtrail_evidence.py +501 -0
  13. regscale/integrations/commercial/aws/cloudwatch_control_mappings.py +357 -0
  14. regscale/integrations/commercial/aws/cloudwatch_evidence.py +490 -0
  15. regscale/integrations/commercial/aws/config_compliance.py +914 -0
  16. regscale/integrations/commercial/aws/conformance_pack_mappings.py +198 -0
  17. regscale/integrations/commercial/aws/evidence_generator.py +283 -0
  18. regscale/integrations/commercial/aws/guardduty_control_mappings.py +340 -0
  19. regscale/integrations/commercial/aws/guardduty_evidence.py +1053 -0
  20. regscale/integrations/commercial/aws/iam_control_mappings.py +368 -0
  21. regscale/integrations/commercial/aws/iam_evidence.py +574 -0
  22. regscale/integrations/commercial/aws/inventory/__init__.py +223 -22
  23. regscale/integrations/commercial/aws/inventory/base.py +107 -5
  24. regscale/integrations/commercial/aws/inventory/resources/audit_manager.py +513 -0
  25. regscale/integrations/commercial/aws/inventory/resources/cloudtrail.py +315 -0
  26. regscale/integrations/commercial/aws/inventory/resources/cloudtrail_logs_metadata.py +476 -0
  27. regscale/integrations/commercial/aws/inventory/resources/cloudwatch.py +191 -0
  28. regscale/integrations/commercial/aws/inventory/resources/compute.py +66 -9
  29. regscale/integrations/commercial/aws/inventory/resources/config.py +464 -0
  30. regscale/integrations/commercial/aws/inventory/resources/containers.py +74 -9
  31. regscale/integrations/commercial/aws/inventory/resources/database.py +106 -31
  32. regscale/integrations/commercial/aws/inventory/resources/guardduty.py +286 -0
  33. regscale/integrations/commercial/aws/inventory/resources/iam.py +470 -0
  34. regscale/integrations/commercial/aws/inventory/resources/inspector.py +476 -0
  35. regscale/integrations/commercial/aws/inventory/resources/integration.py +175 -61
  36. regscale/integrations/commercial/aws/inventory/resources/kms.py +447 -0
  37. regscale/integrations/commercial/aws/inventory/resources/networking.py +103 -67
  38. regscale/integrations/commercial/aws/inventory/resources/s3.py +394 -0
  39. regscale/integrations/commercial/aws/inventory/resources/security.py +268 -72
  40. regscale/integrations/commercial/aws/inventory/resources/securityhub.py +473 -0
  41. regscale/integrations/commercial/aws/inventory/resources/storage.py +53 -29
  42. regscale/integrations/commercial/aws/inventory/resources/systems_manager.py +657 -0
  43. regscale/integrations/commercial/aws/inventory/resources/vpc.py +655 -0
  44. regscale/integrations/commercial/aws/kms_control_mappings.py +288 -0
  45. regscale/integrations/commercial/aws/kms_evidence.py +879 -0
  46. regscale/integrations/commercial/aws/ocsf/__init__.py +7 -0
  47. regscale/integrations/commercial/aws/ocsf/constants.py +115 -0
  48. regscale/integrations/commercial/aws/ocsf/mapper.py +435 -0
  49. regscale/integrations/commercial/aws/org_control_mappings.py +286 -0
  50. regscale/integrations/commercial/aws/org_evidence.py +666 -0
  51. regscale/integrations/commercial/aws/s3_control_mappings.py +356 -0
  52. regscale/integrations/commercial/aws/s3_evidence.py +632 -0
  53. regscale/integrations/commercial/aws/scanner.py +851 -206
  54. regscale/integrations/commercial/aws/security_hub.py +319 -0
  55. regscale/integrations/commercial/aws/session_manager.py +282 -0
  56. regscale/integrations/commercial/aws/ssm_control_mappings.py +291 -0
  57. regscale/integrations/commercial/aws/ssm_evidence.py +492 -0
  58. regscale/integrations/commercial/synqly/ticketing.py +27 -0
  59. regscale/integrations/compliance_integration.py +308 -38
  60. regscale/integrations/due_date_handler.py +3 -0
  61. regscale/integrations/scanner_integration.py +399 -84
  62. regscale/models/integration_models/cisa_kev_data.json +65 -5
  63. regscale/models/integration_models/synqly_models/capabilities.json +1 -1
  64. regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py +17 -9
  65. regscale/models/regscale_models/assessment.py +2 -1
  66. regscale/models/regscale_models/control_objective.py +74 -5
  67. regscale/models/regscale_models/file.py +2 -0
  68. regscale/models/regscale_models/issue.py +2 -5
  69. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/METADATA +1 -1
  70. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/RECORD +113 -34
  71. tests/regscale/integrations/commercial/aws/__init__.py +0 -0
  72. tests/regscale/integrations/commercial/aws/test_audit_manager_compliance.py +1304 -0
  73. tests/regscale/integrations/commercial/aws/test_audit_manager_evidence_aggregation.py +341 -0
  74. tests/regscale/integrations/commercial/aws/test_aws_audit_manager_collector.py +1155 -0
  75. tests/regscale/integrations/commercial/aws/test_aws_cloudtrail_collector.py +534 -0
  76. tests/regscale/integrations/commercial/aws/test_aws_config_collector.py +400 -0
  77. tests/regscale/integrations/commercial/aws/test_aws_guardduty_collector.py +315 -0
  78. tests/regscale/integrations/commercial/aws/test_aws_iam_collector.py +458 -0
  79. tests/regscale/integrations/commercial/aws/test_aws_inspector_collector.py +353 -0
  80. tests/regscale/integrations/commercial/aws/test_aws_inventory_integration.py +530 -0
  81. tests/regscale/integrations/commercial/aws/test_aws_kms_collector.py +919 -0
  82. tests/regscale/integrations/commercial/aws/test_aws_s3_collector.py +722 -0
  83. tests/regscale/integrations/commercial/aws/test_aws_scanner_integration.py +722 -0
  84. tests/regscale/integrations/commercial/aws/test_aws_securityhub_collector.py +792 -0
  85. tests/regscale/integrations/commercial/aws/test_aws_systems_manager_collector.py +918 -0
  86. tests/regscale/integrations/commercial/aws/test_aws_vpc_collector.py +996 -0
  87. tests/regscale/integrations/commercial/aws/test_cli_evidence.py +431 -0
  88. tests/regscale/integrations/commercial/aws/test_cloudtrail_control_mappings.py +452 -0
  89. tests/regscale/integrations/commercial/aws/test_cloudtrail_evidence.py +788 -0
  90. tests/regscale/integrations/commercial/aws/test_config_compliance.py +298 -0
  91. tests/regscale/integrations/commercial/aws/test_conformance_pack_mappings.py +200 -0
  92. tests/regscale/integrations/commercial/aws/test_evidence_generator.py +386 -0
  93. tests/regscale/integrations/commercial/aws/test_guardduty_control_mappings.py +564 -0
  94. tests/regscale/integrations/commercial/aws/test_guardduty_evidence.py +1041 -0
  95. tests/regscale/integrations/commercial/aws/test_iam_control_mappings.py +718 -0
  96. tests/regscale/integrations/commercial/aws/test_iam_evidence.py +1375 -0
  97. tests/regscale/integrations/commercial/aws/test_kms_control_mappings.py +656 -0
  98. tests/regscale/integrations/commercial/aws/test_kms_evidence.py +1163 -0
  99. tests/regscale/integrations/commercial/aws/test_ocsf_mapper.py +370 -0
  100. tests/regscale/integrations/commercial/aws/test_org_control_mappings.py +546 -0
  101. tests/regscale/integrations/commercial/aws/test_org_evidence.py +1240 -0
  102. tests/regscale/integrations/commercial/aws/test_s3_control_mappings.py +672 -0
  103. tests/regscale/integrations/commercial/aws/test_s3_evidence.py +987 -0
  104. tests/regscale/integrations/commercial/aws/test_scanner_evidence.py +373 -0
  105. tests/regscale/integrations/commercial/aws/test_security_hub_config_filtering.py +539 -0
  106. tests/regscale/integrations/commercial/aws/test_session_manager.py +516 -0
  107. tests/regscale/integrations/commercial/aws/test_ssm_control_mappings.py +588 -0
  108. tests/regscale/integrations/commercial/aws/test_ssm_evidence.py +735 -0
  109. tests/regscale/integrations/commercial/test_aws.py +55 -56
  110. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/LICENSE +0 -0
  111. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/WHEEL +0 -0
  112. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/entry_points.txt +0 -0
  113. {regscale_cli-6.27.3.0.dist-info → regscale_cli-6.28.1.0.dist-info}/top_level.txt +0 -0
@@ -78,12 +78,14 @@ class Vulnerabilities(SynqlyModel):
78
78
  "low": ["low", "medium", "high", "critical"],
79
79
  "info": ["info", "low", "medium", "high", "critical"],
80
80
  }
81
- mapped_severities = severity_map.get(severity.lower(), severity)
81
+ if severity[0].lower() == "a":
82
+ mapped_severities = list(severity_map.keys())
83
+ else:
84
+ mapped_severities = severity_map.get(severity.lower(), severity)
82
85
  severity_filter = f"severity[in]{','.join(mapped_severities)}"
83
86
  return severity_filter
84
87
 
85
- @staticmethod
86
- def _translate_asset_filter(replace: str, replace_with: str, asset_filters: Optional[list[str]]) -> list[str]:
88
+ def _translate_asset_filter(self, replace: str, replace_with: str, asset_filters: Optional[list[str]]) -> list[str]:
87
89
  """
88
90
  Translate asset filters to the correct format for the integration
89
91
 
@@ -99,11 +101,19 @@ class Vulnerabilities(SynqlyModel):
99
101
  cleaned_filter = asset_filter
100
102
  if cleaned_filter.startswith('"') and cleaned_filter.endswith('"') and len(cleaned_filter) > 1:
101
103
  cleaned_filter = cleaned_filter[1:-1]
104
+ if cleaned_filter.startswith("'") and cleaned_filter.endswith("'") and len(cleaned_filter) > 1:
105
+ cleaned_filter = cleaned_filter[1:-1]
102
106
 
103
107
  if replace_with in cleaned_filter:
104
- translated_asset_filters.append(cleaned_filter)
108
+ possible_filter = cleaned_filter
105
109
  elif replace in cleaned_filter:
106
- translated_asset_filters.append(cleaned_filter.replace(replace, replace_with))
110
+ possible_filter = cleaned_filter.replace(replace, replace_with)
111
+ self.logger.debug(f"Translated filter: from {cleaned_filter} to {possible_filter}")
112
+ else:
113
+ continue
114
+ valid_filter, _ = self.filter_parser.validate_filter(self.integration_id, possible_filter)
115
+ if valid_filter:
116
+ translated_asset_filters.append(possible_filter)
107
117
  return translated_asset_filters
108
118
 
109
119
  def _handle_scan_date_options(self, regscale_ssp_id: int, **kwargs) -> list[str]:
@@ -120,9 +130,7 @@ class Vulnerabilities(SynqlyModel):
120
130
 
121
131
  if asset_filters := kwargs.get("filter", []):
122
132
  vuln_filter.extend(
123
- self._translate_asset_filter(
124
- replace="device.", replace_with="resources.data.", asset_filters=asset_filters
125
- )
133
+ self._translate_asset_filter(replace="device.", replace_with="resources.", asset_filters=asset_filters)
126
134
  )
127
135
 
128
136
  if kwargs.get("all_scans"):
@@ -151,7 +159,7 @@ class Vulnerabilities(SynqlyModel):
151
159
  # Pop the filter from kwargs so it doesn't get passed to query_findings
152
160
  if asset_filter := kwargs.pop("filter", []):
153
161
  asset_filter = self._translate_asset_filter(
154
- replace="resources.data.", replace_with="device.", asset_filters=asset_filter
162
+ replace="resources.", replace_with="device.", asset_filters=asset_filter
155
163
  )
156
164
  self.logger.debug(f"Asset filter: {asset_filter}")
157
165
 
@@ -5,6 +5,7 @@ from concurrent.futures import ThreadPoolExecutor
5
5
  from enum import Enum
6
6
  from typing import Any, List, Optional, Union
7
7
 
8
+ from pydantic import Field
8
9
  from requests import JSONDecodeError
9
10
 
10
11
  from regscale.core.app.api import Api
@@ -60,7 +61,7 @@ class Assessment(RegScaleModel):
60
61
  _module_slug = "assessments"
61
62
 
62
63
  id: int = 0
63
- leadAssessorId: str = ""
64
+ leadAssessorId: str = Field(default_factory=RegScaleModel.get_user_id)
64
65
  title: Optional[str] = None
65
66
  assessmentType: Optional[Union[AssessmentType, str]] = None
66
67
  plannedStart: Optional[str] = None
@@ -250,13 +250,82 @@ class ControlObjective(RegScaleModel):
250
250
  return control_objectives
251
251
 
252
252
 
253
+ def _process_objective_ccis(objective: ControlObjective, ccis_to_control_ids: dict[str, set[int]]) -> None:
254
+ """
255
+ Process CCI IDs from a control objective.
256
+
257
+ :param ControlObjective objective: The control objective to process
258
+ :param dict ccis_to_control_ids: Dictionary to update with CCI mappings
259
+ :return: None
260
+ """
261
+ if not objective.otherId:
262
+ return
263
+
264
+ cci_ids = objective.otherId.split(",")
265
+ for cci_id in cci_ids:
266
+ cci_id = cci_id.strip()
267
+ if cci_id and cci_id.startswith("CCI-"):
268
+ ccis_to_control_ids[cci_id].add(objective.securityControlId)
269
+
270
+
271
+ def _fetch_cci_objectives_batch(parent_id: int, skip: int, take: int) -> list[ControlObjective]:
272
+ """
273
+ Fetch a batch of CCI objectives.
274
+
275
+ :param int parent_id: The parent ID
276
+ :param int skip: Number of items to skip
277
+ :param int take: Number of items to take
278
+ :return: List of control objectives
279
+ :rtype: list[ControlObjective]
280
+ """
281
+ return ControlObjective.fetch_control_objectives_by_other_id(
282
+ parent_id=parent_id, other_id_contains="CCI-", skip=skip, take=take
283
+ )
284
+
285
+
253
286
  def map_ccis_to_control_ids(parent_id: int) -> dict:
287
+ """
288
+ Map CCI IDs to control IDs with pagination support.
289
+
290
+ :param int parent_id: The parent ID to fetch objectives for
291
+ :return: Dictionary mapping CCI IDs to sets of control IDs
292
+ :rtype: dict
293
+ """
294
+ import logging
295
+
296
+ logger = logging.getLogger("regscale")
254
297
  ccis_to_control_ids: dict[str, set[int]] = defaultdict(set)
255
- objectives = ControlObjective.fetch_control_objectives_by_other_id(parent_id=parent_id, other_id_contains="CCI-")
256
298
 
257
- for objective in objectives:
258
- cci_ids = objective.otherId.split(",")
259
- for cci_id in cci_ids:
260
- ccis_to_control_ids[cci_id.strip()].add(objective.securityControlId)
299
+ try:
300
+ skip = 0
301
+ take = 50 # Use 50 as RegScale API limit
302
+ total_fetched = 0
303
+ max_iterations = 100 # Increase safety limit since batch size is smaller
304
+
305
+ for _ in range(max_iterations):
306
+ objectives = _fetch_cci_objectives_batch(parent_id, skip, take)
307
+ if not objectives:
308
+ break
309
+
310
+ # Process each objective
311
+ for objective in objectives:
312
+ _process_objective_ccis(objective, ccis_to_control_ids)
313
+
314
+ total_fetched += len(objectives)
315
+
316
+ # Check if we've reached the end
317
+ if len(objectives) < take:
318
+ break
319
+
320
+ skip += take
321
+ else:
322
+ logger.warning(f"Reached max iterations ({max_iterations}). Total fetched: {total_fetched}")
323
+
324
+ except Exception as e:
325
+ logger.debug(f"Error fetching CCI to control map: {e}")
326
+ return {}
327
+
328
+ if ccis_to_control_ids:
329
+ logger.debug(f"Mapped {len(ccis_to_control_ids)} unique CCIs to controls")
261
330
 
262
331
  return ccis_to_control_ids
@@ -385,6 +385,8 @@ class File(BaseModel):
385
385
  file_type_header = "application/gzip"
386
386
  elif file_type == ".msg":
387
387
  file_type_header = "application/vnd.ms-outlook"
388
+ elif file_type == ".jsonl":
389
+ file_type_header = "application/jsonl+json"
388
390
  else:
389
391
  logger = logging.getLogger("regscale")
390
392
  logger.warning(f"Unacceptable file type for upload: {file_type}")
@@ -1025,7 +1025,6 @@ class Issue(RegScaleModel):
1025
1025
  """
1026
1026
  take = 50
1027
1027
  skip = 0
1028
- total_fetched = 0
1029
1028
  supports_multiple_controls = cls.is_multiple_controls_supported()
1030
1029
  fields = cls._get_query_fields(supports_multiple_controls)
1031
1030
 
@@ -1039,14 +1038,12 @@ class Issue(RegScaleModel):
1039
1038
  cls._log_progress(skip, take, len(items), total_count, logger)
1040
1039
  cls._process_issue_items(items, supports_multiple_controls, control_issues)
1041
1040
 
1042
- total_fetched += len(items)
1043
-
1044
1041
  if not response.get(cls.get_module_string(), {}).get("pageInfo", {}).get("hasNextPage", False):
1045
1042
  break
1046
1043
 
1047
1044
  skip += take
1048
-
1049
- return total_fetched
1045
+ # return total count here as counting the items yields the wrong value.
1046
+ return total_count
1050
1047
 
1051
1048
  @classmethod
1052
1049
  def _get_query_fields(cls, supports_multiple_controls: bool) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: regscale-cli
3
- Version: 6.27.3.0
3
+ Version: 6.28.1.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,5 +1,5 @@
1
1
  regscale/__init__.py,sha256=ZygAIkX6Nbjag1czWdQa-yP-GM1mBE_9ss21Xh__JFc,34
2
- regscale/_version.py,sha256=TDfjUJGKm_DKWR346hYXsEe1aGpeyu_Zbob4p2aME5Q,1198
2
+ regscale/_version.py,sha256=OYriPoY8Tz0dPzjzOOokn05EdL3JQshPJVw-547c8d4,1198
3
3
  regscale/regscale.py,sha256=SiwZoh8r1ZfVqMluzI1czdvkqrtMePYkcB0eKuvLtf8,31702
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
@@ -57,7 +57,7 @@ regscale/core/app/internal/workflow.py,sha256=SpgYk1QyzdilVLOK1fFzaKhdLspumaugf5
57
57
  regscale/core/app/utils/XMLIR.py,sha256=M_RrCsbjznihatkucCKw6dPgHTPQczXyqIdUXWhuCLI,8328
58
58
  regscale/core/app/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
59
  regscale/core/app/utils/api_handler.py,sha256=T1meKw6Yi3ZAgRbQ1xuKDVh9Q9B8mbMqqN_LrSwIlAM,11765
60
- regscale/core/app/utils/app_utils.py,sha256=k_HEO4cFIddZMUtr56Z8A5NEjLz1Tl8vl2c3pqjXKvc,38652
60
+ regscale/core/app/utils/app_utils.py,sha256=z4USisXQJmshMkPmA0C9HdjvLu-NvESdLSDMoMR5lOM,39046
61
61
  regscale/core/app/utils/file_utils.py,sha256=x7cqYPxJ-PgSb2lX_K6zhdqyGQjOCmr04lnqdBQV3hI,9269
62
62
  regscale/core/app/utils/parser_utils.py,sha256=aBEgcFwbJMD-ARf3wzf-tyWwR6NHvzEcdYcPMm8hGqo,2533
63
63
  regscale/core/app/utils/pickle_file_handler.py,sha256=iMdv4N8z00TB5LyPdxIcLKNRpDQVWQ8ZQWAqCKpqmF0,1695
@@ -99,27 +99,28 @@ regscale/core/utils/graphql.py,sha256=oXGBcAuDa0uasMnD4CokIzzKKa-IgExdKXLwtaK2_t
99
99
  regscale/core/utils/urls.py,sha256=ZcU9OJqDmVQXgu6BrLESIp2KMkkUuzTZZ_wHsZMzfA4,687
100
100
  regscale/dev/__init__.py,sha256=wVP59B1iurp36ul8pD_CjmunJLHOdKWWodz1r5loNvw,190
101
101
  regscale/dev/analysis.py,sha256=9s6pfTGK6FBqV-karQQnCc_GYHloETmFyvsvVJ5jBm8,15603
102
- regscale/dev/cli.py,sha256=VT9QHhfJX10KdJlSL9zBx-D__0H7qqS8G1GPwOb59Xs,8783
102
+ regscale/dev/cli.py,sha256=Z-9NLUAleRDybwW2Muku8b8lYeOBYfC7dtMlTbvPtzA,9586
103
103
  regscale/dev/code_gen.py,sha256=9oNDyS4TccRMb9v-tuexak7eXUMQqrqRjBpU5-N_-xE,26569
104
104
  regscale/dev/dirs.py,sha256=wmEKM4UZjMXDiNi6a17JchhyfQNvJg6ACQmqT_Xt6V0,2044
105
105
  regscale/dev/docs.py,sha256=Ngtd2Z0vYXYQXUIAqhL02f-_fUuIpmTPa5YIO3wAOHY,14678
106
106
  regscale/dev/monitoring.py,sha256=h0pewRSXF8bLEtQ9dB3D0XqGTM4HtjaCiUUH3ijEllM,835
107
107
  regscale/dev/profiling.py,sha256=7Eln3y5xaGgYQMRTtJjtD_HRHeW13qkR4kY0qAXxIbA,6897
108
+ regscale/dev/version.py,sha256=bO6l1BibWuJ73fj4OdIZ2g2wZ_l3gE4VOU79s6H2fto,2324
108
109
  regscale/exceptions/__init__.py,sha256=97lZsao_6Dz4U8LVgOiXV0arRkkN6XAEu4ZkelMh4iM,129
109
110
  regscale/exceptions/license_exception.py,sha256=5lDYW1uGf7dHFKBkhzYD3FlNnI6W4BICXi24OJyOs_w,195
110
111
  regscale/exceptions/validation_exception.py,sha256=_DW_GARtPr_Dyy8tolnvC_AYsHRsUUvRz_Rkk8-fjgk,219
111
112
  regscale/integrations/__init__.py,sha256=Sqthp3Jggo7co_go380cLn3OAb0cHwqL609_4QJSFBY,58
112
113
  regscale/integrations/api_paginator.py,sha256=73rjaNM9mGv8evHAeoObXEjZPg-bJuGPo60ewCLEil8,33192
113
114
  regscale/integrations/api_paginator_example.py,sha256=lEuYI-xEGcjnXuIzbCobCP0YRuukLF0s8S3d382SAH4,12119
114
- regscale/integrations/compliance_integration.py,sha256=_KzzmUGoXvA2o4nXR3jzdd4-yO56nSn2fMDLNzRgJRI,91699
115
+ regscale/integrations/compliance_integration.py,sha256=0OPzqEGQGjHyYdIH8ilN_qnjfdmOGjV3dvk2HBAJrYA,103629
115
116
  regscale/integrations/control_matcher.py,sha256=g2adPda4AwKlpOe3R_GD-zPQY4T8n9ioSAzsNOQfjs0,16706
116
- regscale/integrations/due_date_handler.py,sha256=EAKSOsqpj5CpFQphzvkYcHgDrJ4BQlKayDGeiZVUvWo,14122
117
+ regscale/integrations/due_date_handler.py,sha256=kO87Rhs6gUBJhCGVcV4A3WoghGceKVy_wCYQ5k1bH-s,14356
117
118
  regscale/integrations/integration_override.py,sha256=HjYBCuvNpU3t3FptaqYAkdexLFOZBAFrFE9xU0RD1Nc,5867
118
119
  regscale/integrations/jsonl_scanner_integration.py,sha256=l8nq_T3rE1XX-6HxrNHm3xzxCNWbIjxQvGMdtZWs7KQ,57003
119
120
  regscale/integrations/milestone_manager.py,sha256=td5m-2LIUkHY7S3rtGwj-SLLuSGN4aiJOPAiKRcE4A4,10779
120
- regscale/integrations/scanner_integration.py,sha256=2l3h0MV--FMGeo7ShmyaLo7aylNpGnbZTNmk-LyVH_w,194725
121
+ regscale/integrations/scanner_integration.py,sha256=OJ9rcNoABkxIyvsi0UYK7yOFqgTdD1i9g_tB22xe3Ds,207863
121
122
  regscale/integrations/variables.py,sha256=MfQ34WuYVN5437A9sZ2ssHRkA3gFhMHfk1DVasceGmY,2336
122
- regscale/integrations/commercial/__init__.py,sha256=9IWhVfJec2O67JJnFs5T0cM-nSxadgOdl7jcIGXnJDE,14532
123
+ regscale/integrations/commercial/__init__.py,sha256=It6f4dwcbuY66MDp7K4D2O5t1G0AOqHS9Zd05AD_bwg,15699
123
124
  regscale/integrations/commercial/ad.py,sha256=YXSmK8vRf6yi2GnREGa5GrE6GelhFrLj44SY8AO1pK0,15509
124
125
  regscale/integrations/commercial/burp.py,sha256=3BLNKLfwL1x7jfhd8MJD6hdHEpj58pOEtrtCkn2hcWA,3344
125
126
  regscale/integrations/commercial/cpe.py,sha256=vUHKGdq0UlR38pZWqqHLLTdDfooLtE9zIiFHdoFcUr0,5735
@@ -140,22 +141,62 @@ regscale/integrations/commercial/sqlserver.py,sha256=PcDLmsZ9xU5NlFpwPZyMhhxCgX4
140
141
  regscale/integrations/commercial/veracode.py,sha256=sKeGXvjqP8LfFP56xavAyx5CxfKxpJIEw-PTxrHJ8bc,3374
141
142
  regscale/integrations/commercial/xray.py,sha256=rsmlGqj4N7hzt6rW5UIKOBZD2maDVwXxOXiYKlI6F8c,2728
142
143
  regscale/integrations/commercial/amazon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
- regscale/integrations/commercial/amazon/common.py,sha256=EHTu5YEceOsznZQTB7IF9K1oS-JDSYlFBBRMZDvMhaQ,6189
144
+ regscale/integrations/commercial/amazon/common.py,sha256=M52UraxaQq4HJ3nyBtHntKye9rh4TaOLCpd_SI-48RE,6166
145
+ regscale/integrations/commercial/amazon/amazon/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
+ regscale/integrations/commercial/amazon/amazon/common.py,sha256=1os3mcqFdZFfUS8g-bHeBpfsWm3BCKwb1ebePuw6_t0,7180
144
147
  regscale/integrations/commercial/aqua/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
148
  regscale/integrations/commercial/aqua/aqua.py,sha256=bdwqyir9ztGRwqZlWBQIHjtBEo2utSy5HJoraAx823I,2656
146
149
  regscale/integrations/commercial/aws/__init__.py,sha256=Pii3CMGvIwZnTSenuvDvuybWXBtIRdGyvF02sykzg1A,203
147
- regscale/integrations/commercial/aws/cli.py,sha256=Q2QlUcbYRzZzg9VZ5RDOTdVkkWc4UFYX7f5cMNlOZMY,14853
148
- regscale/integrations/commercial/aws/scanner.py,sha256=Zt7Om-vNqNGxIkfCrXz3pskhTVlX_NQD32kYyM7fRMs,56866
149
- regscale/integrations/commercial/aws/inventory/__init__.py,sha256=nBWBRs_lTbp3tfCcnmN855qQpnXtwyJ5miTXlD7Uhcs,4302
150
- regscale/integrations/commercial/aws/inventory/base.py,sha256=KL1Ntz0h0WGDu84LQf3y92uLl9a0sl4yIFi6-ZIFAMI,2068
150
+ regscale/integrations/commercial/aws/audit_manager_compliance.py,sha256=cqv1K4u_rFxcZ5H1KE46qPn-i7Cgf71tcjp7NPhXxCw,113349
151
+ regscale/integrations/commercial/aws/cli.py,sha256=HLoS50KNE5LhSYVidebudRedvYyxo-ZOe5HnA8p-Yiw,126919
152
+ regscale/integrations/commercial/aws/cloudtrail_control_mappings.py,sha256=mMGAMfGwGB_xK9n2fOlCzARLtTXfuWirqmMoEDtHjxE,12909
153
+ regscale/integrations/commercial/aws/cloudtrail_evidence.py,sha256=CdTTKsbvd1cRS6XoK59UsYWN6aGGekyo4Ng4Qq3cPMs,20835
154
+ regscale/integrations/commercial/aws/cloudwatch_control_mappings.py,sha256=H4fbQgqa_a_TI6e2O7oH24xigQyvU6nvoxUZ4FZvlxQ,13979
155
+ regscale/integrations/commercial/aws/cloudwatch_evidence.py,sha256=3-bl-naBvDfz9wb3a-1VHLBWu_7SzP4Xt9uOBxs2I2g,20450
156
+ regscale/integrations/commercial/aws/config_compliance.py,sha256=TAGJQQU7a8U8VjKScVk-y8uGeA3EZp3s1b3_to4dVqw,37377
157
+ regscale/integrations/commercial/aws/conformance_pack_mappings.py,sha256=2m6v3mOkAmw8BaHKVEJCfuivbrND_t0ZBf1giE1LWwY,7309
158
+ regscale/integrations/commercial/aws/evidence_generator.py,sha256=z2vxJWWdKoOi2Ecj31HUWVeHC4u3hLPMga4oUbp73jw,10344
159
+ regscale/integrations/commercial/aws/guardduty_control_mappings.py,sha256=1bmcwiJr3Kh2W4g-TJr48UVySa3XWcXcZJ90cGYOYwo,12300
160
+ regscale/integrations/commercial/aws/guardduty_evidence.py,sha256=gpGdm6WCoyu3I0Iy11aMkbXIp_3a_m1rp09IlL4qIUg,44204
161
+ regscale/integrations/commercial/aws/iam_control_mappings.py,sha256=By100FzB-_0DAq0Q7ryhyUB5HszEOOB9XTGuJ7PJVQg,13788
162
+ regscale/integrations/commercial/aws/iam_evidence.py,sha256=BW2xmR5oivJNIF4nxCdH-ogJi-UoleSmLn_3vnkefI4,24291
163
+ regscale/integrations/commercial/aws/kms_control_mappings.py,sha256=7Kd6lNRE3SVokG2JexeesHEEtgSARFslC1zJzdpY8ug,10646
164
+ regscale/integrations/commercial/aws/kms_evidence.py,sha256=FxRrBwjzSH_lfyTg_8HfNNmYQfft8gSa4iy0Y6Fnpdo,33837
165
+ regscale/integrations/commercial/aws/org_control_mappings.py,sha256=LtsZyF2X9VDs4t3-b1_xM9BiXau9RiNuM8Gh8x1T334,10688
166
+ regscale/integrations/commercial/aws/org_evidence.py,sha256=LRp05HmVi0kSKvOJTWAYlLZIMMYxP1pNUO3D9WVNiUA,27485
167
+ regscale/integrations/commercial/aws/s3_control_mappings.py,sha256=AkNu7beMJPhSF9QL2JsupLSdqrnvOIbnjBir-M3-NmM,14147
168
+ regscale/integrations/commercial/aws/s3_evidence.py,sha256=aLNi82P4Qk7blo669vwrjnF21U4C8mv1nv3SSG9pdd4,25376
169
+ regscale/integrations/commercial/aws/scanner.py,sha256=-UvuJzIM4akCniKE3J1nn3NBY5L2rFNb2zV92WgwbuU,82374
170
+ regscale/integrations/commercial/aws/security_hub.py,sha256=f5OOF_D5uVU_1sDjjch4c4nc-h9A5EGZTN3GQ62YYhQ,13411
171
+ regscale/integrations/commercial/aws/session_manager.py,sha256=WLzc4O3QF5O01qxcgFKfpp62gDdTb5wUzqA8fDVde3E,10757
172
+ regscale/integrations/commercial/aws/ssm_control_mappings.py,sha256=HwWCcXwimyO9hgV6R5dS0WD3BynHi3r1lqbDltBQcow,11373
173
+ regscale/integrations/commercial/aws/ssm_evidence.py,sha256=-xqq1nN-MLUWqdBPjQT1EAU2HzDfyGjOXfHHAgHJpXo,20570
174
+ regscale/integrations/commercial/aws/inventory/__init__.py,sha256=LQW_Kb2GUgAuV548alhJfgeoNxpO8yg_GWoWJLn6nl4,13711
175
+ regscale/integrations/commercial/aws/inventory/base.py,sha256=8Ea1xm2F3erJG_P5isPQ3cUSLpupHIJW8PKoNMsg17w,5829
151
176
  regscale/integrations/commercial/aws/inventory/resources/__init__.py,sha256=wP8TMIixWGCn2rBNFW6XzhME-xO8kpxi9edMUJgpso4,523
152
- regscale/integrations/commercial/aws/inventory/resources/compute.py,sha256=rNi9KGbaKVtag1isERIEgcwf2I1kcFXdY0GDkbLB6BQ,9752
153
- regscale/integrations/commercial/aws/inventory/resources/containers.py,sha256=Z22Z66la-vmctYg40MAuSSWBcUmWDcwTF4R-f3GGcKw,4412
154
- regscale/integrations/commercial/aws/inventory/resources/database.py,sha256=W1MUh4TsH4RpzLgzWC3pL0jLH6YUNXlgujqSfjJuW8s,4734
155
- regscale/integrations/commercial/aws/inventory/resources/integration.py,sha256=mI3nbbYFM1ufO1dlIN5-VTyiICORo-666i4ssI6UbVA,11130
156
- regscale/integrations/commercial/aws/inventory/resources/networking.py,sha256=CkPBE2FA5dyaTjUVvVTFjoVCVO7NDs7dKjBvUs3kKYA,11597
157
- regscale/integrations/commercial/aws/inventory/resources/security.py,sha256=EWH2f_kFUqqAYdcBQ0gNzXTIcpMcJU02-robtiROFOc,10459
158
- regscale/integrations/commercial/aws/inventory/resources/storage.py,sha256=fEikYzdNATpXwqhHw41yYyyWUVpC-52Iif9NzXThVkI,3427
177
+ regscale/integrations/commercial/aws/inventory/resources/audit_manager.py,sha256=SfomnNUOPPv11VAd7wdxWLBlUb64l7J5l4OjCE0BpHc,19411
178
+ regscale/integrations/commercial/aws/inventory/resources/cloudtrail.py,sha256=rFx4nevarehbXP-3VJ4NiYFPLgM9pjTLhe7o5rq9Irc,11252
179
+ regscale/integrations/commercial/aws/inventory/resources/cloudtrail_logs_metadata.py,sha256=ed0WznC_AV-hWBOSAjXHo06eBS7KfGFFHaUhzs6Suwg,18320
180
+ regscale/integrations/commercial/aws/inventory/resources/cloudwatch.py,sha256=zVymAXWxcEll-wvQ2_-AIdaTD_pdEO3AUgjzrvo1z60,7708
181
+ regscale/integrations/commercial/aws/inventory/resources/compute.py,sha256=vuWn4ZDYTZoUpICnbs_0N19dufZC9fnsWG5CgtJE--k,12084
182
+ regscale/integrations/commercial/aws/inventory/resources/config.py,sha256=PdVo0eJxzplO1SbMRanp1WlQFVrEPSG5PlaEQFHAKIE,16896
183
+ regscale/integrations/commercial/aws/inventory/resources/containers.py,sha256=HD4btccbP2HmnaNyBOe8FlZfdXyr0SsGZ4T4pCWLd-g,6720
184
+ regscale/integrations/commercial/aws/inventory/resources/database.py,sha256=rPZ8w4KLrGiYYaHaXC_u_cPg_G7oz5TwBJgxY8CKUYY,7276
185
+ regscale/integrations/commercial/aws/inventory/resources/guardduty.py,sha256=-dANdC7UlWfw370lUux-23fKKWQBOKEo800A0_6egMs,10504
186
+ regscale/integrations/commercial/aws/inventory/resources/iam.py,sha256=YyEEuF57swLbwfZVgCITzfQNuGMR-cVDLeP-hch-YTY,17113
187
+ regscale/integrations/commercial/aws/inventory/resources/inspector.py,sha256=m0bmo5fE0ge0FI_jZ--w68osccZUGnSr5baNPtXJxUU,15812
188
+ regscale/integrations/commercial/aws/inventory/resources/integration.py,sha256=COS8z0jBXPkuOD3u2CCtD9bsVD2WuhamJDUcXmH_lwk,14467
189
+ regscale/integrations/commercial/aws/inventory/resources/kms.py,sha256=MPyoL8VjIGmYgoJGiebB1pff6h2x-CGZtPwQTQEkd1w,15219
190
+ regscale/integrations/commercial/aws/inventory/resources/networking.py,sha256=ec3nOQhFsE6_kqKIC0JcSwRKpBEHBXIzmBqeWySTyGQ,12212
191
+ regscale/integrations/commercial/aws/inventory/resources/s3.py,sha256=74sppAwQx5fy8C82-Yqj66KK_GRB_4GIm8HacJtRpkg,14320
192
+ regscale/integrations/commercial/aws/inventory/resources/security.py,sha256=JCWgDpyp3Bl1ZucDmOOGK-vpCj11amceTJCg0lMuaeE,18238
193
+ regscale/integrations/commercial/aws/inventory/resources/securityhub.py,sha256=fDBUK4blhhK-LLeTCJdtaFd30Jzzcrdtyz5_uhrYE3U,16559
194
+ regscale/integrations/commercial/aws/inventory/resources/storage.py,sha256=Ah6dlUQZTRz1dYfeNSfzQMw2ZLyhBBSgJERxep1F9NE,4384
195
+ regscale/integrations/commercial/aws/inventory/resources/systems_manager.py,sha256=naOC0BNlq-t3jnobay3CzeNyY-KMSIYs3ube0OnBooU,25559
196
+ regscale/integrations/commercial/aws/inventory/resources/vpc.py,sha256=8dybHhGRPhP8uRG0RrYnYDU8A9yf4tmeUBGPAO00q1o,26554
197
+ regscale/integrations/commercial/aws/ocsf/__init__.py,sha256=NmZwgJf8J3Uc7h1jDoz9ZvmtqUwRIVWRVJ0Je0wVr8U,225
198
+ regscale/integrations/commercial/aws/ocsf/constants.py,sha256=aLqfulScIEdOWfBEGBMI-q7ICmgBJF8IVp8_Uo3xCJU,2870
199
+ regscale/integrations/commercial/aws/ocsf/mapper.py,sha256=dSUtYz2PWjP3wLSVWfgcs6U8nWTHM4yAnu5pZ0ypTP4,16098
159
200
  regscale/integrations/commercial/axonius/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
201
  regscale/integrations/commercial/axonius/axonius_integration.py,sha256=Zqv8qKn8oNVHmjF-rzaEJIc21knip4nGNxLl37OcbyE,2320
161
202
  regscale/integrations/commercial/azure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -223,7 +264,7 @@ regscale/integrations/commercial/synqly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
223
264
  regscale/integrations/commercial/synqly/assets.py,sha256=Lwv_qVuQVwZTBWJuJjyjdhiYc8LxUJA_SN6_1_LfczI,8145
224
265
  regscale/integrations/commercial/synqly/edr.py,sha256=4EQSI2-5QnaWXh1idhndToFDOHOb3xycWAdc8NY4Auk,2836
225
266
  regscale/integrations/commercial/synqly/query_builder.py,sha256=-wEIGpNihHqB0Snf7AYm-ULoaGzAujApZrv-pRsORV0,19434
226
- regscale/integrations/commercial/synqly/ticketing.py,sha256=akucc9Ok4cTcivH_rmG927WJetJDhZ0L4IF27OC_KOE,8352
267
+ regscale/integrations/commercial/synqly/ticketing.py,sha256=Vvj6rqu_0cXpXmXForI2rFX-OT6Jfe1pl5eN_1kff3g,9157
227
268
  regscale/integrations/commercial/synqly/vulnerabilities.py,sha256=R9n_2AfB_CVKEza7MQ92YNdw1r36_rTvLzNHnQkpHvo,13623
228
269
  regscale/integrations/commercial/tenablev2/__init__.py,sha256=UpSY_oww83kz9c7amdbptJKwDB1gAOBQDS-Q9WFp588,295
229
270
  regscale/integrations/commercial/tenablev2/authenticate.py,sha256=VPTmxaVCaah2gJYNeU9P1KoQ734ohGQ-wcVy6JfqDTE,1247
@@ -345,7 +386,7 @@ regscale/models/integration_models/azure_alerts.py,sha256=2etrpvcxa7jVQrc98bJlVG
345
386
  regscale/models/integration_models/base64.py,sha256=sxV6O5qY1_TstJENX5jBPsSdQwmA83-NNhgJFunXiZE,570
346
387
  regscale/models/integration_models/burp.py,sha256=FBEBkH3U0Q8vq71FFoWnvgLRF5Hkr9GYmQFmNNHFrVk,16932
347
388
  regscale/models/integration_models/burp_models.py,sha256=UytDTAcCaxyu-knFkm_mEUH6UmWK3OTXKSC9Sc6OjVs,3669
348
- regscale/models/integration_models/cisa_kev_data.json,sha256=MrdJwSzF2H1u351GL86g0uJriXERdzl-FrBSesO3BPs,1309009
389
+ regscale/models/integration_models/cisa_kev_data.json,sha256=V49bZDE8p7OLu9XZ5YZkoY4ZRNIR8CdWSjezuAtZ-aY,1313227
349
390
  regscale/models/integration_models/defender_data.py,sha256=jsAcjKxiGmumGerj7xSWkFd6r__YpuKDnYX5o7xHDiE,2844
350
391
  regscale/models/integration_models/defenderimport.py,sha256=Ze4kgwns-IYPyO7sBjEzW8PXWlxwU-DAo2fIyRcTC3k,6242
351
392
  regscale/models/integration_models/drf.py,sha256=Aq7AdLa_CH97NrnR-CxaFI22JjVN9uCxVN7Z-BBUaNU,18896
@@ -376,7 +417,7 @@ regscale/models/integration_models/flat_file_importer/__init__.py,sha256=8RNe5LU
376
417
  regscale/models/integration_models/sbom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
418
  regscale/models/integration_models/sbom/cyclone_dx.py,sha256=0pFR0BWBrF5c8_cC_8mj2MXvNOMHOdHbBYXvTVfFAh8,4058
378
419
  regscale/models/integration_models/synqly_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
- regscale/models/integration_models/synqly_models/capabilities.json,sha256=xczk-CO5iDiLbaapaXnvMVcouhte24plnimrCbk6c1g,446333
420
+ regscale/models/integration_models/synqly_models/capabilities.json,sha256=M0Pmjj_k6UTQPxixQQ3OKPGUlVSMhWU3xFrsLRdMabo,454435
380
421
  regscale/models/integration_models/synqly_models/connector_types.py,sha256=8nxptkTexpskySnmL0obNAff_iu_fx6tJ7i1-4hJvao,461
381
422
  regscale/models/integration_models/synqly_models/filter_parser.py,sha256=8rdnHH7gW1A_uWRTexZXzCH-HzRVy5nlvFgtc7ztcsQ,12160
382
423
  regscale/models/integration_models/synqly_models/ocsf_mapper.py,sha256=OlheLLAQ5_kKipo6JUdfmqvPgMXdOy0bcjAtPu56cMk,19907
@@ -387,12 +428,12 @@ regscale/models/integration_models/synqly_models/connectors/__init__.py,sha256=J
387
428
  regscale/models/integration_models/synqly_models/connectors/assets.py,sha256=HHNIAVh5pRuJe8sStqhFEc6VnX2wT0FcY5178nbQgkQ,3705
388
429
  regscale/models/integration_models/synqly_models/connectors/edr.py,sha256=kio3uoEYubCHretpDOJqxdwmzid1IzbVYz0BF64zeL0,5547
389
430
  regscale/models/integration_models/synqly_models/connectors/ticketing.py,sha256=yRBuCkRAVfa_C91r3WqJ9gxrQsoD0qV9cY48YXpJl70,25358
390
- regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py,sha256=UJr9t9qdOWXwJk8ZiMT4Y6QLYYuyen3NO6nHhGLcQJU,9763
431
+ regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py,sha256=vViUbnyGvZx63WStAuJHWmoL867inNwlhVLGJP9Pf0U,10290
391
432
  regscale/models/integration_models/tenable_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
433
  regscale/models/integration_models/tenable_models/integration.py,sha256=lplL8zmjTFuhLreW-4y7G1fiCOBgzNAaATq800jgTQc,10271
393
434
  regscale/models/integration_models/tenable_models/models.py,sha256=dmG7btkN4YkDWwnfW5Ldc3tWEAGjPiaRgJjrqMOkPEU,15846
394
435
  regscale/models/regscale_models/__init__.py,sha256=f36bxlmGVy3WU1pWfnKGBU-j7a9-Ki1f13vnZFC5WH4,2719
395
- regscale/models/regscale_models/assessment.py,sha256=ekzNlcsfDGBu97PMCi7hBRGbzVgxk7Ij0RfrdGh1Rfw,20440
436
+ regscale/models/regscale_models/assessment.py,sha256=z08DnpArSGH7hmKebzwX-qdGxmH-O8usmzgqWGDRPM4,20513
396
437
  regscale/models/regscale_models/assessment_plan.py,sha256=qo2YA5ckSbUKDHnC_2BUc2I9kMTje9Gq-qTCXqvEKCY,1716
397
438
  regscale/models/regscale_models/assessment_result.py,sha256=K48yjYKwgY1-d_Y3aQUDcCvaqcTIVYdbKV5Wgicf4Ts,1283
398
439
  regscale/models/regscale_models/asset.py,sha256=MDYIFlPfngjjr6obP0wLlQPFzNw8CIFeYVAKFnpdqR4,19828
@@ -410,7 +451,7 @@ regscale/models/regscale_models/component.py,sha256=zTE8JGL5ft0TbneuWfPYULXgLzF4
410
451
  regscale/models/regscale_models/component_mapping.py,sha256=g0cbbW4X49SDdlB_YtKMrP4eiK9OkrJqiut0ucdyVDA,2162
411
452
  regscale/models/regscale_models/control.py,sha256=mO46F1IfiXnLSb3YhylaS3SyjtT51s-r8b3hjix9Gbc,1072
412
453
  regscale/models/regscale_models/control_implementation.py,sha256=VRCLginT2sIO8d4KmCRjFaFDQyD8S43x5KWTq0z1Y5Y,58505
413
- regscale/models/regscale_models/control_objective.py,sha256=qGh8OtATjjc4JS-3bC1AX6TbgtRtz-I0dckbuZ2RzVo,9496
454
+ regscale/models/regscale_models/control_objective.py,sha256=nT1Eusxoi20Fzmo9D8VBn_-45kygq_eWBg8gA2oF2vU,11606
414
455
  regscale/models/regscale_models/control_parameter.py,sha256=5VVkbVZTb2Hzy_WiybU2JtrvhQp8DLSWxRcbSKxktiI,3499
415
456
  regscale/models/regscale_models/control_test.py,sha256=FG-fLS9JJf8__a84W2LtBXtEjzOH9iq2EO949vBx3eY,949
416
457
  regscale/models/regscale_models/control_test_plan.py,sha256=ThfZB2mA6NtcQyZnJ8NyD4o1agTfewUobt7HmNZpLzs,2294
@@ -424,7 +465,7 @@ regscale/models/regscale_models/email.py,sha256=kgEzXTUZr7uHksMOCextWbXJXYuRKyXO
424
465
  regscale/models/regscale_models/evidence.py,sha256=R78f3eWjmBgusZbv8i9cd5O8Is43KjvxiaJH_CLERqE,4316
425
466
  regscale/models/regscale_models/evidence_mapping.py,sha256=eovTJsl1cjZMvbhpOv70nILIHSXmURyU4mg_r09h4VQ,1444
426
467
  regscale/models/regscale_models/facility.py,sha256=J3gGv0Tf3zNdyKGhb0iM8WjgjWqJHZLKdcN9n-jDrTA,1059
427
- regscale/models/regscale_models/file.py,sha256=zHIZvhgxMWTXX5ku98dRJcDSQ1VrRyUuorA6N9YEBzU,14711
468
+ regscale/models/regscale_models/file.py,sha256=hgYKXeZ-T25wvdgxr5zyUP-jOZkz4FQjV_h0NMx_WXA,14811
428
469
  regscale/models/regscale_models/filetag.py,sha256=jd99xcQsGheLFfy7PYtZEzT-re_Dp_ZoUF3GWYMsi0Q,1138
429
470
  regscale/models/regscale_models/form_field_value.py,sha256=Xd6pqt51YFi8snhC-rqeUqSK7xjKbICQ1ZPvPaQdJLg,5869
430
471
  regscale/models/regscale_models/functional_roles.py,sha256=Vm_j-UZBKoaiONO75VqqCKnDHE6ynP0X5XZmKXl8UT8,932
@@ -436,7 +477,7 @@ regscale/models/regscale_models/incident.py,sha256=jsS4MfigzjwFphvdIrBk62GfvbceQ
436
477
  regscale/models/regscale_models/inheritance.py,sha256=n8CtDQZ8WPQ-AwC0kq5D0nMwK1_njfB-rUN5PdjiMOs,1314
437
478
  regscale/models/regscale_models/inherited_control.py,sha256=RuQJgVyZgfoIrUG_vvwQYHECb3wsFjDH-zPj-bIFBNU,2007
438
479
  regscale/models/regscale_models/interconnection.py,sha256=8Q9CGeHEX9TXQrim_NIAj9KuM4MwaUTpBLs_LKaXAlw,1256
439
- regscale/models/regscale_models/issue.py,sha256=HhvhekeSOLePpLFEYz15ZbyFNJr78gJGTrCNluOmHNs,64848
480
+ regscale/models/regscale_models/issue.py,sha256=pOUoRLONznzDMUlqRV4Iymb0FWmajpysEcA86N1IkUE,64858
440
481
  regscale/models/regscale_models/leveraged_authorization.py,sha256=OUrL8JQV3r7T3ldHlL6Y_ZLv6KuQIC-3eZW5wZ7XFUk,4192
441
482
  regscale/models/regscale_models/line_of_inquiry.py,sha256=Uu0lQEhif0W6yTSkJo27GyQGmExSngJvyqGBTr4Q8Fg,1713
442
483
  regscale/models/regscale_models/link.py,sha256=lAY4Ig3Menm1EqfcAbVJ7jsCsRO5tWtJIf-9-G9FXT8,6593
@@ -552,7 +593,7 @@ tests/regscale/integrations/test_update_finding_dates.py,sha256=2cyDpwnZUS965f84
552
593
  tests/regscale/integrations/test_wiz_policy_compliance_affected_controls.py,sha256=nFqOjr4-JRjZ0fJTQEhwsvnl56g4GRdX0yvS1wRpqUY,5845
553
594
  tests/regscale/integrations/commercial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
554
595
  tests/regscale/integrations/commercial/conftest.py,sha256=zC_1h39IweO9O7bm_-hctpNiH3WedfZNPt8IZbdQQXU,918
555
- tests/regscale/integrations/commercial/test_aws.py,sha256=ojGFp4EsKZa84Ux0kLdy3bMNl77ohiGg3tayB2FBkcw,168804
596
+ tests/regscale/integrations/commercial/test_aws.py,sha256=7TXBxuCw8csM1xRUWkTCh5wRY13h9QJuxGHFXYYCpSk,168696
556
597
  tests/regscale/integrations/commercial/test_burp.py,sha256=NRXVXw7a3OgtbWozJmxomsHhE9YiRIhdhdaN9-ZIapY,1799
557
598
  tests/regscale/integrations/commercial/test_crowdstrike.py,sha256=h_vjMAbW84iyNHwkCQol4Z1JR-_6dCtf0gvR0VfBaT0,1652
558
599
  tests/regscale/integrations/commercial/test_dependabot.py,sha256=etke2B9Z11dJj7kFWtZ1QaysymqR0q2UtzVHlLpmk0U,12886
@@ -572,6 +613,44 @@ tests/regscale/integrations/commercial/test_stig_mapper.py,sha256=wHHbvnIGCQqIeo
572
613
  tests/regscale/integrations/commercial/test_stigv2.py,sha256=-y5bWHEdxHJY1xp4hqaW3PPaSz9tIw7Qg5EL69DZnHA,20102
573
614
  tests/regscale/integrations/commercial/test_wiz.py,sha256=B_eafWUcGzYyY4SznrVgSgwObFMcoULju8lQJQtLWoA,57121
574
615
  tests/regscale/integrations/commercial/test_wiz_inventory.py,sha256=796B5A7qW7XhALLwK_8U4bXUVHF0yAy8OPpw4oQNWDw,12157
616
+ tests/regscale/integrations/commercial/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
617
+ tests/regscale/integrations/commercial/aws/test_audit_manager_compliance.py,sha256=xxXPtzrPDLgXGEdaqEJHLEwRvv-fH_LNk3mYIHmgvvo,61707
618
+ tests/regscale/integrations/commercial/aws/test_audit_manager_evidence_aggregation.py,sha256=nWqizzsfKleMjy2AkxeQZsJ2gaBroNMLKFprlJeFqS0,15575
619
+ tests/regscale/integrations/commercial/aws/test_aws_audit_manager_collector.py,sha256=CZG16046PI3YcLjUWNtD3FSC7UqGLH9DEGNFBZRYFRc,50832
620
+ tests/regscale/integrations/commercial/aws/test_aws_cloudtrail_collector.py,sha256=-2_Q_1waMUKGA4jYFmllw5F68-5E2tM8V-sGAlwV_Zc,21328
621
+ tests/regscale/integrations/commercial/aws/test_aws_config_collector.py,sha256=LRmXQlto1x1zwB6nFB4wyll2L9Ji116vmCTz9nv6Uc0,16959
622
+ tests/regscale/integrations/commercial/aws/test_aws_guardduty_collector.py,sha256=qmd72SakjTUU-NCYn8bOG221M66NueG3BAdNtLdylMM,12455
623
+ tests/regscale/integrations/commercial/aws/test_aws_iam_collector.py,sha256=SSlEv8Xz--hgyeIDXKtNaLZ9InNTCDObV1LGc9YSPXQ,18142
624
+ tests/regscale/integrations/commercial/aws/test_aws_inspector_collector.py,sha256=CkcFW0NRIFzZDMvUomZWASi5K3c_K8Ss1_Olz3-V7dw,13959
625
+ tests/regscale/integrations/commercial/aws/test_aws_inventory_integration.py,sha256=6MB91R2jjbvkx0_VDVVsbaRT3EtW4hHBT9BZAWg3RrE,24513
626
+ tests/regscale/integrations/commercial/aws/test_aws_kms_collector.py,sha256=7IyyfrIQc2v03tvQyGMZByQF6PzofwH6Co0d2Eyctb8,39161
627
+ tests/regscale/integrations/commercial/aws/test_aws_s3_collector.py,sha256=ajX58v_ZHavLOVLn394E70WZ7vIhN9vvDC1gc2yYREI,32942
628
+ tests/regscale/integrations/commercial/aws/test_aws_scanner_integration.py,sha256=ZHti6FhWWelA53RaYNbzsUUSiuHaLlTwLFl7oFgU74Q,35653
629
+ tests/regscale/integrations/commercial/aws/test_aws_securityhub_collector.py,sha256=ljlj4v0R1InMJBzqmtpXzKTV6c0NmlN2ZZrHCyYds8k,33291
630
+ tests/regscale/integrations/commercial/aws/test_aws_systems_manager_collector.py,sha256=YySmKjIjGhGW4DvrDb6GBfxqWWfSGMSyyrpw7n4BC8E,38890
631
+ tests/regscale/integrations/commercial/aws/test_aws_vpc_collector.py,sha256=qQV30VmzYUUJkgqtysGXjt_qdbuoxumqc1ZiMOFYEQE,42233
632
+ tests/regscale/integrations/commercial/aws/test_cli_evidence.py,sha256=LP5ZfJNat1hqz3rC3wohgq5yHp8X2nVf8wfZ29xnZAY,17122
633
+ tests/regscale/integrations/commercial/aws/test_cloudtrail_control_mappings.py,sha256=ZPpIOyQbJtguBf7xI9PsyO9GnspMVvYsj6lQwqXUlTg,18447
634
+ tests/regscale/integrations/commercial/aws/test_cloudtrail_evidence.py,sha256=fXXkP0anDh00Ji1NdXYyCccZJINYsOHFTZXhkXxu50c,36090
635
+ tests/regscale/integrations/commercial/aws/test_config_compliance.py,sha256=W_9IoIr0xlifdYtjOIhBQb9Sr-86WOKTGX2t7t88lJ4,11437
636
+ tests/regscale/integrations/commercial/aws/test_conformance_pack_mappings.py,sha256=60nNJ01PXVOGhBZA5w9dZZqrnbNowWlria-6LdUyjXI,7809
637
+ tests/regscale/integrations/commercial/aws/test_evidence_generator.py,sha256=ydZOwZEGWb0befkbCvv9BJxZqKoHkZVc_fufpXTmAKc,14694
638
+ tests/regscale/integrations/commercial/aws/test_guardduty_control_mappings.py,sha256=qaJMnWevKqFgUTKaiLpMbzul4aDSLhmm6nmjXYfeBis,21696
639
+ tests/regscale/integrations/commercial/aws/test_guardduty_evidence.py,sha256=qoaONsjHkkgx2sbwfTHb0QorCj5vcY3c3p8UGabGPWE,43614
640
+ tests/regscale/integrations/commercial/aws/test_iam_control_mappings.py,sha256=ctEc7GudFORx29rOayIauNJ4B_xSsG948tRsbub07Ac,25688
641
+ tests/regscale/integrations/commercial/aws/test_iam_evidence.py,sha256=H4swFtoRky3TKwgkJh_SIJVaogAzqqDiByWhlNRJWq0,55380
642
+ tests/regscale/integrations/commercial/aws/test_kms_control_mappings.py,sha256=kawlbk0w2KDyZeNatU9AVKRIjmK1TZh4-Y0reFuudcE,21979
643
+ tests/regscale/integrations/commercial/aws/test_kms_evidence.py,sha256=0fIp9rwgUVOgkN6kRhe-lZltlTJ0JBsT4XTBaHXD3LE,45208
644
+ tests/regscale/integrations/commercial/aws/test_ocsf_mapper.py,sha256=Fe5qvRawTI8Xuf60VPwkuxjyIsRNy7yGc5rgpxPYcFs,15180
645
+ tests/regscale/integrations/commercial/aws/test_org_control_mappings.py,sha256=i0dcAgwtTsk-fgQ4FQVnbuWodPCf-V2Ns4seBh0t8wg,19566
646
+ tests/regscale/integrations/commercial/aws/test_org_evidence.py,sha256=AgZ5Xr-lArn-HmwiXF42LmTdkTbLhgWZaKkbxx-z_6c,49834
647
+ tests/regscale/integrations/commercial/aws/test_s3_control_mappings.py,sha256=1MsnNXAbluR3SvrlxBuSqzLp7d5b0qIhSpUJ9sXJJXc,23348
648
+ tests/regscale/integrations/commercial/aws/test_s3_evidence.py,sha256=aBwP9_SYRZIgYmM3H3E8T8HEUrBLgwe-PuZuk0-Xb5M,39285
649
+ tests/regscale/integrations/commercial/aws/test_scanner_evidence.py,sha256=WMHMyap_N8cvUKfRc9NAjdEtpsaWxdvCmcwPyGkhvkw,16071
650
+ tests/regscale/integrations/commercial/aws/test_security_hub_config_filtering.py,sha256=puP2U6T9NRLPEWv-wjfIBCvxvwelIKC_xsL_wxCJXBg,25451
651
+ tests/regscale/integrations/commercial/aws/test_session_manager.py,sha256=gLGQyIkZQIMSV4Det3lGGVLdWN4M4rRBvwas3lMkvlg,22095
652
+ tests/regscale/integrations/commercial/aws/test_ssm_control_mappings.py,sha256=HKhZ51pUVjQECGRbg0SiWw6chpQEqtPpNskXI3yHdU8,20920
653
+ tests/regscale/integrations/commercial/aws/test_ssm_evidence.py,sha256=l3rrYholPuxSOWHsUx38iJ2EL2kaL22oBCCbqKgng-U,29045
575
654
  tests/regscale/integrations/commercial/microsoft_defender/__init__.py,sha256=QbnltJbah_YSW6fOhcOdaJJJINghN67A28dhAIxT_xs,43
576
655
  tests/regscale/integrations/commercial/microsoft_defender/test_defender.py,sha256=zRfEKhtrUA0p6MbxrPB_cCPhjNQPL6lmdZaPRoehJRc,63295
577
656
  tests/regscale/integrations/commercial/microsoft_defender/test_defender_api.py,sha256=VvHpno51w03CUHGX1JZBjJOIpfHIxuh7QCh_lh5gcjM,72518
@@ -639,9 +718,9 @@ tests/regscale/models/test_regscale_model.py,sha256=ZsrEZkC4EtdIsoQuayn1xv2gEGcV
639
718
  tests/regscale/models/test_report.py,sha256=IqUq7C__a1_q_mLaz0PE9Lq6fHggBsB14-AzEYNBxLw,4666
640
719
  tests/regscale/models/test_tenable_integrations.py,sha256=y1qaW77H094VSGHjZdlvF66UCt-nPEib9Mv3cdwbM94,32435
641
720
  tests/regscale/models/test_user_model.py,sha256=e9olv28qBApgnvK6hFHOgXjUC-pkaV8aGDirEIWASL4,4427
642
- regscale_cli-6.27.3.0.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
643
- regscale_cli-6.27.3.0.dist-info/METADATA,sha256=3X7DDulppqXYZw0cMrnWPPPxfXQKOwAIdxZrlu2-4xg,34231
644
- regscale_cli-6.27.3.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
645
- regscale_cli-6.27.3.0.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
646
- regscale_cli-6.27.3.0.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
647
- regscale_cli-6.27.3.0.dist-info/RECORD,,
721
+ regscale_cli-6.28.1.0.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
722
+ regscale_cli-6.28.1.0.dist-info/METADATA,sha256=8BPxDuKhxvhE6Tob79tvcXF5TVmULwiYRgKCMSq6lkI,34231
723
+ regscale_cli-6.28.1.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
724
+ regscale_cli-6.28.1.0.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
725
+ regscale_cli-6.28.1.0.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
726
+ regscale_cli-6.28.1.0.dist-info/RECORD,,
File without changes