regscale-cli 6.24.0.1__py3-none-any.whl → 6.25.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 (31) hide show
  1. regscale/_version.py +1 -1
  2. regscale/core/app/api.py +1 -1
  3. regscale/core/app/application.py +5 -3
  4. regscale/core/app/internal/evidence.py +308 -202
  5. regscale/dev/code_gen.py +84 -3
  6. regscale/integrations/commercial/__init__.py +2 -0
  7. regscale/integrations/commercial/jira.py +4 -4
  8. regscale/integrations/commercial/microsoft_defender/defender.py +326 -5
  9. regscale/integrations/commercial/microsoft_defender/defender_api.py +348 -14
  10. regscale/integrations/commercial/microsoft_defender/defender_constants.py +157 -0
  11. regscale/integrations/commercial/synqly/assets.py +99 -16
  12. regscale/integrations/commercial/synqly/query_builder.py +533 -0
  13. regscale/integrations/commercial/synqly/vulnerabilities.py +134 -14
  14. regscale/integrations/commercial/wizv2/compliance_report.py +22 -0
  15. regscale/integrations/compliance_integration.py +17 -0
  16. regscale/integrations/scanner_integration.py +16 -0
  17. regscale/models/integration_models/synqly_models/capabilities.json +1 -1
  18. regscale/models/integration_models/synqly_models/connectors/vulnerabilities.py +12 -2
  19. regscale/models/integration_models/synqly_models/filter_parser.py +332 -0
  20. regscale/models/integration_models/synqly_models/synqly_model.py +47 -3
  21. regscale/models/regscale_models/compliance_settings.py +28 -0
  22. regscale/models/regscale_models/component.py +1 -0
  23. regscale/models/regscale_models/control_implementation.py +130 -1
  24. regscale/regscale.py +1 -1
  25. regscale/validation/record.py +23 -1
  26. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/METADATA +1 -1
  27. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/RECORD +31 -29
  28. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/LICENSE +0 -0
  29. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/WHEEL +0 -0
  30. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/entry_points.txt +0 -0
  31. {regscale_cli-6.24.0.1.dist-info → regscale_cli-6.25.0.1.dist-info}/top_level.txt +0 -0
regscale/_version.py CHANGED
@@ -33,7 +33,7 @@ def get_version_from_pyproject() -> str:
33
33
  return match.group(1)
34
34
  except Exception:
35
35
  pass
36
- return "6.24.0.1" # fallback version
36
+ return "6.25.0.1" # fallback version
37
37
 
38
38
 
39
39
  __version__ = get_version_from_pyproject()
regscale/core/app/api.py CHANGED
@@ -43,7 +43,7 @@ class Api:
43
43
  from regscale.core.app.application import Application
44
44
  from regscale.integrations.variables import ScannerVariables
45
45
 
46
- if isinstance(timeout, str):
46
+ if isinstance(timeout, str) or isinstance(timeout, float):
47
47
  try:
48
48
  timeout = int(timeout)
49
49
  except ValueError:
@@ -77,6 +77,10 @@ class Application(metaclass=Singleton):
77
77
  "azureCloudSecret": DEFAULT_SECRET,
78
78
  "azureCloudTenantId": DEFAULT_TENANT,
79
79
  "azureCloudSubscriptionId": "<mySubscriptionIdGoesHere>",
80
+ "azureEntraAccessToken": DEFAULT_POPULATED,
81
+ "azureEntraClientId": DEFAULT_CLIENT,
82
+ "azureEntraSecret": DEFAULT_SECRET,
83
+ "azureEntraTenantId": DEFAULT_TENANT,
80
84
  "cisaKev": "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json",
81
85
  "crowdstrikeClientId": DEFAULT_CLIENT,
82
86
  "crowdstrikeClientSecret": DEFAULT_SECRET,
@@ -700,9 +704,7 @@ class Application(metaclass=Singleton):
700
704
  if domain.endswith("/"):
701
705
  domain = domain[:-1]
702
706
  with contextlib.suppress(requests.RequestException):
703
- return api.get(
704
- url=f"{domain}/api/config/getLicense".lower(),
705
- )
707
+ return api.get(url=urljoin(domain, "/api/config/getLicense").lower())
706
708
  return None
707
709
 
708
710
  def load_config(self) -> dict: