cycode 1.7.2.dev1__py3-none-any.whl → 1.7.2.dev3__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.
cycode/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.7.2.dev1' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
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
 
cycode/cli/models.py CHANGED
@@ -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
  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
@@ -1,4 +1,4 @@
1
- cycode/__init__.py,sha256=CJuC9EUe7skzvKnPepinzA2W_4qJwdjUybIXU8z12cc,114
1
+ cycode/__init__.py,sha256=olpJ4awEGyM2uSy1nre0OjULKzEOt_GgDJ9L2u7WgvI,114
2
2
  cycode/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  cycode/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  cycode/cli/commands/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -20,7 +20,7 @@ cycode/cli/commands/report/sbom/repository_url/repository_url_command.py,sha256=
20
20
  cycode/cli/commands/report/sbom/sbom_command.py,sha256=1eERdshZA6ItootEX1tD1FdAHIOVUZIyw8FRjd8auGc,2358
21
21
  cycode/cli/commands/report/sbom/sbom_report_file.py,sha256=fr3HMSr6lppeI3OgYADDWlWD8ij2edN1gmpUOPmeTN0,1533
22
22
  cycode/cli/commands/scan/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- cycode/cli/commands/scan/code_scanner.py,sha256=alVy03c--cru6mO8XJKVbF-JmMznz_su8a8v0EhL_nA,35363
23
+ cycode/cli/commands/scan/code_scanner.py,sha256=s1Sq_mN3z_GX_nFhfe1_Hx_jrB05hLwTcokaI-7WR2o,35614
24
24
  cycode/cli/commands/scan/commit_history/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  cycode/cli/commands/scan/commit_history/commit_history_command.py,sha256=nOv2BMX7KB0Bi9dXtiulMQNLt4XjJh9_rEnxtvOehPE,975
26
26
  cycode/cli/commands/scan/path/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -60,13 +60,13 @@ cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py,sha256=k2giuU
60
60
  cycode/cli/files_collector/sca/sca_code_scanner.py,sha256=5pWrMiiGhYDHck9_DCOkFt4_690Y5huIA69Tg1DtYJc,6398
61
61
  cycode/cli/files_collector/zip_documents.py,sha256=N9ox2XV6y7zdVb7bdYHUxpBykrtU7_qmlHnq_AbcwRs,1522
62
62
  cycode/cli/main.py,sha256=TWZxfs7nu-zSm1YU4H801T_u16xeV3S-gZcb4gSSD24,387
63
- cycode/cli/models.py,sha256=Pvm7KCT131P9gtQ_6XipRuJtTvjYte8mfeVCRH6sfz0,1845
63
+ cycode/cli/models.py,sha256=WFdVmyTtzT7xBvcWyJPnbXPaAWHOrBrGk_bo7_2iUIM,2123
64
64
  cycode/cli/printers/__init__.py,sha256=ALwAXSZy2lNXWC3NfCIxf8K0F6eFrbZa9PLZwPINi5E,93
65
65
  cycode/cli/printers/console_printer.py,sha256=cNYVTZyusQd0iLoBam5hjOJJAvL3dmMiWHXvI5XJdJ4,2078
66
66
  cycode/cli/printers/json_printer.py,sha256=pw0EZuFSzRYulzsWyKZahyggLEbTJA_XSWdQZWNJIaE,1973
67
67
  cycode/cli/printers/printer_base.py,sha256=tzHVhHghgxFAu1u080UDlvi9RA9-71FG2X0FI4M-MaE,786
68
68
  cycode/cli/printers/tables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- cycode/cli/printers/tables/sca_table_printer.py,sha256=jYGZYx1IQOnH5Evk0F-TsvlbuZ0mngk-rOEg_v_H1_Q,8031
69
+ cycode/cli/printers/tables/sca_table_printer.py,sha256=xkywlW_StKUsybVgPkdOZZBeq7uO3676bg4_eqjjcgQ,8035
70
70
  cycode/cli/printers/tables/table.py,sha256=drpHWm49gdraCY_ruYNbLmUuVgYXJvH8v_qLJCsv8_0,2281
71
71
  cycode/cli/printers/tables/table_models.py,sha256=8YkzoSTws2XOTM2PCUqSX099LGWYMh1pIVSmwIv63Ag,480
72
72
  cycode/cli/printers/tables/table_printer.py,sha256=hpRpKCEAwdlNVagBBi6Gb8D-N7QU_pDdNOO3b1I8VVU,5471
@@ -102,7 +102,7 @@ cycode/cyclient/models.py,sha256=T4u_GImzVmX4LmYIwcBrRAkQHEPyIAOLHaJYI63Xzas,122
102
102
  cycode/cyclient/report_client.py,sha256=sNLOm64oaONz-TUBs6fpFfbb7RfxALPS6YBqadMo2-8,3971
103
103
  cycode/cyclient/scan_client.py,sha256=egFt4mXSTQoWZliXwcTbPbrm4FlzS0wH01ULBgijNo0,10705
104
104
  cycode/cyclient/scan_config_base.py,sha256=Amlo2wE0opqhwPy1COQtD--bTOserehZM8EVxl3ZyAo,1296
105
- cycode-1.7.2.dev1.dist-info/METADATA,sha256=lRfgO56wyKKiU9SJ2j5bDXjCejlKyUwqU39fQiDwsWY,45120
106
- cycode-1.7.2.dev1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
107
- cycode-1.7.2.dev1.dist-info/entry_points.txt,sha256=GKZlS6LtUdABDPd7-o9bwNSI5gYQnyA3qGrFFQKt3Vc,51
108
- cycode-1.7.2.dev1.dist-info/RECORD,,
105
+ cycode-1.7.2.dev3.dist-info/METADATA,sha256=wcA081bQ3aHn7x6g2wFiVxBlWzngtSJanDIaNLT8of4,45120
106
+ cycode-1.7.2.dev3.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
107
+ cycode-1.7.2.dev3.dist-info/entry_points.txt,sha256=GKZlS6LtUdABDPd7-o9bwNSI5gYQnyA3qGrFFQKt3Vc,51
108
+ cycode-1.7.2.dev3.dist-info/RECORD,,