cycode 1.7.2.dev1__tar.gz → 1.7.2.dev3__tar.gz

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.
Files changed (108) hide show
  1. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/PKG-INFO +1 -1
  2. cycode-1.7.2.dev3/cycode/__init__.py +1 -0
  3. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/code_scanner.py +15 -8
  4. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/models.py +9 -0
  5. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/sca_table_printer.py +1 -1
  6. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/pyproject.toml +1 -1
  7. cycode-1.7.2.dev1/cycode/__init__.py +0 -1
  8. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/README.md +0 -0
  9. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/__init__.py +0 -0
  10. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/__init__.py +0 -0
  11. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/auth/__init__.py +0 -0
  12. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/auth/auth_command.py +0 -0
  13. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/auth/auth_manager.py +0 -0
  14. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/configure/__init__.py +0 -0
  15. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/configure/configure_command.py +0 -0
  16. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/ignore/__init__.py +0 -0
  17. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/ignore/ignore_command.py +0 -0
  18. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/main_cli.py +0 -0
  19. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/__init__.py +0 -0
  20. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/report_command.py +0 -0
  21. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/__init__.py +0 -0
  22. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/common.py +0 -0
  23. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/path/__init__.py +0 -0
  24. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/path/path_command.py +0 -0
  25. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/repository_url/__init__.py +0 -0
  26. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/repository_url/repository_url_command.py +0 -0
  27. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/sbom_command.py +0 -0
  28. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/report/sbom/sbom_report_file.py +0 -0
  29. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/__init__.py +0 -0
  30. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/commit_history/__init__.py +0 -0
  31. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/commit_history/commit_history_command.py +0 -0
  32. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/path/__init__.py +0 -0
  33. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/path/path_command.py +0 -0
  34. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/pre_commit/__init__.py +0 -0
  35. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/pre_commit/pre_commit_command.py +0 -0
  36. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/pre_receive/__init__.py +0 -0
  37. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/pre_receive/pre_receive_command.py +0 -0
  38. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/repository/__init__.py +0 -0
  39. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/repository/repository_command.py +0 -0
  40. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/scan_ci/__init__.py +0 -0
  41. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/scan_ci/ci_integrations.py +0 -0
  42. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/scan_ci/scan_ci_command.py +0 -0
  43. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/scan/scan_command.py +0 -0
  44. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/version/__init__.py +0 -0
  45. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/commands/version/version_command.py +0 -0
  46. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/config.py +0 -0
  47. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/config.yaml +0 -0
  48. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/consts.py +0 -0
  49. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/exceptions/__init__.py +0 -0
  50. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/exceptions/custom_exceptions.py +0 -0
  51. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
  52. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
  53. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/__init__.py +0 -0
  54. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/excluder.py +0 -0
  55. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/iac/__init__.py +0 -0
  56. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
  57. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/models/__init__.py +0 -0
  58. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
  59. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/path_documents.py +0 -0
  60. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/repository_documents.py +0 -0
  61. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/__init__.py +0 -0
  62. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
  63. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/maven/base_restore_maven_dependencies.py +0 -0
  64. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
  65. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
  66. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/sca/sca_code_scanner.py +0 -0
  67. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/files_collector/zip_documents.py +0 -0
  68. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/main.py +0 -0
  69. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/__init__.py +0 -0
  70. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/console_printer.py +0 -0
  71. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/json_printer.py +0 -0
  72. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/printer_base.py +0 -0
  73. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/__init__.py +0 -0
  74. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/table.py +0 -0
  75. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/table_models.py +0 -0
  76. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/table_printer.py +0 -0
  77. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/tables/table_printer_base.py +0 -0
  78. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/printers/text_printer.py +0 -0
  79. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/user_settings/__init__.py +0 -0
  80. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/user_settings/base_file_manager.py +0 -0
  81. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/user_settings/config_file_manager.py +0 -0
  82. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/user_settings/configuration_manager.py +0 -0
  83. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/user_settings/credentials_manager.py +0 -0
  84. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/__init__.py +0 -0
  85. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/enum_utils.py +0 -0
  86. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/get_api_client.py +0 -0
  87. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/path_utils.py +0 -0
  88. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/progress_bar.py +0 -0
  89. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/scan_batch.py +0 -0
  90. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/scan_utils.py +0 -0
  91. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/shell_executor.py +0 -0
  92. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/string_utils.py +0 -0
  93. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/task_timer.py +0 -0
  94. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cli/utils/yaml_utils.py +0 -0
  95. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/__init__.py +0 -0
  96. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/auth_client.py +0 -0
  97. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/client_creator.py +0 -0
  98. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/config.py +0 -0
  99. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/config.yaml +0 -0
  100. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/config_dev.py +0 -0
  101. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/cycode_client.py +0 -0
  102. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/cycode_client_base.py +0 -0
  103. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/cycode_dev_based_client.py +0 -0
  104. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/cycode_token_based_client.py +0 -0
  105. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/models.py +0 -0
  106. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/report_client.py +0 -0
  107. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/scan_client.py +0 -0
  108. {cycode-1.7.2.dev1 → cycode-1.7.2.dev3}/cycode/cyclient/scan_config_base.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cycode
3
- Version: 1.7.2.dev1
3
+ Version: 1.7.2.dev3
4
4
  Summary: Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning.
5
5
  Home-page: https://github.com/cycodehq/cycode-cli
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ __version__ = '1.7.2.dev3' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
@@ -140,11 +140,13 @@ def _get_scan_documents_thread_func(
140
140
  severity_threshold = context.obj['severity_threshold']
141
141
  command_scan_type = context.info_name
142
142
 
143
+ scan_parameters['aggregation_id'] = str(_generate_unique_id())
144
+
143
145
  def _scan_batch_thread_func(batch: List[Document]) -> Tuple[str, CliError, LocalScanResult]:
144
146
  local_scan_result = error = error_message = None
145
147
  detections_count = relevant_detections_count = zip_file_size = 0
146
148
 
147
- scan_id = str(_get_scan_id())
149
+ scan_id = str(_generate_unique_id())
148
150
  scan_completed = False
149
151
 
150
152
  try:
@@ -269,6 +271,9 @@ def scan_documents(
269
271
  is_commit_range: bool = False,
270
272
  scan_parameters: Optional[dict] = None,
271
273
  ) -> None:
274
+ if not scan_parameters:
275
+ scan_parameters = get_default_scan_parameters(context)
276
+
272
277
  progress_bar = context.obj['progress_bar']
273
278
 
274
279
  if not documents_to_scan:
@@ -309,7 +314,7 @@ def scan_commit_range_documents(
309
314
 
310
315
  local_scan_result = error_message = None
311
316
  scan_completed = False
312
- scan_id = str(_get_scan_id())
317
+ scan_id = str(_generate_unique_id())
313
318
 
314
319
  from_commit_zipped_documents = InMemoryZip()
315
320
  to_commit_zipped_documents = InMemoryZip()
@@ -570,12 +575,18 @@ def get_default_scan_parameters(context: click.Context) -> dict:
570
575
  'report': context.obj.get('report'),
571
576
  'package_vulnerabilities': context.obj.get('package-vulnerabilities'),
572
577
  'license_compliance': context.obj.get('license-compliance'),
578
+ 'command_type': context.info_name,
573
579
  }
574
580
 
575
581
 
576
582
  def get_scan_parameters(context: click.Context, paths: Tuple[str]) -> dict:
577
583
  scan_parameters = get_default_scan_parameters(context)
578
584
 
585
+ if not paths:
586
+ return scan_parameters
587
+
588
+ scan_parameters['paths'] = paths
589
+
579
590
  if len(paths) != 1:
580
591
  # ignore remote url if multiple paths are provided
581
592
  return scan_parameters
@@ -584,11 +595,7 @@ def get_scan_parameters(context: click.Context, paths: Tuple[str]) -> dict:
584
595
  if remote_url:
585
596
  # TODO(MarshalX): remove hardcode in context
586
597
  context.obj['remote_url'] = remote_url
587
- scan_parameters.update(
588
- {
589
- 'remote_url': remote_url,
590
- }
591
- )
598
+ scan_parameters['remote_url'] = remote_url
592
599
 
593
600
  return scan_parameters
594
601
 
@@ -749,7 +756,7 @@ def _report_scan_status(
749
756
  logger.debug('Failed to report scan status, %s', {'exception_message': str(e)})
750
757
 
751
758
 
752
- def _get_scan_id() -> UUID:
759
+ def _generate_unique_id() -> UUID:
753
760
  return uuid4()
754
761
 
755
762
 
@@ -2,6 +2,7 @@ from dataclasses import dataclass
2
2
  from enum import Enum
3
3
  from typing import Dict, List, NamedTuple, Optional, Type
4
4
 
5
+ from cycode.cyclient import logger
5
6
  from cycode.cyclient.models import Detection
6
7
 
7
8
 
@@ -42,6 +43,14 @@ class Severity(Enum):
42
43
 
43
44
  return Severity[name].value
44
45
 
46
+ @staticmethod
47
+ def get_member_weight(name: str) -> any:
48
+ weight = Severity.try_get_value(name)
49
+ if weight is None:
50
+ logger.debug(f'missing severity in enum: {name}')
51
+ return -2
52
+ return weight
53
+
45
54
 
46
55
  class CliError(NamedTuple):
47
56
  code: str
@@ -74,7 +74,7 @@ class ScaTablePrinter(TablePrinterBase):
74
74
  @staticmethod
75
75
  def __severity_sort_key(detection: Detection) -> int:
76
76
  severity = detection.detection_details.get('advisory_severity')
77
- return Severity.try_get_value(severity)
77
+ return Severity.get_member_weight(severity)
78
78
 
79
79
  def _sort_detections_by_severity(self, detections: List[Detection]) -> List[Detection]:
80
80
  return sorted(detections, key=self.__severity_sort_key, reverse=True)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "cycode"
3
- version = "1.7.2.dev1" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
3
+ version = "1.7.2.dev3" # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
4
4
  description = "Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning."
5
5
  keywords=["secret-scan", "cycode", "devops", "token", "secret", "security", "cycode", "code"]
6
6
  authors = ["Cycode <support@cycode.com>"]
@@ -1 +0,0 @@
1
- __version__ = '1.7.2.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
File without changes