regscale-cli 6.21.2.2__py3-none-any.whl → 6.22.0.1__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 (32) 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/synqly/edr.py +2 -8
  8. regscale/integrations/commercial/wizv2/async_client.py +4 -0
  9. regscale/integrations/commercial/wizv2/scanner.py +50 -24
  10. regscale/integrations/public/__init__.py +13 -0
  11. regscale/integrations/public/csam/__init__.py +0 -0
  12. regscale/integrations/public/csam/csam.py +1129 -0
  13. regscale/integrations/public/fedramp/fedramp_cis_crm.py +175 -51
  14. regscale/integrations/scanner_integration.py +513 -145
  15. regscale/models/integration_models/cisa_kev_data.json +64 -3
  16. regscale/models/integration_models/synqly_models/capabilities.json +1 -1
  17. regscale/models/regscale_models/__init__.py +2 -0
  18. regscale/models/regscale_models/catalog.py +1 -1
  19. regscale/models/regscale_models/control_implementation.py +8 -8
  20. regscale/models/regscale_models/form_field_value.py +5 -3
  21. regscale/models/regscale_models/inheritance.py +44 -0
  22. regscale/regscale.py +2 -0
  23. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.dist-info}/METADATA +1 -1
  24. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.dist-info}/RECORD +29 -29
  25. tests/regscale/models/test_tenable_integrations.py +811 -105
  26. regscale/integrations/public/fedramp/mappings/fedramp_r4_parts.json +0 -7388
  27. regscale/integrations/public/fedramp/mappings/fedramp_r5_parts.json +0 -9605
  28. regscale/integrations/public/fedramp/parts_mapper.py +0 -107
  29. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.dist-info}/LICENSE +0 -0
  30. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.dist-info}/WHEEL +0 -0
  31. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.dist-info}/entry_points.txt +0 -0
  32. {regscale_cli-6.21.2.2.dist-info → regscale_cli-6.22.0.1.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.1
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=EYNOOd0vp241KuX2hAA7xgSlflkwJKr4PsBZ38WsRdA,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
@@ -215,7 +215,7 @@ regscale/integrations/commercial/stigv2/click_commands.py,sha256=-765vFF03aSjBxU
215
215
  regscale/integrations/commercial/stigv2/stig_integration.py,sha256=-UlfL0BBI3jFGotctOJyTCRAU9zIXW6mwU7ySrRXE9U,11573
216
216
  regscale/integrations/commercial/synqly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
217
217
  regscale/integrations/commercial/synqly/assets.py,sha256=wAyoMaR5MizBifnKUnNrx6ZlnmneP07LEBjJuf1POZs,3329
218
- regscale/integrations/commercial/synqly/edr.py,sha256=IvObVzz5Y2a8iNjCP9dTfKUEv2ZAboCzcFqxI00Y6Do,2978
218
+ regscale/integrations/commercial/synqly/edr.py,sha256=4EQSI2-5QnaWXh1idhndToFDOHOb3xycWAdc8NY4Auk,2836
219
219
  regscale/integrations/commercial/synqly/ticketing.py,sha256=akucc9Ok4cTcivH_rmG927WJetJDhZ0L4IF27OC_KOE,8352
220
220
  regscale/integrations/commercial/synqly/vulnerabilities.py,sha256=qPiw5oWOGQwZadkUIicgLZHwPSTNJpkDA39hooMCkGo,8868
221
221
  regscale/integrations/commercial/tenablev2/__init__.py,sha256=UpSY_oww83kz9c7amdbptJKwDB1gAOBQDS-Q9WFp588,295
@@ -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
@@ -259,12 +259,14 @@ regscale/integrations/public/emass_slcm_import.py,sha256=9nvS2XWjSr65Y120tK_Dxd4
259
259
  regscale/integrations/public/nist_catalog.py,sha256=lHevdsSBTwwVzynJl_ckCyQ4cFOYc2XaxG0TpzYfphM,10272
260
260
  regscale/integrations/public/oscal.py,sha256=GcPqRQqCmijCp7TmjBG4303YcJ7U4hfu6KiFSb9QC7Y,72675
261
261
  regscale/integrations/public/otx.py,sha256=i6mukISHLYmFJkxkkxhTkqtgcmXioZ00xLQ9YMg2Yzo,5401
262
+ regscale/integrations/public/csam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
263
+ regscale/integrations/public/csam/csam.py,sha256=yCdaqphyK__v7ws1dtX4VN8Yx1m2futcfDG-kdibCdQ,40350
262
264
  regscale/integrations/public/fedramp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
263
265
  regscale/integrations/public/fedramp/appendix_parser.py,sha256=u3Q_NHxAvYTQ1RAr1T-y3hOfqcFnkLnTmJoWnndrzeA,38281
264
266
  regscale/integrations/public/fedramp/click.py,sha256=8JbWRidFZ9EFoOTp-bwE584u23TzKqWQIpfxmA0-lGo,14975
265
267
  regscale/integrations/public/fedramp/components.py,sha256=z6PMObm-kjRR42bT04EfnjisrEULfXlwxb7576uuMmY,27010
266
268
  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
269
+ regscale/integrations/public/fedramp/fedramp_cis_crm.py,sha256=U7Ub93-a3OX2LwuD0GwAnVY1xDq17MUBcN9KWeIPxGM,69553
268
270
  regscale/integrations/public/fedramp/fedramp_common.py,sha256=Mdy3_WdCEcTwSXEEKXiODmr2YJTWcTg6jfyWZJWfruQ,115406
269
271
  regscale/integrations/public/fedramp/fedramp_docx.py,sha256=eKkRwfcIi4aHJp4ajKDUGJECItwrZwYfCiKzmfB2W1Q,13703
270
272
  regscale/integrations/public/fedramp/fedramp_five.py,sha256=A4ssNsdMrTTFGOEO8WnQhD-DQrfk74LASgFAaqii_S8,96730
@@ -274,7 +276,6 @@ regscale/integrations/public/fedramp/import_workbook.py,sha256=VFNBjBNLLRL3WjkJm
274
276
  regscale/integrations/public/fedramp/inventory_items.py,sha256=nBgVgigMyZ2C6fJ9QCvz-8KvSlGtqi1lqC3alBUlzyg,10080
275
277
  regscale/integrations/public/fedramp/markdown_parser.py,sha256=TwNFFRiXaoocNpjo8SfzBY8D6NTd7FsShnzE9V89kZw,5561
276
278
  regscale/integrations/public/fedramp/metadata.py,sha256=eh8AA5YNHUxHGnlbLRmhovINBKqkAJR98EUFDX1g5Z0,26543
277
- regscale/integrations/public/fedramp/parts_mapper.py,sha256=aBh1gWo-3-JFDDxHQaxrvqC7OFTxS6qWEFfoHlknomc,3787
278
279
  regscale/integrations/public/fedramp/properties.py,sha256=Yr9NGM9-vFTbnipl7TRNfo83HJ7FKkCJSECaLtT35eQ,7007
279
280
  regscale/integrations/public/fedramp/reporting.py,sha256=KpxHSaw-nR3sQf_c1AGxgFUmWeas62EsbwB0Wu_NL60,2550
280
281
  regscale/integrations/public/fedramp/resources.py,sha256=Xcn7pxpm5UsFIPp40oSt6B3123mXdjmX-6AmB5PYsI4,19053
@@ -285,9 +286,7 @@ regscale/integrations/public/fedramp/system_control_implementations.py,sha256=yQ
285
286
  regscale/integrations/public/fedramp/system_implementation.py,sha256=zrnEI7m2tLwZCig3_Vq4Mb2uZiDzW-yhYzyam-TRpJw,5945
286
287
  regscale/integrations/public/fedramp/xml_utils.py,sha256=MgWYb-ewiCSw6f7zGb2MV0tpRhYOPDXj1g3XymRnAiI,3221
287
288
  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
289
  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
290
  regscale/integrations/public/fedramp/mappings/system_roles.py,sha256=x2vrJGXRKC7qcgjrUm1KCEkReTYZC9c2euFrhthmRFU,1155
292
291
  regscale/integrations/public/fedramp/mappings/user.py,sha256=aHO7j1SToQQfeX1Xq1KsrLb_xjVKeX4mfSG82SnxZ_I,5968
293
292
  regscale/integrations/public/fedramp/mappings/values.py,sha256=dXpNrd3zfpDI3PH9XDfLCOy7dmf9iRQAjH_rOB6oXZM,5545
@@ -320,7 +319,7 @@ regscale/models/integration_models/azure_alerts.py,sha256=2etrpvcxa7jVQrc98bJlVG
320
319
  regscale/models/integration_models/base64.py,sha256=sxV6O5qY1_TstJENX5jBPsSdQwmA83-NNhgJFunXiZE,570
321
320
  regscale/models/integration_models/burp.py,sha256=FBEBkH3U0Q8vq71FFoWnvgLRF5Hkr9GYmQFmNNHFrVk,16932
322
321
  regscale/models/integration_models/burp_models.py,sha256=UytDTAcCaxyu-knFkm_mEUH6UmWK3OTXKSC9Sc6OjVs,3669
323
- regscale/models/integration_models/cisa_kev_data.json,sha256=kBsfInlBo4eaPjn8uFe7b3JSv51xtj7wjVCoNtWrG9I,1257565
322
+ regscale/models/integration_models/cisa_kev_data.json,sha256=DneAkMd5PiDNtl0wfyc2vlAyiVxxWNfGohIV1BS_IJE,1262064
324
323
  regscale/models/integration_models/defender_data.py,sha256=jsAcjKxiGmumGerj7xSWkFd6r__YpuKDnYX5o7xHDiE,2844
325
324
  regscale/models/integration_models/defenderimport.py,sha256=Ze4kgwns-IYPyO7sBjEzW8PXWlxwU-DAo2fIyRcTC3k,6242
326
325
  regscale/models/integration_models/drf.py,sha256=Aq7AdLa_CH97NrnR-CxaFI22JjVN9uCxVN7Z-BBUaNU,18896
@@ -351,7 +350,7 @@ regscale/models/integration_models/flat_file_importer/__init__.py,sha256=IoM8SPj
351
350
  regscale/models/integration_models/sbom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
351
  regscale/models/integration_models/sbom/cyclone_dx.py,sha256=0pFR0BWBrF5c8_cC_8mj2MXvNOMHOdHbBYXvTVfFAh8,4058
353
352
  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
353
+ regscale/models/integration_models/synqly_models/capabilities.json,sha256=mjnI5C29qmT7rr1wkdebvo0-5w10msVtLYvl3bODvUY,394787
355
354
  regscale/models/integration_models/synqly_models/connector_types.py,sha256=8nxptkTexpskySnmL0obNAff_iu_fx6tJ7i1-4hJvao,461
356
355
  regscale/models/integration_models/synqly_models/ocsf_mapper.py,sha256=e2kTOhWSNRnzbgMchMx-7c21pCgSv2DqWnxvajKEKJM,16960
357
356
  regscale/models/integration_models/synqly_models/param.py,sha256=Xt5Zm6lC_VkLj7LF2qXo72TJZHysqttsp5ai0NCf1po,2643
@@ -365,7 +364,7 @@ regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py,s
365
364
  regscale/models/integration_models/tenable_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
366
365
  regscale/models/integration_models/tenable_models/integration.py,sha256=lplL8zmjTFuhLreW-4y7G1fiCOBgzNAaATq800jgTQc,10271
367
366
  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
367
+ regscale/models/regscale_models/__init__.py,sha256=gOGDxUUaWQ--0Kc3WmeApjeNzcBxGdBHHXrrlZ6KEpA,2602
369
368
  regscale/models/regscale_models/assessment.py,sha256=ekzNlcsfDGBu97PMCi7hBRGbzVgxk7Ij0RfrdGh1Rfw,20440
370
369
  regscale/models/regscale_models/assessment_plan.py,sha256=qo2YA5ckSbUKDHnC_2BUc2I9kMTje9Gq-qTCXqvEKCY,1716
371
370
  regscale/models/regscale_models/assessment_result.py,sha256=K48yjYKwgY1-d_Y3aQUDcCvaqcTIVYdbKV5Wgicf4Ts,1283
@@ -373,7 +372,7 @@ regscale/models/regscale_models/asset.py,sha256=MDYIFlPfngjjr6obP0wLlQPFzNw8CIFe
373
372
  regscale/models/regscale_models/asset_mapping.py,sha256=HFlkAoPZHy2xPYq28cXuzLpFoP36SI08HTL8mH_Q-uE,6851
374
373
  regscale/models/regscale_models/business_impact_assessment.py,sha256=tkuvw1ssdrVJJcsHT43nFjFhAFTSSFRNfWRIg5W-d2k,2214
375
374
  regscale/models/regscale_models/case.py,sha256=hLVTwZXzusnXR9avqh7xSVLJwPJ1rPI_Nla_VAkpZcg,1192
376
- regscale/models/regscale_models/catalog.py,sha256=jw4lfWQyE3ult3MlGU7IdGsXLYCQPVnzfjT69kKjLCs,9145
375
+ regscale/models/regscale_models/catalog.py,sha256=uXyKZAk31YnI8Qg_Bfc13nBOSAOvkVT4G2c_Y5AAuSA,9132
377
376
  regscale/models/regscale_models/cci.py,sha256=jjtO3ZXDhzQ05s5i-YeL7_TWPkl9ArGkUJGAw_LnKD8,1264
378
377
  regscale/models/regscale_models/change.py,sha256=v-FxWrYijGbxAWk7WEIN3piUw8mM3EWTeKd7itAMfMY,4970
379
378
  regscale/models/regscale_models/checklist.py,sha256=GM15N9krNmKNDJnOgtSDRlUTBVwYtttex_plc64OVWY,13290
@@ -383,7 +382,7 @@ regscale/models/regscale_models/compliance_settings.py,sha256=e0Ghjozt8iCgzmCPfY
383
382
  regscale/models/regscale_models/component.py,sha256=zURPe-unWeHpkx6OoVq3AxdOYp7Ci14xXMy-AjYmXik,14149
384
383
  regscale/models/regscale_models/component_mapping.py,sha256=g0cbbW4X49SDdlB_YtKMrP4eiK9OkrJqiut0ucdyVDA,2162
385
384
  regscale/models/regscale_models/control.py,sha256=mO46F1IfiXnLSb3YhylaS3SyjtT51s-r8b3hjix9Gbc,1072
386
- regscale/models/regscale_models/control_implementation.py,sha256=koDSnt2QDrO71Wv4AeXYT13PB_Ca6QKVp9UOcAM6Rn8,50333
385
+ regscale/models/regscale_models/control_implementation.py,sha256=Kj4zDQcn5SQHNy7peh80sCDoveD02I6MBstY82BgOB4,50345
387
386
  regscale/models/regscale_models/control_objective.py,sha256=qGh8OtATjjc4JS-3bC1AX6TbgtRtz-I0dckbuZ2RzVo,9496
388
387
  regscale/models/regscale_models/control_parameter.py,sha256=5VVkbVZTb2Hzy_WiybU2JtrvhQp8DLSWxRcbSKxktiI,3499
389
388
  regscale/models/regscale_models/control_test.py,sha256=FG-fLS9JJf8__a84W2LtBXtEjzOH9iq2EO949vBx3eY,949
@@ -400,13 +399,14 @@ regscale/models/regscale_models/evidence_mapping.py,sha256=eovTJsl1cjZMvbhpOv70n
400
399
  regscale/models/regscale_models/facility.py,sha256=J3gGv0Tf3zNdyKGhb0iM8WjgjWqJHZLKdcN9n-jDrTA,1059
401
400
  regscale/models/regscale_models/file.py,sha256=zHIZvhgxMWTXX5ku98dRJcDSQ1VrRyUuorA6N9YEBzU,14711
402
401
  regscale/models/regscale_models/filetag.py,sha256=jd99xcQsGheLFfy7PYtZEzT-re_Dp_ZoUF3GWYMsi0Q,1138
403
- regscale/models/regscale_models/form_field_value.py,sha256=xKnbXWQl4xVuUQMbeRK23MbPO7SOMARBvvH2O98UOm4,5816
402
+ regscale/models/regscale_models/form_field_value.py,sha256=PebM575d7dXd8rQCGWV-WCvdYOw9OM022PwWPr3oDKk,5869
404
403
  regscale/models/regscale_models/functional_roles.py,sha256=Vm_j-UZBKoaiONO75VqqCKnDHE6ynP0X5XZmKXl8UT8,932
405
404
  regscale/models/regscale_models/group.py,sha256=HpAkW6RmuCepSqhVbiySeaWvbMi7SzQr81hkXWhsVI4,6269
406
405
  regscale/models/regscale_models/implementation_objective.py,sha256=e0Hamt-9RBeHRDzlWDbIJ3t4qnZKXPrbsesBK3wYoNk,12132
407
406
  regscale/models/regscale_models/implementation_option.py,sha256=gEScteJjmTq_jw010gnOJbvYE6ZeWmrGdl6Qs1kw_Mc,11395
408
407
  regscale/models/regscale_models/implementation_role.py,sha256=ZjJOhjM3dVlulsGx3lUKgG49LpxNzx6J-RwTd4eRgx0,1107
409
408
  regscale/models/regscale_models/incident.py,sha256=jsS4MfigzjwFphvdIrBk62GfvbceQ8VL-AhfQSQM460,6028
409
+ regscale/models/regscale_models/inheritance.py,sha256=n8CtDQZ8WPQ-AwC0kq5D0nMwK1_njfB-rUN5PdjiMOs,1314
410
410
  regscale/models/regscale_models/inherited_control.py,sha256=RuQJgVyZgfoIrUG_vvwQYHECb3wsFjDH-zPj-bIFBNU,2007
411
411
  regscale/models/regscale_models/interconnection.py,sha256=8Q9CGeHEX9TXQrim_NIAj9KuM4MwaUTpBLs_LKaXAlw,1256
412
412
  regscale/models/regscale_models/issue.py,sha256=h88GRUD1YtC0-bVHXm3p9owDt1F0bJD48tzm03HkrOg,59248
@@ -531,11 +531,11 @@ tests/regscale/models/test_mapping.py,sha256=LE3cHETIeQ61lfYzIN2M9zlnECVb0alVe3D
531
531
  tests/regscale/models/test_platform.py,sha256=9KW9frA7S_hNc8thC5D4sK63DTzFLZ3XE47wvcDxW-M,978
532
532
  tests/regscale/models/test_regscale_model.py,sha256=ZsrEZkC4EtdIsoQuayn1xv2gEGcVzzozDITKJd7vYIc,12182
533
533
  tests/regscale/models/test_report.py,sha256=IqUq7C__a1_q_mLaz0PE9Lq6fHggBsB14-AzEYNBxLw,4666
534
- tests/regscale/models/test_tenable_integrations.py,sha256=PNJC2Zu6lv1xj7y6e1yOsz5FktSU3PRKb5x3n5YG3w0,4072
534
+ tests/regscale/models/test_tenable_integrations.py,sha256=y1qaW77H094VSGHjZdlvF66UCt-nPEib9Mv3cdwbM94,32435
535
535
  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,,
536
+ regscale_cli-6.22.0.1.dist-info/LICENSE,sha256=ytNhYQ9Rmhj_m-EX2pPq9Ld6tH5wrqqDYg-fCf46WDU,1076
537
+ regscale_cli-6.22.0.1.dist-info/METADATA,sha256=B-6Lcj_QXC8gBaI1u44SeRtjqVo-e63cBXrlefK6Pfo,34955
538
+ regscale_cli-6.22.0.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
539
+ regscale_cli-6.22.0.1.dist-info/entry_points.txt,sha256=cLOaIP1eRv1yZ2u7BvpE3aB4x3kDrDwkpeisKOu33z8,269
540
+ regscale_cli-6.22.0.1.dist-info/top_level.txt,sha256=Uv8VUCAdxRm70bgrD4YNEJUmDhBThad_1aaEFGwRByc,15
541
+ regscale_cli-6.22.0.1.dist-info/RECORD,,