regscale-cli 6.21.2.2__py3-none-any.whl → 6.22.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 (29) hide show
  1. regscale/_version.py +1 -1
  2. regscale/core/app/application.py +3 -0
  3. regscale/core/app/utils/app_utils.py +31 -0
  4. regscale/integrations/commercial/jira.py +27 -5
  5. regscale/integrations/commercial/qualys/__init__.py +160 -60
  6. regscale/integrations/commercial/qualys/scanner.py +300 -39
  7. regscale/integrations/commercial/wizv2/async_client.py +4 -0
  8. regscale/integrations/commercial/wizv2/scanner.py +50 -24
  9. regscale/integrations/public/__init__.py +13 -0
  10. regscale/integrations/public/fedramp/fedramp_cis_crm.py +175 -51
  11. regscale/integrations/scanner_integration.py +513 -145
  12. regscale/models/integration_models/cisa_kev_data.json +34 -3
  13. regscale/models/integration_models/synqly_models/capabilities.json +1 -1
  14. regscale/models/regscale_models/__init__.py +2 -0
  15. regscale/models/regscale_models/catalog.py +1 -1
  16. regscale/models/regscale_models/control_implementation.py +8 -8
  17. regscale/models/regscale_models/form_field_value.py +5 -3
  18. regscale/models/regscale_models/inheritance.py +44 -0
  19. regscale/regscale.py +2 -0
  20. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/METADATA +1 -1
  21. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/RECORD +26 -28
  22. tests/regscale/models/test_tenable_integrations.py +811 -105
  23. regscale/integrations/public/fedramp/mappings/fedramp_r4_parts.json +0 -7388
  24. regscale/integrations/public/fedramp/mappings/fedramp_r5_parts.json +0 -9605
  25. regscale/integrations/public/fedramp/parts_mapper.py +0 -107
  26. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/LICENSE +0 -0
  27. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/WHEEL +0 -0
  28. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/entry_points.txt +0 -0
  29. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.0.dist-info}/top_level.txt +0 -0
@@ -41,6 +41,7 @@ from .implementation_objective import *
41
41
  from .implementation_option import *
42
42
  from .implementation_role import *
43
43
  from .incident import *
44
+ from .inheritance import *
44
45
  from .inherited_control import *
45
46
  from .interconnection import *
46
47
  from .issue import *
@@ -51,6 +52,7 @@ from .master_assessment import *
51
52
  from .milestone import *
52
53
  from .meta_data import *
53
54
  from .objective import *
55
+ from .organization import *
54
56
  from .parameter import *
55
57
  from .policy import *
56
58
  from .ports_protocol import *
@@ -273,5 +273,5 @@ class Catalog(RegScaleModel):
273
273
  response = cls._get_api_handler().get(endpoint)
274
274
 
275
275
  if response and response.ok and response.status_code not in [204, 404]:
276
- return cls.model_validate(response.json())
276
+ return cls(**response.json())
277
277
  return None
@@ -364,14 +364,14 @@ class ControlImplementation(RegScaleModel):
364
364
  :return: A dictionary mapping control IDs to implementation IDs
365
365
  :rtype: Dict[str, int]
366
366
  """
367
- logger.info("Getting control label map by plan...")
367
+ logger.debug("Getting control label map by plan...")
368
368
  response = cls._get_api_handler().get(
369
369
  endpoint=cls.get_endpoint("get_all_by_plan_with_controls").format(int_security_plan=plan_id)
370
370
  )
371
371
  if response and response.ok:
372
- logger.info("Fetched control label map by plan successfully.")
372
+ logger.debug("Fetched control label map by plan successfully.")
373
373
  return {parentheses_to_dot(ci["control"]["controlId"]): ci["id"] for ci in response.json()}
374
- logger.info("Unable to get control label map by plan.")
374
+ logger.warning("Unable to get control label map by plan.")
375
375
  return {}
376
376
 
377
377
  @classmethod
@@ -428,14 +428,14 @@ class ControlImplementation(RegScaleModel):
428
428
  :return: A dictionary mapping control IDs to implementation IDs
429
429
  :rtype: Dict[int, int]
430
430
  """
431
- logger.info("Getting control id map by plan...")
431
+ logger.debug("Getting control id map by plan...")
432
432
  response = cls._get_api_handler().get(
433
433
  endpoint=cls.get_endpoint("get_all_by_plan_with_controls").format(int_security_plan=plan_id)
434
434
  )
435
435
  if response and response.ok:
436
- logger.info("Fetched control id map by plan successfully.")
436
+ logger.debug("Fetched control id map by plan successfully.")
437
437
  return {ci["control"]["id"]: ci["id"] for ci in response.json()}
438
- logger.info("Unable to get control id map by plan.")
438
+ logger.warning("Unable to get control id map by plan.")
439
439
  return {}
440
440
 
441
441
  @staticmethod
@@ -723,9 +723,9 @@ class ControlImplementation(RegScaleModel):
723
723
  existing_control_implementations_json = response.json()
724
724
  for cim in existing_control_implementations_json:
725
725
  existing_implementation_dict[cim.get("controlName")] = cim
726
- logger.info(f"Found {len(existing_implementation_dict)} existing control implementations")
726
+ logger.debug(f"Found {len(existing_implementation_dict)} existing control implementations")
727
727
  elif response.status_code == 404:
728
- logger.info(f"No existing control implementations found for {parent_id}")
728
+ logger.debug(f"No existing control implementations found for {parent_id}")
729
729
  else:
730
730
  logger.warning(f"Unable to get existing control implementations. {response.content}")
731
731
  return existing_implementation_dict
@@ -122,7 +122,6 @@ class FormFieldValue(RegScaleModel):
122
122
  f"The following custom fields are missing:\n \
123
123
  {missing_custom_fields}\n \
124
124
  Load these custom fields in RegScale \
125
- using the file: security_plan_custom_fields.json\
126
125
  and run this command again"
127
126
  )
128
127
 
@@ -132,7 +131,8 @@ class FormFieldValue(RegScaleModel):
132
131
  def save_custom_fields(form_field_values: list):
133
132
  """
134
133
  Populate Custom Fields form a list of dict of
135
- record_id, form_field_id, and field_value
134
+ record_id: int, record_module: str, form_field_id: int,
135
+ and field_value: Any
136
136
 
137
137
  :param list form_field_values: list of custom form
138
138
  fields, values, and the record to which to post
@@ -148,5 +148,7 @@ class FormFieldValue(RegScaleModel):
148
148
  ]
149
149
  if data:
150
150
  FormFieldValue.save_custom_data(
151
- record_id=form_field_value["record_id"], module_name="securityplans", data=data
151
+ record_id=form_field_value.get["record_id"],
152
+ module_name=form_field_value.get("record_module", "securityplans"),
153
+ data=data,
152
154
  )
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """Model for Inheritance in the application"""
4
+
5
+ from typing import Optional, Union
6
+
7
+ from pydantic import ConfigDict, Field, field_validator
8
+
9
+ from regscale.core.app.api import Api
10
+ from regscale.core.app.logz import create_logger
11
+ from regscale.core.app.utils.app_utils import get_current_datetime
12
+ from regscale.models.regscale_models.regscale_model import RegScaleModel
13
+
14
+
15
+ class Inheritance(RegScaleModel):
16
+ """
17
+ Inherited Control model
18
+ """
19
+
20
+ _module_slug = "inheritance"
21
+
22
+ id: int = 0
23
+ recordId: int = 0
24
+ recordModule: str
25
+ policyId: Optional[int] = None
26
+ planId: Optional[int] = None
27
+ dateInherited: Optional[str] = Field(default_factory=get_current_datetime)
28
+
29
+ @staticmethod
30
+ def _get_additional_endpoints() -> ConfigDict:
31
+ """
32
+ Get additional endpoints for the Inherited Controls model.
33
+
34
+ :return: A dictionary of additional endpoints
35
+ :rtype: ConfigDict
36
+ """
37
+ return ConfigDict( # type: ignore
38
+ get_all_by_parent="/api/{model_slug}/getAllByParent/{intParentID}/{strModule}",
39
+ get_all_by_control="/api/{model_slug}/getAllByBaseControl/{control_id}",
40
+ )
41
+
42
+ ## Note: There are no endpoints in this module for
43
+ # get (get_object)
44
+ # post (save/update)
regscale/regscale.py CHANGED
@@ -135,6 +135,7 @@ set_permissions = import_command_with_timing(INTERNAL, "set_permissions")
135
135
  PUBLIC = "regscale.integrations.public"
136
136
  alienvault = import_command_with_timing(PUBLIC, "alienvault")
137
137
  cisa = import_command_with_timing(PUBLIC, "cisa")
138
+ csam = import_command_with_timing(PUBLIC, "csam")
138
139
  emass = import_command_with_timing(PUBLIC, "emass")
139
140
  fedramp = import_command_with_timing(PUBLIC, "fedramp")
140
141
  nist = import_command_with_timing(PUBLIC, "nist")
@@ -807,6 +808,7 @@ cli.add_command(xray) # add JFrog Xray support
807
808
  ############################################################
808
809
  cli.add_command(alienvault) # add Alienvault OTX integration
809
810
  cli.add_command(cisa) # add CISA support
811
+ cli.add_command(csam) # add CSAM support
810
812
  cli.add_command(emass) # add eMASS support
811
813
  cli.add_command(fedramp) # add FedRAMP support
812
814
  cli.add_command(nist) # add Nist_Catalog support
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: regscale-cli
3
- Version: 6.21.2.2
3
+ Version: 6.22.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,6 +1,6 @@
1
1
  regscale/__init__.py,sha256=ZygAIkX6Nbjag1czWdQa-yP-GM1mBE_9ss21Xh__JFc,34
2
- regscale/_version.py,sha256=c23bJjOSOin3Rj2jQMCSQSWCsJkFOj3c3AkLRqbD5mc,1198
3
- regscale/regscale.py,sha256=xcxnTwEwWgfO3Fnp0LVo32SZCJzAswq3WDZgm21nHnI,30914
2
+ regscale/_version.py,sha256=xmeMskmhrf4ykFhllUkD4t6oyrCKlBqC3mQ_278pr-w,1198
3
+ regscale/regscale.py,sha256=B5XR-4v7dNChlXmLD-GIw7UEyB0aJw-25jROkUGgnaA,31006
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
@@ -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=CSyUCV6haBAQ9IyE1FViJcAfTcoS5GJRaULwnRoAV9U,23499
39
- regscale/core/app/application.py,sha256=O-Z0EVQuGIWAeUSjz2IK1LnUP5zF1YNOb4gxZ79B1LI,31903
39
+ regscale/core/app/application.py,sha256=qGi5aLixOGhUq_ioGqx9vSbZBKXWxtqNaaQ_pQX9kXM,32020
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
@@ -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=zLEHHHWR4likFQYY_bZsWLTAoRajyyaWrESkotVrFlM,36240
60
+ regscale/core/app/utils/app_utils.py,sha256=xb-hZtotBu6vJrlTZtfn8YVGWVXqGMlImTBoYwbCOJE,37116
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
@@ -114,7 +114,7 @@ regscale/integrations/api_paginator_example.py,sha256=lEuYI-xEGcjnXuIzbCobCP0YRu
114
114
  regscale/integrations/compliance_integration.py,sha256=aR13rcMh-BTpr_ibENPQZ1z5rlhtuqpPGRI9YfbqJjw,68394
115
115
  regscale/integrations/integration_override.py,sha256=HjYBCuvNpU3t3FptaqYAkdexLFOZBAFrFE9xU0RD1Nc,5867
116
116
  regscale/integrations/jsonl_scanner_integration.py,sha256=l8nq_T3rE1XX-6HxrNHm3xzxCNWbIjxQvGMdtZWs7KQ,57003
117
- regscale/integrations/scanner_integration.py,sha256=o7RdZ7Z0x0Ldhh5JrjUx1qFGKiJLw_y-6mFyhyA2P1k,145526
117
+ regscale/integrations/scanner_integration.py,sha256=fMdA4SrpzJJiTTTPtKCjq5HjeoM1QrIhHNp7wVj1BuI,161584
118
118
  regscale/integrations/variables.py,sha256=MfQ34WuYVN5437A9sZ2ssHRkA3gFhMHfk1DVasceGmY,2336
119
119
  regscale/integrations/commercial/__init__.py,sha256=LZj1qV5f7RdHIOfedDVELV62ADe5gyNccWayHMF1aVc,14026
120
120
  regscale/integrations/commercial/ad.py,sha256=YXSmK8vRf6yi2GnREGa5GrE6GelhFrLj44SY8AO1pK0,15509
@@ -125,7 +125,7 @@ regscale/integrations/commercial/dependabot.py,sha256=V4VbHbwrxHfe7eCilJ7U_MBeIO
125
125
  regscale/integrations/commercial/ecr.py,sha256=oQafB_Lx4CbGDLb6fqNtY1oAWci6-XWsm39URNbqgrk,2687
126
126
  regscale/integrations/commercial/gitlab.py,sha256=dzfqJQ68QI1ee_BriNMyPuXLkzOhc2vR1hhVfq2j13Y,12496
127
127
  regscale/integrations/commercial/ibm.py,sha256=vFloNxSrM2BzoicMSiInYN5dF10BbYHJpJDyyMqZu2I,2766
128
- regscale/integrations/commercial/jira.py,sha256=QRYuWfD_3dj87ImZr-eRwOGWrE7-gC7jvvd94F2YQdE,46322
128
+ regscale/integrations/commercial/jira.py,sha256=vhXfVGv2cow_hSKCo2I3k9w9ppfCCrnsa3Mp-mGnd0M,46929
129
129
  regscale/integrations/commercial/nexpose.py,sha256=fx6O__y7eY0GaAbX8p24_V1VTFfOM7oia4r3aa_qVnE,2847
130
130
  regscale/integrations/commercial/okta.py,sha256=VNwE848xiBxkha4DibkhLJN-fi0T8rLMd30PPAmRjpk,30837
131
131
  regscale/integrations/commercial/prisma.py,sha256=oYS31HlI7GiShUy0r9Luv57Ex3cGqdJcIoVMrwDAC2c,2835
@@ -188,10 +188,10 @@ regscale/integrations/commercial/nessus/scanner.py,sha256=sQWoO1qCEl43Ww1fjJ3v23
188
188
  regscale/integrations/commercial/opentext/__init__.py,sha256=zqCPb_4rYRZZPXfeKn4AoZyyYyQ6MU4C0lCs2ysOBhc,251
189
189
  regscale/integrations/commercial/opentext/commands.py,sha256=TTClFg16EzlXQOjdQQ6AdWuVuh7H2zO0V9rXd73-ni0,2572
190
190
  regscale/integrations/commercial/opentext/scanner.py,sha256=QAb9FPiYeQCEnqL3dnFBFe64LydwLaR8HWpYmabgcbE,22581
191
- regscale/integrations/commercial/qualys/__init__.py,sha256=K9MfFXzLEmj3vRiQ6Mw7LpZa6AI6OugJaVYhyRKrGzA,89871
191
+ regscale/integrations/commercial/qualys/__init__.py,sha256=fO-odha8-tfYZv40Y2jJ1SPCJxQCCb7hvZBUxVtQeyk,92808
192
192
  regscale/integrations/commercial/qualys/containers.py,sha256=KD9DJlE7E9y0_BM-HJtizr03p9dMEi-2uO4bwdwCP8M,12163
193
193
  regscale/integrations/commercial/qualys/qualys_error_handler.py,sha256=2nlxeNLQMOpkiTij39VTsZg-2AFQsM6-rwlBW2pVpKY,18594
194
- regscale/integrations/commercial/qualys/scanner.py,sha256=fKtMo2IHyBHG0Y5xgATztr3fXjzNIBIeXEUP_87w2W4,56732
194
+ regscale/integrations/commercial/qualys/scanner.py,sha256=URhIH1Rh1WlzwVBsSuN2Hzcl9q4bkYc0w__nPSO0mFs,68204
195
195
  regscale/integrations/commercial/qualys/variables.py,sha256=TPoIW5_yNmU6c0AlLOpHQdxp6OrH8jUmMJikqT7YYz8,962
196
196
  regscale/integrations/commercial/sap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
197
  regscale/integrations/commercial/sap/click.py,sha256=pWgjUOA_4WKkDUWcE8z4EshnJUdrTl15NKUfKpKyqzE,522
@@ -233,7 +233,7 @@ regscale/integrations/commercial/trivy/commands.py,sha256=YGQFtpQGkmcLT3X2OVp7lt
233
233
  regscale/integrations/commercial/trivy/scanner.py,sha256=iiwTvjqRlLRgQvCs_FP0j83B7ApOta0MSXyO0-iHfSk,11309
234
234
  regscale/integrations/commercial/wizv2/WizDataMixin.py,sha256=s7F_rVrP9IZa_x_vh3MswR7W_UBHRfd4kHGVsNX4ips,3606
235
235
  regscale/integrations/commercial/wizv2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
- regscale/integrations/commercial/wizv2/async_client.py,sha256=a_UVGKFpfmufZLaigFaWFQTS8xTrJF6NcNKQjG7pMcw,12819
236
+ regscale/integrations/commercial/wizv2/async_client.py,sha256=CElkHxbSlNfRnvJpf4JTBD293NJxQsR-QaTBuHINrLw,12946
237
237
  regscale/integrations/commercial/wizv2/click.py,sha256=qTNLsl6ZRgN-O2Bnguav9ztaWaAgdTHFpiJVebpD5iM,15350
238
238
  regscale/integrations/commercial/wizv2/constants.py,sha256=E7DDUhPVp372wZCVZZffdD7LRO6tGdxljaR_aHlzEx0,46910
239
239
  regscale/integrations/commercial/wizv2/data_fetcher.py,sha256=tMdwWfaQCqLpZg9tGEPdl1eM56zU0RkEWi2Jm3-7A6Y,13804
@@ -243,7 +243,7 @@ regscale/integrations/commercial/wizv2/parsers.py,sha256=dsSMiZaUrBXbuW7U-I5nLoF
243
243
  regscale/integrations/commercial/wizv2/policy_compliance.py,sha256=a2VzMxwGiGeIcU8FnyCH6I0z0wdyXeVQPFM7hV9Td-k,133181
244
244
  regscale/integrations/commercial/wizv2/policy_compliance_helpers.py,sha256=-KAlDxMiojyUX2DtUi3uVbpmFhDLtGs7wj11MPBCaRE,22174
245
245
  regscale/integrations/commercial/wizv2/sbom.py,sha256=QcGaYiBGtZ3mBcbo-KGl-I2u6QHKAIinTk26LPy0Kng,4466
246
- regscale/integrations/commercial/wizv2/scanner.py,sha256=weSjSBFvvgHmMJp4lpjgomgvBIJ7rjpg_7W7JW-ds-A,74566
246
+ regscale/integrations/commercial/wizv2/scanner.py,sha256=c2GQRxdQXpVKGbzcdYWszlXflHEi07GUvx7IldOVGgw,75605
247
247
  regscale/integrations/commercial/wizv2/utils.py,sha256=npdIwR_XG_5VZkr_YXgMe8cjhcYKncNndglD55qwWc8,55996
248
248
  regscale/integrations/commercial/wizv2/variables.py,sha256=2DVIN4JPYX9hN6wTdEI9ZdHXYDPpYSu4mAC0yVibPLg,1992
249
249
  regscale/integrations/commercial/wizv2/wiz_auth.py,sha256=qGcUhpC9eRkJIngmv3i9yHdp0q9rv6AvA5gHkypYzCE,5549
@@ -251,7 +251,7 @@ regscale/integrations/integration/__init__.py,sha256=WJgPLnEahD94QLE8NR8QCzlf8xk
251
251
  regscale/integrations/integration/integration.py,sha256=pr_fbqBieYbqp3PdBjuqKuZCYFf0kF4GkFdlViTKG54,586
252
252
  regscale/integrations/integration/inventory.py,sha256=gHL1a6VSV3zf4DTmksEy8qXNrqhIun8TwLxhRpuEMqY,341
253
253
  regscale/integrations/integration/issue.py,sha256=HaCF_5F_U_E5ecYlMgOZiM-yhXnt7OLj47OAJkf9X3g,3507
254
- regscale/integrations/public/__init__.py,sha256=_TpTkqySBuI7GqMiRHtcQS-g9rAG5fcdd8EpCDWmrZ0,2949
254
+ regscale/integrations/public/__init__.py,sha256=D4RyJhTGFRkrh_cJUfIbWCldue-DDcunuFuprBzKxFY,3261
255
255
  regscale/integrations/public/cisa.py,sha256=EE2rN4GWWEk5VLt4iMVwGMYB6yYPxe6KyW_tLs8dDmA,21870
256
256
  regscale/integrations/public/criticality_updater.py,sha256=bekadBBJkym5Dd9JZFNQmY3I0e1xgBvxkyVwgCNOKus,2806
257
257
  regscale/integrations/public/emass.py,sha256=culHHuXUlVYkB6DcVcnUvpBzU1eRyyVGgsJ3KqC8HOw,13672
@@ -264,7 +264,7 @@ regscale/integrations/public/fedramp/appendix_parser.py,sha256=u3Q_NHxAvYTQ1RAr1
264
264
  regscale/integrations/public/fedramp/click.py,sha256=8JbWRidFZ9EFoOTp-bwE584u23TzKqWQIpfxmA0-lGo,14975
265
265
  regscale/integrations/public/fedramp/components.py,sha256=z6PMObm-kjRR42bT04EfnjisrEULfXlwxb7576uuMmY,27010
266
266
  regscale/integrations/public/fedramp/docx_parser.py,sha256=EA9g1iTlB6-GtOzV9JwGW8x_SruhbaIMOzstCBvjiq8,10526
267
- regscale/integrations/public/fedramp/fedramp_cis_crm.py,sha256=IVASI6W0uEOg_SyxJSqyHev1KzSwEnF1RTWYT3qfViw,64576
267
+ regscale/integrations/public/fedramp/fedramp_cis_crm.py,sha256=U7Ub93-a3OX2LwuD0GwAnVY1xDq17MUBcN9KWeIPxGM,69553
268
268
  regscale/integrations/public/fedramp/fedramp_common.py,sha256=Mdy3_WdCEcTwSXEEKXiODmr2YJTWcTg6jfyWZJWfruQ,115406
269
269
  regscale/integrations/public/fedramp/fedramp_docx.py,sha256=eKkRwfcIi4aHJp4ajKDUGJECItwrZwYfCiKzmfB2W1Q,13703
270
270
  regscale/integrations/public/fedramp/fedramp_five.py,sha256=A4ssNsdMrTTFGOEO8WnQhD-DQrfk74LASgFAaqii_S8,96730
@@ -274,7 +274,6 @@ regscale/integrations/public/fedramp/import_workbook.py,sha256=VFNBjBNLLRL3WjkJm
274
274
  regscale/integrations/public/fedramp/inventory_items.py,sha256=nBgVgigMyZ2C6fJ9QCvz-8KvSlGtqi1lqC3alBUlzyg,10080
275
275
  regscale/integrations/public/fedramp/markdown_parser.py,sha256=TwNFFRiXaoocNpjo8SfzBY8D6NTd7FsShnzE9V89kZw,5561
276
276
  regscale/integrations/public/fedramp/metadata.py,sha256=eh8AA5YNHUxHGnlbLRmhovINBKqkAJR98EUFDX1g5Z0,26543
277
- regscale/integrations/public/fedramp/parts_mapper.py,sha256=aBh1gWo-3-JFDDxHQaxrvqC7OFTxS6qWEFfoHlknomc,3787
278
277
  regscale/integrations/public/fedramp/properties.py,sha256=Yr9NGM9-vFTbnipl7TRNfo83HJ7FKkCJSECaLtT35eQ,7007
279
278
  regscale/integrations/public/fedramp/reporting.py,sha256=KpxHSaw-nR3sQf_c1AGxgFUmWeas62EsbwB0Wu_NL60,2550
280
279
  regscale/integrations/public/fedramp/resources.py,sha256=Xcn7pxpm5UsFIPp40oSt6B3123mXdjmX-6AmB5PYsI4,19053
@@ -285,9 +284,7 @@ regscale/integrations/public/fedramp/system_control_implementations.py,sha256=yQ
285
284
  regscale/integrations/public/fedramp/system_implementation.py,sha256=zrnEI7m2tLwZCig3_Vq4Mb2uZiDzW-yhYzyam-TRpJw,5945
286
285
  regscale/integrations/public/fedramp/xml_utils.py,sha256=MgWYb-ewiCSw6f7zGb2MV0tpRhYOPDXj1g3XymRnAiI,3221
287
286
  regscale/integrations/public/fedramp/mappings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
288
- regscale/integrations/public/fedramp/mappings/fedramp_r4_parts.json,sha256=PGqIPG14mSLOs9xmQshfzdF_o9zKda9Qan2SNFXqMY8,204498
289
287
  regscale/integrations/public/fedramp/mappings/fedramp_r5_params.json,sha256=5CQ7viFSWvGk3lpoS59QwugJ2A-bTtfXP72IAxImDfo,212929
290
- regscale/integrations/public/fedramp/mappings/fedramp_r5_parts.json,sha256=t_9n9Z8YJ0YJ8MofXz0KbsdJ1xu5jkGI7FNF5ccGreI,219949
291
288
  regscale/integrations/public/fedramp/mappings/system_roles.py,sha256=x2vrJGXRKC7qcgjrUm1KCEkReTYZC9c2euFrhthmRFU,1155
292
289
  regscale/integrations/public/fedramp/mappings/user.py,sha256=aHO7j1SToQQfeX1Xq1KsrLb_xjVKeX4mfSG82SnxZ_I,5968
293
290
  regscale/integrations/public/fedramp/mappings/values.py,sha256=dXpNrd3zfpDI3PH9XDfLCOy7dmf9iRQAjH_rOB6oXZM,5545
@@ -320,7 +317,7 @@ regscale/models/integration_models/azure_alerts.py,sha256=2etrpvcxa7jVQrc98bJlVG
320
317
  regscale/models/integration_models/base64.py,sha256=sxV6O5qY1_TstJENX5jBPsSdQwmA83-NNhgJFunXiZE,570
321
318
  regscale/models/integration_models/burp.py,sha256=FBEBkH3U0Q8vq71FFoWnvgLRF5Hkr9GYmQFmNNHFrVk,16932
322
319
  regscale/models/integration_models/burp_models.py,sha256=UytDTAcCaxyu-knFkm_mEUH6UmWK3OTXKSC9Sc6OjVs,3669
323
- regscale/models/integration_models/cisa_kev_data.json,sha256=kBsfInlBo4eaPjn8uFe7b3JSv51xtj7wjVCoNtWrG9I,1257565
320
+ regscale/models/integration_models/cisa_kev_data.json,sha256=1OiKqTaBxjfFRVS42qC9SM6G8jIvE0x5MvPAwAD9Aek,1259609
324
321
  regscale/models/integration_models/defender_data.py,sha256=jsAcjKxiGmumGerj7xSWkFd6r__YpuKDnYX5o7xHDiE,2844
325
322
  regscale/models/integration_models/defenderimport.py,sha256=Ze4kgwns-IYPyO7sBjEzW8PXWlxwU-DAo2fIyRcTC3k,6242
326
323
  regscale/models/integration_models/drf.py,sha256=Aq7AdLa_CH97NrnR-CxaFI22JjVN9uCxVN7Z-BBUaNU,18896
@@ -351,7 +348,7 @@ regscale/models/integration_models/flat_file_importer/__init__.py,sha256=IoM8SPj
351
348
  regscale/models/integration_models/sbom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
349
  regscale/models/integration_models/sbom/cyclone_dx.py,sha256=0pFR0BWBrF5c8_cC_8mj2MXvNOMHOdHbBYXvTVfFAh8,4058
353
350
  regscale/models/integration_models/synqly_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
354
- regscale/models/integration_models/synqly_models/capabilities.json,sha256=GfJbg6I-_X1O7nyz1GkRMhvthJb6Zy09nisSdrE7UY4,392385
351
+ regscale/models/integration_models/synqly_models/capabilities.json,sha256=g8mjwQuCWY-YrREn8o6sscSMmUPVRR9PfwxnbF7OxL0,394614
355
352
  regscale/models/integration_models/synqly_models/connector_types.py,sha256=8nxptkTexpskySnmL0obNAff_iu_fx6tJ7i1-4hJvao,461
356
353
  regscale/models/integration_models/synqly_models/ocsf_mapper.py,sha256=e2kTOhWSNRnzbgMchMx-7c21pCgSv2DqWnxvajKEKJM,16960
357
354
  regscale/models/integration_models/synqly_models/param.py,sha256=Xt5Zm6lC_VkLj7LF2qXo72TJZHysqttsp5ai0NCf1po,2643
@@ -365,7 +362,7 @@ regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py,s
365
362
  regscale/models/integration_models/tenable_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
363
  regscale/models/integration_models/tenable_models/integration.py,sha256=lplL8zmjTFuhLreW-4y7G1fiCOBgzNAaATq800jgTQc,10271
367
364
  regscale/models/integration_models/tenable_models/models.py,sha256=dmG7btkN4YkDWwnfW5Ldc3tWEAGjPiaRgJjrqMOkPEU,15846
368
- regscale/models/regscale_models/__init__.py,sha256=UdDNWnlfwCtnM-R8j_tJdnCHjw8e-imSi0pQb4P2-Io,2547
365
+ regscale/models/regscale_models/__init__.py,sha256=gOGDxUUaWQ--0Kc3WmeApjeNzcBxGdBHHXrrlZ6KEpA,2602
369
366
  regscale/models/regscale_models/assessment.py,sha256=ekzNlcsfDGBu97PMCi7hBRGbzVgxk7Ij0RfrdGh1Rfw,20440
370
367
  regscale/models/regscale_models/assessment_plan.py,sha256=qo2YA5ckSbUKDHnC_2BUc2I9kMTje9Gq-qTCXqvEKCY,1716
371
368
  regscale/models/regscale_models/assessment_result.py,sha256=K48yjYKwgY1-d_Y3aQUDcCvaqcTIVYdbKV5Wgicf4Ts,1283
@@ -373,7 +370,7 @@ regscale/models/regscale_models/asset.py,sha256=MDYIFlPfngjjr6obP0wLlQPFzNw8CIFe
373
370
  regscale/models/regscale_models/asset_mapping.py,sha256=HFlkAoPZHy2xPYq28cXuzLpFoP36SI08HTL8mH_Q-uE,6851
374
371
  regscale/models/regscale_models/business_impact_assessment.py,sha256=tkuvw1ssdrVJJcsHT43nFjFhAFTSSFRNfWRIg5W-d2k,2214
375
372
  regscale/models/regscale_models/case.py,sha256=hLVTwZXzusnXR9avqh7xSVLJwPJ1rPI_Nla_VAkpZcg,1192
376
- regscale/models/regscale_models/catalog.py,sha256=jw4lfWQyE3ult3MlGU7IdGsXLYCQPVnzfjT69kKjLCs,9145
373
+ regscale/models/regscale_models/catalog.py,sha256=uXyKZAk31YnI8Qg_Bfc13nBOSAOvkVT4G2c_Y5AAuSA,9132
377
374
  regscale/models/regscale_models/cci.py,sha256=jjtO3ZXDhzQ05s5i-YeL7_TWPkl9ArGkUJGAw_LnKD8,1264
378
375
  regscale/models/regscale_models/change.py,sha256=v-FxWrYijGbxAWk7WEIN3piUw8mM3EWTeKd7itAMfMY,4970
379
376
  regscale/models/regscale_models/checklist.py,sha256=GM15N9krNmKNDJnOgtSDRlUTBVwYtttex_plc64OVWY,13290
@@ -383,7 +380,7 @@ regscale/models/regscale_models/compliance_settings.py,sha256=e0Ghjozt8iCgzmCPfY
383
380
  regscale/models/regscale_models/component.py,sha256=zURPe-unWeHpkx6OoVq3AxdOYp7Ci14xXMy-AjYmXik,14149
384
381
  regscale/models/regscale_models/component_mapping.py,sha256=g0cbbW4X49SDdlB_YtKMrP4eiK9OkrJqiut0ucdyVDA,2162
385
382
  regscale/models/regscale_models/control.py,sha256=mO46F1IfiXnLSb3YhylaS3SyjtT51s-r8b3hjix9Gbc,1072
386
- regscale/models/regscale_models/control_implementation.py,sha256=koDSnt2QDrO71Wv4AeXYT13PB_Ca6QKVp9UOcAM6Rn8,50333
383
+ regscale/models/regscale_models/control_implementation.py,sha256=Kj4zDQcn5SQHNy7peh80sCDoveD02I6MBstY82BgOB4,50345
387
384
  regscale/models/regscale_models/control_objective.py,sha256=qGh8OtATjjc4JS-3bC1AX6TbgtRtz-I0dckbuZ2RzVo,9496
388
385
  regscale/models/regscale_models/control_parameter.py,sha256=5VVkbVZTb2Hzy_WiybU2JtrvhQp8DLSWxRcbSKxktiI,3499
389
386
  regscale/models/regscale_models/control_test.py,sha256=FG-fLS9JJf8__a84W2LtBXtEjzOH9iq2EO949vBx3eY,949
@@ -400,13 +397,14 @@ regscale/models/regscale_models/evidence_mapping.py,sha256=eovTJsl1cjZMvbhpOv70n
400
397
  regscale/models/regscale_models/facility.py,sha256=J3gGv0Tf3zNdyKGhb0iM8WjgjWqJHZLKdcN9n-jDrTA,1059
401
398
  regscale/models/regscale_models/file.py,sha256=zHIZvhgxMWTXX5ku98dRJcDSQ1VrRyUuorA6N9YEBzU,14711
402
399
  regscale/models/regscale_models/filetag.py,sha256=jd99xcQsGheLFfy7PYtZEzT-re_Dp_ZoUF3GWYMsi0Q,1138
403
- regscale/models/regscale_models/form_field_value.py,sha256=xKnbXWQl4xVuUQMbeRK23MbPO7SOMARBvvH2O98UOm4,5816
400
+ regscale/models/regscale_models/form_field_value.py,sha256=PebM575d7dXd8rQCGWV-WCvdYOw9OM022PwWPr3oDKk,5869
404
401
  regscale/models/regscale_models/functional_roles.py,sha256=Vm_j-UZBKoaiONO75VqqCKnDHE6ynP0X5XZmKXl8UT8,932
405
402
  regscale/models/regscale_models/group.py,sha256=HpAkW6RmuCepSqhVbiySeaWvbMi7SzQr81hkXWhsVI4,6269
406
403
  regscale/models/regscale_models/implementation_objective.py,sha256=e0Hamt-9RBeHRDzlWDbIJ3t4qnZKXPrbsesBK3wYoNk,12132
407
404
  regscale/models/regscale_models/implementation_option.py,sha256=gEScteJjmTq_jw010gnOJbvYE6ZeWmrGdl6Qs1kw_Mc,11395
408
405
  regscale/models/regscale_models/implementation_role.py,sha256=ZjJOhjM3dVlulsGx3lUKgG49LpxNzx6J-RwTd4eRgx0,1107
409
406
  regscale/models/regscale_models/incident.py,sha256=jsS4MfigzjwFphvdIrBk62GfvbceQ8VL-AhfQSQM460,6028
407
+ regscale/models/regscale_models/inheritance.py,sha256=n8CtDQZ8WPQ-AwC0kq5D0nMwK1_njfB-rUN5PdjiMOs,1314
410
408
  regscale/models/regscale_models/inherited_control.py,sha256=RuQJgVyZgfoIrUG_vvwQYHECb3wsFjDH-zPj-bIFBNU,2007
411
409
  regscale/models/regscale_models/interconnection.py,sha256=8Q9CGeHEX9TXQrim_NIAj9KuM4MwaUTpBLs_LKaXAlw,1256
412
410
  regscale/models/regscale_models/issue.py,sha256=h88GRUD1YtC0-bVHXm3p9owDt1F0bJD48tzm03HkrOg,59248
@@ -531,11 +529,11 @@ tests/regscale/models/test_mapping.py,sha256=LE3cHETIeQ61lfYzIN2M9zlnECVb0alVe3D
531
529
  tests/regscale/models/test_platform.py,sha256=9KW9frA7S_hNc8thC5D4sK63DTzFLZ3XE47wvcDxW-M,978
532
530
  tests/regscale/models/test_regscale_model.py,sha256=ZsrEZkC4EtdIsoQuayn1xv2gEGcVzzozDITKJd7vYIc,12182
533
531
  tests/regscale/models/test_report.py,sha256=IqUq7C__a1_q_mLaz0PE9Lq6fHggBsB14-AzEYNBxLw,4666
534
- tests/regscale/models/test_tenable_integrations.py,sha256=PNJC2Zu6lv1xj7y6e1yOsz5FktSU3PRKb5x3n5YG3w0,4072
532
+ tests/regscale/models/test_tenable_integrations.py,sha256=y1qaW77H094VSGHjZdlvF66UCt-nPEib9Mv3cdwbM94,32435
535
533
  tests/regscale/models/test_user_model.py,sha256=e9olv28qBApgnvK6hFHOgXjUC-pkaV8aGDirEIWASL4,4427
536
- regscale_cli-6.21.2.2.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
537
- regscale_cli-6.21.2.2.dist-info/METADATA,sha256=7yq5fry5SL1DvzcbSeD18IguQQoEOpA6s7lHM2nR2zA,34955
538
- regscale_cli-6.21.2.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
539
- regscale_cli-6.21.2.2.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
540
- regscale_cli-6.21.2.2.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
541
- regscale_cli-6.21.2.2.dist-info/RECORD,,
534
+ regscale_cli-6.22.0.0.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
535
+ regscale_cli-6.22.0.0.dist-info/METADATA,sha256=cS3J4z_bQOnpru0zBUlDt193zyi7ITP4DCl_baITMMU,34955
536
+ regscale_cli-6.22.0.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
537
+ regscale_cli-6.22.0.0.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
538
+ regscale_cli-6.22.0.0.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
539
+ regscale_cli-6.22.0.0.dist-info/RECORD,,