cycode 3.4.1.dev4__tar.gz → 3.4.1.dev6__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.
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/PKG-INFO +1 -1
- cycode-3.4.1.dev6/cycode/__init__.py +1 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/commit_range_scanner.py +4 -1
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/consts.py +1 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/commit_range_documents.py +35 -7
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/rich_printer.py +1 -1
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/pyproject.toml +1 -1
- cycode-3.4.1.dev4/cycode/__init__.py +0 -1
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/LICENCE +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/README.md +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/__main__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/app.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ai_remediation/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ai_remediation/ai_remediation_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ai_remediation/apply_fix.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ai_remediation/print_remediation.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/auth/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/auth/auth_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/auth/auth_common.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/auth/auth_manager.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/auth/models.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/configure/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/configure/configure_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/configure/consts.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/configure/messages.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/configure/prompts.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ignore/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ignore/ignore_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/mcp/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/mcp/mcp_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/report_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/common.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/path/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/path/path_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/repository_url/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/repository_url/repository_url_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/sbom_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/sbom_report_file.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/aggregation_report.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/code_scanner.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/commit_history/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/commit_history/commit_history_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/detection_excluder.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/path/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/path/path_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_commit/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_receive/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/remote_url_resolver.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/repository/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/repository/repository_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_ci/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_ci/ci_integrations.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_ci/scan_ci_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_parameters.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/scan_result.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/status/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/status/get_cli_status.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/status/models.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/status/status_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/status/version_command.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/cli_types.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/config.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/console.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/custom_exceptions.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_ai_remediation_errors.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_auth_errors.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_errors.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_report_sbom_errors.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_scan_errors.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/file_excluder.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/iac/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/iac/tf_content_generator.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/models/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/models/in_memory_zip.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/path_documents.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/repository_documents.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/base_restore_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/go/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/maven/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/maven/restore_gradle_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/maven/restore_maven_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/npm/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/npm/restore_npm_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/nuget/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/nuget/restore_nuget_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/ruby/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/ruby/restore_ruby_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/sbt/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/sbt/restore_sbt_dependencies.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/sca_file_collector.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/walk_ignore.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/zip_documents.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/logger.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/main.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/models.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/console_printer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/json_printer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/printer_base.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/sca_table_printer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/table.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/table_models.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/table_printer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/tables/table_printer_base.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/text_printer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/code_snippet_syntax.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_data.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_ordering/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_ordering/common_ordering.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/rich_helpers.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/base_file_manager.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/config_file_manager.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/configuration_manager.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/credentials_manager.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/user_settings/jwt_creator.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/enum_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/get_api_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/git_proxy.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/ignore_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/jwt_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/path_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/progress_bar.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/scan_batch.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/scan_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/sentry.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/shell_executor.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/string_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/task_timer.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/version_checker.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/utils/yaml_utils.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/config.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/__init__.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/auth_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/client_creator.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/config.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/config_dev.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/cycode_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/cycode_client_base.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/cycode_dev_based_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/cycode_token_based_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/headers.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/logger.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/models.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/report_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/scan_client.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cyclient/scan_config_base.py +0 -0
- {cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/logger.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '3.4.1.dev6' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
|
|
@@ -25,6 +25,7 @@ from cycode.cli.files_collector.commit_range_documents import (
|
|
|
25
25
|
get_diff_file_content,
|
|
26
26
|
get_diff_file_path,
|
|
27
27
|
get_pre_commit_modified_documents,
|
|
28
|
+
get_safe_head_reference_for_diff,
|
|
28
29
|
parse_commit_range_sast,
|
|
29
30
|
parse_commit_range_sca,
|
|
30
31
|
)
|
|
@@ -271,7 +272,9 @@ def _scan_sca_pre_commit(ctx: typer.Context, repo_path: str) -> None:
|
|
|
271
272
|
|
|
272
273
|
def _scan_secret_pre_commit(ctx: typer.Context, repo_path: str) -> None:
|
|
273
274
|
progress_bar = ctx.obj['progress_bar']
|
|
274
|
-
|
|
275
|
+
repo = git_proxy.get_repo(repo_path)
|
|
276
|
+
head_reference = get_safe_head_reference_for_diff(repo)
|
|
277
|
+
diff_index = repo.index.diff(head_reference, create_patch=True, R=True)
|
|
275
278
|
|
|
276
279
|
progress_bar.set_section_length(ScanProgressBarSection.PREPARE_LOCAL_FILES, len(diff_index))
|
|
277
280
|
|
|
@@ -261,6 +261,7 @@ SCAN_STATUS_ERROR = 'Error'
|
|
|
261
261
|
# git consts
|
|
262
262
|
COMMIT_DIFF_DELETED_FILE_CHANGE_TYPE = 'D'
|
|
263
263
|
GIT_HEAD_COMMIT_REV = 'HEAD'
|
|
264
|
+
GIT_EMPTY_TREE_OBJECT = '4b825dc642cb6eb9a060e54bf8d69288fbee4904'
|
|
264
265
|
EMPTY_COMMIT_SHA = '0000000000000000000000000000000000000000'
|
|
265
266
|
GIT_PUSH_OPTION_COUNT_ENV_VAR_NAME = 'GIT_PUSH_OPTION_COUNT'
|
|
266
267
|
GIT_PUSH_OPTION_ENV_VAR_PREFIX = 'GIT_PUSH_OPTION_'
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/commit_range_documents.py
RENAMED
|
@@ -22,6 +22,31 @@ if TYPE_CHECKING:
|
|
|
22
22
|
logger = get_logger('Commit Range Collector')
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
def get_safe_head_reference_for_diff(repo: 'Repo') -> str:
|
|
26
|
+
"""Get a safe reference to use for diffing against the current HEAD.
|
|
27
|
+
In repositories with no commits, HEAD doesn't exist, so we return the empty tree hash.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
repo: Git repository object
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
Either "HEAD" string if commits exist, or empty tree hash if no commits exist
|
|
34
|
+
"""
|
|
35
|
+
try:
|
|
36
|
+
repo.rev_parse(consts.GIT_HEAD_COMMIT_REV)
|
|
37
|
+
return consts.GIT_HEAD_COMMIT_REV
|
|
38
|
+
except Exception as e: # actually gitdb.exc.BadObject; no import because of lazy loading
|
|
39
|
+
logger.debug(
|
|
40
|
+
'Repository has no commits, using empty tree hash for diffs, %s',
|
|
41
|
+
{'repo_path': repo.working_tree_dir},
|
|
42
|
+
exc_info=e,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
# Repository has no commits, use the universal empty tree hash
|
|
46
|
+
# This is the standard Git approach for initial commits
|
|
47
|
+
return consts.GIT_EMPTY_TREE_OBJECT
|
|
48
|
+
|
|
49
|
+
|
|
25
50
|
def _does_reach_to_max_commits_to_scan_limit(commit_ids: list[str], max_commits_count: Optional[int]) -> bool:
|
|
26
51
|
if max_commits_count is None:
|
|
27
52
|
return False
|
|
@@ -213,7 +238,8 @@ def get_pre_commit_modified_documents(
|
|
|
213
238
|
diff_documents = []
|
|
214
239
|
|
|
215
240
|
repo = git_proxy.get_repo(repo_path)
|
|
216
|
-
|
|
241
|
+
head_reference = get_safe_head_reference_for_diff(repo)
|
|
242
|
+
diff_index = repo.index.diff(head_reference, create_patch=True, R=True)
|
|
217
243
|
progress_bar.set_section_length(progress_bar_section, len(diff_index))
|
|
218
244
|
for diff in diff_index:
|
|
219
245
|
progress_bar.update(progress_bar_section)
|
|
@@ -228,9 +254,11 @@ def get_pre_commit_modified_documents(
|
|
|
228
254
|
)
|
|
229
255
|
)
|
|
230
256
|
|
|
231
|
-
|
|
232
|
-
if
|
|
233
|
-
|
|
257
|
+
# Only get file content from HEAD if HEAD exists (not the empty tree hash)
|
|
258
|
+
if head_reference == consts.GIT_HEAD_COMMIT_REV:
|
|
259
|
+
file_content = _get_file_content_from_commit_diff(repo, head_reference, diff)
|
|
260
|
+
if file_content:
|
|
261
|
+
git_head_documents.append(Document(file_path, file_content))
|
|
234
262
|
|
|
235
263
|
if os.path.exists(file_path):
|
|
236
264
|
file_content = get_file_content(file_path)
|
|
@@ -274,13 +302,13 @@ def parse_commit_range_sast(commit_range: str, path: str) -> tuple[Optional[str]
|
|
|
274
302
|
else:
|
|
275
303
|
# Git commands like 'git diff <commit>' compare against HEAD.
|
|
276
304
|
from_spec = commit_range
|
|
277
|
-
to_spec =
|
|
305
|
+
to_spec = consts.GIT_HEAD_COMMIT_REV
|
|
278
306
|
|
|
279
307
|
# If a spec is empty (e.g., from '..master'), default it to 'HEAD'
|
|
280
308
|
if not from_spec:
|
|
281
|
-
from_spec =
|
|
309
|
+
from_spec = consts.GIT_HEAD_COMMIT_REV
|
|
282
310
|
if not to_spec:
|
|
283
|
-
to_spec =
|
|
311
|
+
to_spec = consts.GIT_HEAD_COMMIT_REV
|
|
284
312
|
|
|
285
313
|
try:
|
|
286
314
|
# Use rev_parse to resolve each specifier to its full commit SHA
|
|
@@ -91,7 +91,7 @@ class RichPrinter(TextPrinter):
|
|
|
91
91
|
details_table.add_row('Version', detection_details.get('package_version'))
|
|
92
92
|
|
|
93
93
|
if detection.has_alert:
|
|
94
|
-
patched_version = detection_details['alert'].get('
|
|
94
|
+
patched_version = detection_details['alert'].get('first_patched_version')
|
|
95
95
|
details_table.add_row('First patched version', patched_version or 'Not fixed')
|
|
96
96
|
|
|
97
97
|
dependency_path = detection_details.get('dependency_paths')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "cycode"
|
|
3
|
-
version = "3.4.1.
|
|
3
|
+
version = "3.4.1.dev6" # 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__ = '3.4.1.dev4' # DON'T TOUCH. Placeholder. Will be filled automatically on poetry build from Git Tag
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/ai_remediation/ai_remediation_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/report/sbom/repository_url/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_commit/pre_commit_command.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/pre_receive/pre_receive_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/apps/scan/repository/repository_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/exceptions/handle_ai_remediation_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/iac/tf_content_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/base_restore_dependencies.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/go/restore_go_dependencies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/files_collector/sca/sca_file_collector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_ordering/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cycode-3.4.1.dev4 → cycode-3.4.1.dev6}/cycode/cli/printers/utils/detection_ordering/sca_ordering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|