conviso-cli 2.3.0.dev4__tar.gz → 2.3.0rc1__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.
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/PKG-INFO +2 -2
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/PKG-INFO +2 -2
- conviso-cli-2.3.0rc1/conviso_cli.egg-info/requires.txt +13 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/entrypoint.py +0 -10
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/run.py +22 -56
- conviso-cli-2.3.0rc1/convisoappsec/version.py +1 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/setup.py +13 -13
- conviso-cli-2.3.0.dev4/conviso_cli.egg-info/requires.txt +0 -13
- conviso-cli-2.3.0.dev4/convisoappsec/version.py +0 -1
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/README.md +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/SOURCES.txt +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/dependency_links.txt +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/entry_points.txt +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/top_level.txt +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/box.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/docker.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/exceptions.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/git_data_parser.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/error_handlers.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/errors.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/low_client.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/retry_handler.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/strings.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/api.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/client.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/container.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/iac.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/normalize.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/sast.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/sca.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/resources_api.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/mutations/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/resolvers/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/client.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/asset.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/issues.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/project.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/resources_api.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/mutations/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/resolvers/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/exceptions.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/scc.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/source_code_scanner.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/ci_provider.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/metrics.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/source_code_compressor.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_control_system_adapter.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/sorted_by_versioning_style.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/timebased_version_seacher.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/version_searcher_result.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/versioning_style/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/versioning_style/semantic_versioning.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/__main__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/create.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/ls.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/ast/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/ast/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/common.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/companies/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/companies/ls.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/run.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/context.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/context.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/context.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/time_.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/versioning_style.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/values.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/ls.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/show.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/environment_checker.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/version_tracker.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/import_sarif/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/import_sarif/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/help_option.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/run.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/projects/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/projects/ls.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/requirements_verifier.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/generate.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/run.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/assert_security_rules.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/entrypoint.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/rules_schema.json +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/run.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/logger.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/__init__.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/decision.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/sastbox.py +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_bash_completer.sh +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_fish_completer.fish +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_zsh_completer.sh +0 -0
- {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/setup.cfg +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: conviso-cli
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.0rc1
|
|
4
4
|
Summary: UNKNOWN
|
|
5
5
|
Maintainer: Conviso
|
|
6
6
|
Maintainer-email: development@convisoappsec.com
|
|
7
7
|
License: UNKNOWN
|
|
8
8
|
Project-URL: Source, https://github.com/convisoappsec/convisocli/
|
|
9
9
|
Platform: UNKNOWN
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
|
|
13
13
|
# CLI
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: conviso-cli
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.0rc1
|
|
4
4
|
Summary: UNKNOWN
|
|
5
5
|
Maintainer: Conviso
|
|
6
6
|
Maintainer-email: development@convisoappsec.com
|
|
7
7
|
License: UNKNOWN
|
|
8
8
|
Project-URL: Source, https://github.com/convisoappsec/convisocli/
|
|
9
9
|
Platform: UNKNOWN
|
|
10
|
-
Requires-Python: >=3.
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
|
|
13
13
|
# CLI
|
|
@@ -23,15 +23,6 @@ from .container import container
|
|
|
23
23
|
|
|
24
24
|
click_log.basic_config(LOGGER)
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
def api_url_autocompletion(*args, **kargs):
|
|
28
|
-
return [
|
|
29
|
-
api.PRODUCTION_API_URL,
|
|
30
|
-
api.STAGING_API_URL,
|
|
31
|
-
api.DEVELOPMENT_API_URL,
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
|
|
35
26
|
@click.group()
|
|
36
27
|
@click_log.simple_verbosity_option(LOGGER, '-l', '--verbosity')
|
|
37
28
|
@click.option(
|
|
@@ -48,7 +39,6 @@ def api_url_autocompletion(*args, **kargs):
|
|
|
48
39
|
envvar=("CONVISO_API_URL", "FLOW_API_URL"),
|
|
49
40
|
default=api.DEFAULT_API_URL,
|
|
50
41
|
show_default=True,
|
|
51
|
-
autocompletion=api_url_autocompletion,
|
|
52
42
|
help='The api url to access Conviso Platform resources.',
|
|
53
43
|
)
|
|
54
44
|
@click.option(
|
|
@@ -2,25 +2,20 @@ import sys
|
|
|
2
2
|
import click
|
|
3
3
|
import traceback
|
|
4
4
|
import time
|
|
5
|
-
import json
|
|
6
|
-
from convisoappsec.common.retry_handler import RetryHandler
|
|
7
5
|
from copy import deepcopy as clone
|
|
8
6
|
from base64 import b64decode
|
|
9
7
|
from re import search as regex_search
|
|
10
8
|
from convisoappsec.flow import GitAdapter
|
|
11
|
-
from convisoappsec.flow.graphql_api.beta.models.issues.sast import (CreateSastFindingInput)
|
|
12
9
|
from convisoappsec.flowcli import help_option
|
|
13
10
|
from convisoappsec.flowcli.common import (asset_id_option, on_http_error, project_code_option)
|
|
14
11
|
from convisoappsec.flowcli.context import pass_flow_context
|
|
15
12
|
from convisoappsec.sast.decision import Decision, Severity
|
|
16
13
|
from convisoappsec.sast.sastbox import SASTBox
|
|
17
|
-
from convisoappsec.common.graphql.errors import ResponseError
|
|
18
14
|
from convisoappsec.flowcli.requirements_verifier import RequirementsVerifier
|
|
19
15
|
from docker.errors import APIError
|
|
20
|
-
from convisoappsec.logger import LOGGER
|
|
21
16
|
|
|
22
17
|
|
|
23
|
-
def log_func(msg, new_line=True
|
|
18
|
+
def log_func(msg, new_line=True):
|
|
24
19
|
click.echo(msg, nl=new_line, err=True)
|
|
25
20
|
|
|
26
21
|
|
|
@@ -117,31 +112,6 @@ def perform_sastbox_scan(
|
|
|
117
112
|
return results_filepaths
|
|
118
113
|
|
|
119
114
|
|
|
120
|
-
def deploy_results_to_conviso(
|
|
121
|
-
conviso_api, results_filepaths, project_code, deploy_id=None, commit_refs=None
|
|
122
|
-
):
|
|
123
|
-
results_context = click.progressbar(
|
|
124
|
-
results_filepaths, label="Sending SAST reports to the Conviso Platform..."
|
|
125
|
-
)
|
|
126
|
-
|
|
127
|
-
with results_context as reports:
|
|
128
|
-
for report_name in reports:
|
|
129
|
-
report_file = open(report_name)
|
|
130
|
-
|
|
131
|
-
default_report_type = "sast"
|
|
132
|
-
|
|
133
|
-
conviso_api.findings.create(
|
|
134
|
-
project_code,
|
|
135
|
-
commit_refs,
|
|
136
|
-
report_file,
|
|
137
|
-
default_report_type=default_report_type,
|
|
138
|
-
deploy_id=deploy_id,
|
|
139
|
-
)
|
|
140
|
-
|
|
141
|
-
report_file.close()
|
|
142
|
-
pass
|
|
143
|
-
|
|
144
|
-
|
|
145
115
|
def parse_conviso_references(references=[]):
|
|
146
116
|
divider = "\n"
|
|
147
117
|
|
|
@@ -198,7 +168,7 @@ def parse_first_line_number(encoded_base64):
|
|
|
198
168
|
|
|
199
169
|
|
|
200
170
|
def deploy_results_to_conviso_beta(
|
|
201
|
-
flow_context,
|
|
171
|
+
flow_context, results_filepaths, asset_id, company_id, commit_ref=None, deploy_id=None
|
|
202
172
|
):
|
|
203
173
|
"""Send SAST results to the Conviso platform."""
|
|
204
174
|
|
|
@@ -209,16 +179,25 @@ def deploy_results_to_conviso_beta(
|
|
|
209
179
|
with results_context as reports:
|
|
210
180
|
for report_path in reports:
|
|
211
181
|
api_key = flow_context.key
|
|
182
|
+
max_retries = 5
|
|
212
183
|
conviso_api = flow_context.create_conviso_graphql_client()
|
|
213
184
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
185
|
+
for attempt in range(1, max_retries + 1):
|
|
186
|
+
try:
|
|
187
|
+
conviso_api.issues.send_issues_file(
|
|
188
|
+
company_id=company_id, asset_id=asset_id, file_path=report_path, api_key=api_key,
|
|
189
|
+
vulnerability_type='SAST_FINDING',
|
|
190
|
+
deploy_id=deploy_id, commit_ref=commit_ref
|
|
191
|
+
)
|
|
192
|
+
break # If successful, exit loop
|
|
193
|
+
except Exception as e:
|
|
194
|
+
if attempt == max_retries:
|
|
195
|
+
# Notify via Slack or log the failure
|
|
196
|
+
print(f"Failed after {max_retries} attempts: {e}")
|
|
197
|
+
else:
|
|
198
|
+
wait_time = 2 ** attempt # Exponential backoff (2s, 4s, 8s, 16s)
|
|
199
|
+
print(f"Retry {attempt}/{max_retries} failed. Retrying in {wait_time} seconds...")
|
|
200
|
+
time.sleep(wait_time)
|
|
222
201
|
|
|
223
202
|
|
|
224
203
|
@click.command()
|
|
@@ -436,7 +415,6 @@ def perform_command(flow_context, project_code, asset_id, end_commit, start_comm
|
|
|
436
415
|
return
|
|
437
416
|
|
|
438
417
|
conviso_rest_api = flow_context.create_conviso_rest_api_client()
|
|
439
|
-
conviso_beta_api = flow_context.create_conviso_api_client_beta()
|
|
440
418
|
|
|
441
419
|
results_filepaths = perform_sastbox_scan(
|
|
442
420
|
conviso_rest_api,
|
|
@@ -451,21 +429,9 @@ def perform_command(flow_context, project_code, asset_id, end_commit, start_comm
|
|
|
451
429
|
)
|
|
452
430
|
|
|
453
431
|
if send_to_flow:
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
)
|
|
458
|
-
|
|
459
|
-
else:
|
|
460
|
-
commit_refs = git_adapter.show_commit_refs(end_commit)
|
|
461
|
-
|
|
462
|
-
deploy_results_to_conviso(
|
|
463
|
-
conviso_rest_api,
|
|
464
|
-
results_filepaths,
|
|
465
|
-
project_code,
|
|
466
|
-
deploy_id,
|
|
467
|
-
commit_refs,
|
|
468
|
-
)
|
|
432
|
+
deploy_results_to_conviso_beta(
|
|
433
|
+
flow_context, results_filepaths, asset_id, company_id, commit_ref=end_commit, deploy_id=deploy_id
|
|
434
|
+
)
|
|
469
435
|
|
|
470
436
|
blocked_issues = find_blocked_issues(
|
|
471
437
|
results_filepaths, overall_threshold, severity_threshold, severity
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '2.3.0-rc.1'
|
|
@@ -33,19 +33,19 @@ setup(
|
|
|
33
33
|
exclude=["test*"],
|
|
34
34
|
),
|
|
35
35
|
install_requires=[
|
|
36
|
-
"GitPython
|
|
37
|
-
"click
|
|
38
|
-
"requests==2.
|
|
39
|
-
"urllib3==2.
|
|
40
|
-
"semantic-version
|
|
41
|
-
"docker
|
|
42
|
-
"PyYAML==6.0.
|
|
43
|
-
"click-log
|
|
44
|
-
"transitions
|
|
45
|
-
"jsonschema
|
|
36
|
+
"GitPython==3.1.44",
|
|
37
|
+
"click==8.1.8",
|
|
38
|
+
"requests==2.32.3",
|
|
39
|
+
"urllib3==2.3.0",
|
|
40
|
+
"semantic-version==2.10.0",
|
|
41
|
+
"docker==7.1.0",
|
|
42
|
+
"PyYAML==6.0.2",
|
|
43
|
+
"click-log==0.4.0",
|
|
44
|
+
"transitions==0.9.2",
|
|
45
|
+
"jsonschema==4.23.0",
|
|
46
46
|
"giturlparse<=0.12.0",
|
|
47
|
-
"jmespath
|
|
48
|
-
"setuptools==
|
|
47
|
+
"jmespath==1.0.1",
|
|
48
|
+
"setuptools==75.8.0"
|
|
49
49
|
],
|
|
50
50
|
entry_points={
|
|
51
51
|
'console_scripts': [
|
|
@@ -61,5 +61,5 @@ setup(
|
|
|
61
61
|
project_urls={
|
|
62
62
|
'Source': 'https://github.com/convisoappsec/convisocli/',
|
|
63
63
|
},
|
|
64
|
-
python_requires='>=3.
|
|
64
|
+
python_requires='>=3.9',
|
|
65
65
|
)
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
GitPython<4,>=3.1.2
|
|
2
|
-
click<8,>=7.1.2
|
|
3
|
-
requests==2.31.0
|
|
4
|
-
urllib3==2.2.0
|
|
5
|
-
semantic-version<3,>=2.8.5
|
|
6
|
-
docker<=6.1.3
|
|
7
|
-
PyYAML==6.0.1
|
|
8
|
-
click-log<1,>=0.3.2
|
|
9
|
-
transitions<1,>=0.8.7
|
|
10
|
-
jsonschema<3,>=2.5.1
|
|
11
|
-
giturlparse<=0.12.0
|
|
12
|
-
jmespath<1.0.1,>=0.9.0
|
|
13
|
-
setuptools==69.2.0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '2.3.0-dev.4'
|
|
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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/error_handlers.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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/__init__.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/client.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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/resources_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/__init__.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/asset.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/issues.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/project.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/resources_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/__init__.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/exceptions.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/scc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/source_code_compressor.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_control_system_adapter.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/versioning_style/__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
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/entrypoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/__init__.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/context.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/entrypoint.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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/values.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/environment_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/__init__.py
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/entrypoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/entrypoint.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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/requirements_verifier.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
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/entrypoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_bash_completer.sh
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_fish_completer.fish
RENAMED
|
File without changes
|
{conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_zsh_completer.sh
RENAMED
|
File without changes
|
|
File without changes
|