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.
Files changed (137) hide show
  1. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/PKG-INFO +2 -2
  2. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/PKG-INFO +2 -2
  3. conviso-cli-2.3.0rc1/conviso_cli.egg-info/requires.txt +13 -0
  4. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/entrypoint.py +0 -10
  5. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/run.py +22 -56
  6. conviso-cli-2.3.0rc1/convisoappsec/version.py +1 -0
  7. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/setup.py +13 -13
  8. conviso-cli-2.3.0.dev4/conviso_cli.egg-info/requires.txt +0 -13
  9. conviso-cli-2.3.0.dev4/convisoappsec/version.py +0 -1
  10. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/README.md +0 -0
  11. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/SOURCES.txt +0 -0
  12. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/dependency_links.txt +0 -0
  13. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/entry_points.txt +0 -0
  14. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/conviso_cli.egg-info/top_level.txt +0 -0
  15. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/__init__.py +0 -0
  16. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/__init__.py +0 -0
  17. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/box.py +0 -0
  18. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/docker.py +0 -0
  19. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/exceptions.py +0 -0
  20. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/git_data_parser.py +0 -0
  21. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/__init__.py +0 -0
  22. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/error_handlers.py +0 -0
  23. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/errors.py +0 -0
  24. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/graphql/low_client.py +0 -0
  25. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/retry_handler.py +0 -0
  26. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/common/strings.py +0 -0
  27. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/__init__.py +0 -0
  28. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/api.py +0 -0
  29. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/__init__.py +0 -0
  30. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/__init__.py +0 -0
  31. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/client.py +0 -0
  32. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/__init__.py +0 -0
  33. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/__init__.py +0 -0
  34. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/container.py +0 -0
  35. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/iac.py +0 -0
  36. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/normalize.py +0 -0
  37. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/sast.py +0 -0
  38. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/models/issues/sca.py +0 -0
  39. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/resources_api.py +0 -0
  40. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/__init__.py +0 -0
  41. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/mutations/__init__.py +0 -0
  42. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/beta/schemas/resolvers/__init__.py +0 -0
  43. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/__init__.py +0 -0
  44. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/client.py +0 -0
  45. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/__init__.py +0 -0
  46. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/asset.py +0 -0
  47. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/issues.py +0 -0
  48. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/models/project.py +0 -0
  49. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/resources_api.py +0 -0
  50. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/__init__.py +0 -0
  51. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/mutations/__init__.py +0 -0
  52. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/graphql_api/v1/schemas/resolvers/__init__.py +0 -0
  53. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/__init__.py +0 -0
  54. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/exceptions.py +0 -0
  55. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/scc.py +0 -0
  56. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/source_code_scanner/source_code_scanner.py +0 -0
  57. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/__init__.py +0 -0
  58. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/ci_provider.py +0 -0
  59. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/metrics.py +0 -0
  60. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/util/source_code_compressor.py +0 -0
  61. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_control_system_adapter.py +0 -0
  62. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/__init__.py +0 -0
  63. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/sorted_by_versioning_style.py +0 -0
  64. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/timebased_version_seacher.py +0 -0
  65. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/version_searchers/version_searcher_result.py +0 -0
  66. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/versioning_style/__init__.py +0 -0
  67. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flow/versioning_style/semantic_versioning.py +0 -0
  68. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/__init__.py +0 -0
  69. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/__main__.py +0 -0
  70. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/__init__.py +0 -0
  71. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/create.py +0 -0
  72. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/entrypoint.py +0 -0
  73. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/assets/ls.py +0 -0
  74. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/ast/__init__.py +0 -0
  75. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/ast/entrypoint.py +0 -0
  76. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/common.py +0 -0
  77. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/companies/__init__.py +0 -0
  78. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/companies/ls.py +0 -0
  79. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/__init__.py +0 -0
  80. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/entrypoint.py +0 -0
  81. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/container/run.py +0 -0
  82. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/context.py +0 -0
  83. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/__init__.py +0 -0
  84. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/__init__.py +0 -0
  85. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/context.py +0 -0
  86. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/entrypoint.py +0 -0
  87. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/__init__.py +0 -0
  88. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/entrypoint.py +0 -0
  89. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/__init__.py +0 -0
  90. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/context.py +0 -0
  91. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/entrypoint.py +0 -0
  92. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/__init__.py +0 -0
  93. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/entrypoint.py +0 -0
  94. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/time_.py +0 -0
  95. {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
  96. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/create/with_/values.py +0 -0
  97. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/entrypoint.py +0 -0
  98. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/ls.py +0 -0
  99. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/deploy/show.py +0 -0
  100. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/environment_checker.py +0 -0
  101. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/__init__.py +0 -0
  102. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/__init__.py +0 -0
  103. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/entrypoint.py +0 -0
  104. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/__init__.py +0 -0
  105. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/entrypoint.py +0 -0
  106. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/create/with_/version_tracker.py +0 -0
  107. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/entrypoint.py +0 -0
  108. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/import_sarif/__init__.py +0 -0
  109. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/findings/import_sarif/entrypoint.py +0 -0
  110. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/help_option.py +0 -0
  111. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/__init__.py +0 -0
  112. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/entrypoint.py +0 -0
  113. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/iac/run.py +0 -0
  114. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/projects/__init__.py +0 -0
  115. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/projects/ls.py +0 -0
  116. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/requirements_verifier.py +0 -0
  117. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/__init__.py +0 -0
  118. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sast/entrypoint.py +0 -0
  119. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/__init__.py +0 -0
  120. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/entrypoint.py +0 -0
  121. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sbom/generate.py +0 -0
  122. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/__init__.py +0 -0
  123. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/entrypoint.py +0 -0
  124. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/sca/run.py +0 -0
  125. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/__init__.py +0 -0
  126. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/assert_security_rules.py +0 -0
  127. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/entrypoint.py +0 -0
  128. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/rules_schema.json +0 -0
  129. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/flowcli/vulnerability/run.py +0 -0
  130. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/logger.py +0 -0
  131. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/__init__.py +0 -0
  132. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/decision.py +0 -0
  133. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/convisoappsec/sast/sastbox.py +0 -0
  134. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_bash_completer.sh +0 -0
  135. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_fish_completer.fish +0 -0
  136. {conviso-cli-2.3.0.dev4 → conviso-cli-2.3.0rc1}/scripts/shell_completer/flow_zsh_completer.sh +0 -0
  137. {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.0.dev4
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.8
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.0.dev4
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.8
10
+ Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown
12
12
 
13
13
  # CLI
@@ -0,0 +1,13 @@
1
+ GitPython==3.1.44
2
+ click==8.1.8
3
+ requests==2.32.3
4
+ urllib3==2.3.0
5
+ semantic-version==2.10.0
6
+ docker==7.1.0
7
+ PyYAML==6.0.2
8
+ click-log==0.4.0
9
+ transitions==0.9.2
10
+ jsonschema==4.23.0
11
+ giturlparse<=0.12.0
12
+ jmespath==1.0.1
13
+ setuptools==75.8.0
@@ -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, clear=False):
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, conviso_api, results_filepaths, asset_id, company_id, commit_ref=None, deploy_id=None
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
- try:
215
- conviso_api.issues.send_issues_file(
216
- company_id=company_id, asset_id=asset_id, file_path=report_path, api_key=api_key, vulnerability_type='SAST_FINDING',
217
- deploy_id=deploy_id, commit_ref=commit_ref
218
- )
219
- except Exception as e:
220
- # send to conviso slack and pass
221
- pass
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
- if experimental:
455
- deploy_results_to_conviso_beta(
456
- flow_context, conviso_beta_api, results_filepaths, asset_id, company_id, commit_ref=end_commit, deploy_id=deploy_id
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>=3.1.2,<4",
37
- "click>=7.1.2,<8",
38
- "requests==2.31.0",
39
- "urllib3==2.2.0",
40
- "semantic-version>=2.8.5,<3",
41
- "docker<=6.1.3",
42
- "PyYAML==6.0.1",
43
- "click-log>=0.3.2,<1",
44
- "transitions>=0.8.7,<1",
45
- "jsonschema>=2.5.1,<3",
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>=0.9.0,<1.0.1",
48
- "setuptools==69.2.0"
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.8',
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'