devsecops-engine-tools 1.95.1__py3-none-any.whl → 1.96.1__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.

Potentially problematic release.


This version of devsecops-engine-tools might be problematic. Click here for more details.

@@ -1 +1 @@
1
- version = '1.95.1'
1
+ version = '1.96.1'
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.1
2
+ Name: devsecops-engine-tools
3
+ Version: 1.96.1
4
+ Summary: Tool for DevSecOps strategy
5
+ Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
+ Author: Bancolombia DevSecOps Team
7
+ Author-email: devsecops@bancolombia.com.co
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: requests==2.32.4
14
+ Requires-Dist: PyYAML==6.0.2
15
+ Requires-Dist: pyfiglet==0.8.post1
16
+ Requires-Dist: prettytable==3.10.2
17
+ Requires-Dist: azure-devops==7.1.0b4
18
+ Requires-Dist: marshmallow==3.21.3
19
+ Requires-Dist: pytz==2024.1
20
+ Requires-Dist: python-decouple==3.8
21
+ Requires-Dist: requests-toolbelt==1.0.0
22
+ Requires-Dist: pexpect==4.9.0
23
+ Requires-Dist: PyGithub==2.3.0
24
+ Requires-Dist: distro==1.9.0
25
+ Requires-Dist: boto3==1.34.157
26
+ Requires-Dist: docker==7.1.0
27
+ Requires-Dist: setuptools==75.3.2
28
+ Requires-Dist: rich==13.9.4
29
+ Requires-Dist: cpe==1.3.1
30
+ Requires-Dist: packageurl-python==0.15.6
31
+ Requires-Dist: ruamel.yaml==0.18.6
32
+ Requires-Dist: Authlib==1.3.2
33
+ Requires-Dist: PyJWT==2.9.0
34
+ Requires-Dist: sympy==1.13.3
35
+ Requires-Dist: urllib3<2.0.0
36
+ Requires-Dist: holidays==0.58
37
+
38
+ # DevSecOps Engine Tools
39
+
40
+ [![Maintained by Bancolombia](https://img.shields.io/badge/maintained_by-Bancolombia-yellow)](#)
41
+ [![Build](https://github.com/bancolombia/devsecops-engine-tools/actions/workflows/build.yml/badge.svg)](https://github.com/bancolombia/devsecops-engine-tools/actions/workflows/build.yml)
42
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
43
+ [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
44
+ [![Python Version](https://img.shields.io/badge/python%20-%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20-blue)](#)
45
+ [![PyPI](https://img.shields.io/pypi/v/devsecops-engine-tools)](https://pypi.org/project/devsecops-engine-tools/)
46
+ [![Docker Pulls](https://img.shields.io/docker/pulls/bancolombia/devsecops-engine-tools
47
+ )](https://hub.docker.com/r/bancolombia/devsecops-engine-tools)
48
+
49
+ # Objective
50
+
51
+ Tool that unifies the evaluation of the different devsecops practices being agnostic to the devops platform, using both open source and market tools.
52
+
53
+
54
+ # Communications channel
55
+
56
+ Here are the channels we use to communicate about the project:
57
+
58
+ **1. Mailing list:** You can join our mailing list to always be informed at the following link: [CommunityDevsecopsEngine](https://groups.google.com/g/CommunityDevsecopsEngine)
59
+
60
+ **2. Email:** You can write to us by email: MaintainersDevsecopsEngine@googlegroups.com
61
+
62
+ # Getting Started
63
+
64
+ Please follow our [Getting Started Guide](https://bancolombia.github.io/devsecops-engine-tools//docs/intro)
65
+
66
+ # How can I help?
67
+
68
+ Review the issues, we hear new ideas. Read more [Contributing](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/docs/CONTRIBUTING.md)
@@ -1,5 +1,5 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=Vf3nN8aO29k1IICyPdIQ3kRO7WdFXnlT9PsKAascD8s,19
2
+ devsecops_engine_tools/version.py,sha256=LBVAGil7hyWOTKRGB2aLLwCTTZpZI-4ie-kSde7_7MM,19
3
3
  devsecops_engine_tools/engine_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  devsecops_engine_tools/engine_core/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  devsecops_engine_tools/engine_core/src/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -368,8 +368,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
368
368
  devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
369
369
  devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
370
370
  devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
371
- devsecops_engine_tools-1.95.1.dist-info/METADATA,sha256=twSH9WqZzoZhWB-gVf73ur2wFmPIs1B9cYlktce8Ja8,12303
372
- devsecops_engine_tools-1.95.1.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
373
- devsecops_engine_tools-1.95.1.dist-info/entry_points.txt,sha256=OWAww5aBsGeMv0kWhSgVNB0ySKKpYuJd4dly0ikFPkc,283
374
- devsecops_engine_tools-1.95.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
375
- devsecops_engine_tools-1.95.1.dist-info/RECORD,,
371
+ devsecops_engine_tools-1.96.1.dist-info/METADATA,sha256=PpdYMUcd56XFGS3N0UTejlmT8zI9vzgUrgJ9OeaDDLw,3211
372
+ devsecops_engine_tools-1.96.1.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
373
+ devsecops_engine_tools-1.96.1.dist-info/entry_points.txt,sha256=OWAww5aBsGeMv0kWhSgVNB0ySKKpYuJd4dly0ikFPkc,283
374
+ devsecops_engine_tools-1.96.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
375
+ devsecops_engine_tools-1.96.1.dist-info/RECORD,,
@@ -1,318 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: devsecops-engine-tools
3
- Version: 1.95.1
4
- Summary: Tool for DevSecOps strategy
5
- Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
- Author: Bancolombia DevSecOps Team
7
- Author-email: devsecops@bancolombia.com.co
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.8
12
- Description-Content-Type: text/markdown
13
- Requires-Dist: requests==2.32.4
14
- Requires-Dist: PyYAML==6.0.2
15
- Requires-Dist: pyfiglet==0.8.post1
16
- Requires-Dist: prettytable==3.10.2
17
- Requires-Dist: azure-devops==7.1.0b4
18
- Requires-Dist: marshmallow==3.21.3
19
- Requires-Dist: pytz==2024.1
20
- Requires-Dist: python-decouple==3.8
21
- Requires-Dist: requests-toolbelt==1.0.0
22
- Requires-Dist: pexpect==4.9.0
23
- Requires-Dist: PyGithub==2.3.0
24
- Requires-Dist: distro==1.9.0
25
- Requires-Dist: boto3==1.34.157
26
- Requires-Dist: docker==7.1.0
27
- Requires-Dist: setuptools==75.3.2
28
- Requires-Dist: rich==13.9.4
29
- Requires-Dist: cpe==1.3.1
30
- Requires-Dist: packageurl-python==0.15.6
31
- Requires-Dist: ruamel.yaml==0.18.6
32
- Requires-Dist: Authlib==1.3.2
33
- Requires-Dist: PyJWT==2.9.0
34
- Requires-Dist: sympy==1.13.3
35
- Requires-Dist: urllib3<2.0.0
36
- Requires-Dist: holidays==0.58
37
-
38
- # DevSecOps Engine Tools
39
-
40
- [![Maintained by Bancolombia](https://img.shields.io/badge/maintained_by-Bancolombia-yellow)](#)
41
- [![Build](https://github.com/bancolombia/devsecops-engine-tools/actions/workflows/build.yml/badge.svg)](https://github.com/bancolombia/devsecops-engine-tools/actions/workflows/build.yml)
42
- [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
43
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=bancolombia_devsecops-engine-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=bancolombia_devsecops-engine-tools)
44
- [![Python Version](https://img.shields.io/badge/python%20-%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20-blue)](#)
45
- [![PyPI](https://img.shields.io/pypi/v/devsecops-engine-tools)](https://pypi.org/project/devsecops-engine-tools/)
46
- [![Docker Pulls](https://img.shields.io/docker/pulls/bancolombia/devsecops-engine-tools
47
- )](https://hub.docker.com/r/bancolombia/devsecops-engine-tools)
48
-
49
- # Objective
50
-
51
- Tool that unifies the evaluation of the different devsecops practices being agnostic to the devops platform, using both open source and market tools.
52
-
53
- # Component
54
-
55
- 📦 [tools](https://github.com/bancolombia/devsecops-engine-tools/tree/trunk/tools): DevSecOps Practice Modules
56
-
57
- # Communications channel
58
-
59
- Here are the channels we use to communicate about the project:
60
-
61
- **1. Mailing list:** You can join our mailing list to always be informed at the following link: [CommunityDevsecopsEngine](https://groups.google.com/g/CommunityDevsecopsEngine)
62
-
63
- **2. Email:** You can write to us by email: MaintainersDevsecopsEngine@googlegroups.com
64
-
65
- # Getting started
66
-
67
- ### Requirements
68
-
69
- - Python >= 3.8
70
-
71
- ### Installation
72
-
73
- ```bash
74
- pip3 install devsecops-engine-tools
75
- ```
76
-
77
- ### Scan running - flags (CLI)
78
-
79
- ```bash
80
- devsecops-engine-tools --platform_devops ["local","azure","github"] --remote_config_source ["local","azure","github"] --remote_config_repo ["remote_config_repo"] --remote_config_branch ["remote_config_branch"] --module ["engine_iac", "engine_dast", "engine_secret", "engine_dependencies", "engine_container", "engine_risk", "engine_code"] --tool ["nuclei", "bearer", "checkov", "kics", "kubescape", "trufflehog", "gitleaks", "prisma", "trivy", "xray", "dependency_check"] --folder_path ["Folder path scan engine_iac, engine_code, engine_dependencies and engine_secret"] --platform ["k8s","cloudformation","docker", "openapi", "terraform"] --use_secrets_manager ["false", "true"] --use_vulnerability_management ["false", "true"] --send_metrics ["false", "true"] --token_cmdb ["token_cmdb"] --token_vulnerability_management ["token_vulnerability_management"] --token_engine_container ["token_engine_container"] --token_engine_dependencies ["token_engine_dependencies"] --token_external_checks ["token_external_checks"] --xray_mode ["scan", "audit","build-scan"] --image_to_scan ["image_to_scan"] --dast_file_path ["dast_file_path"] --context ["false", "true"] --terraform_repo_root ["terraform_files_repo"]
81
- ```
82
-
83
- ### Structure Remote Config
84
- [example_remote_config_local](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/example_remote_config_local/)
85
- ```bash
86
- 📦Remote_Config
87
- ┣ 📂engine_core
88
- ┃ ┗ 📜ConfigTool.json
89
- ┣ 📂engine_risk
90
- ┃ ┗ 📜ConfigTool.json
91
- ┃ ┗ 📜Exclusions.json
92
- ┣ 📂engine_dast
93
- ┃ ┗ 📜ConfigTool.json
94
- ┃ ┗ 📜Exclusions.json
95
- ┣ 📂engine_sast
96
- ┃ ┗ 📂engine_iac
97
- ┃ ┗ 📜ConfigTool.json
98
- ┃ ┗ 📜Exclusions.json
99
- ┃ ┗ 📂engine_secret
100
- ┃ ┗ 📜ConfigTool.json
101
- ┃ ┗ 📂engine_code
102
- ┃ ┗ 📜ConfigTool.json
103
- ┃ ┗ 📜Exclusions.json
104
- ┣ 📂engine_sca
105
- ┃ ┗ 📂engine_container
106
- ┃ ┗ 📜ConfigTool.json
107
- ┃ ┗ 📜Exclusions.json
108
- ┃ ┗ 📂engine_dependencies
109
- ┃ ┗ 📜ConfigTool.json
110
- ┃ ┗ 📜Exclusions.json
111
- ┣ 📂engine_integrations
112
- ┃ ┗ 📂report_sonar
113
- ┃ ┗ 📜ConfigTool.json
114
- ┃ ┗ 📜Exclusions.json
115
- ```
116
- For more information visit [here](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/example_remote_config_local/README.md)
117
- #### Tools available for the modules (Configuration engine_core/ConfigTool.json)
118
-
119
-
120
- <table>
121
- <tr>
122
- <th>Module</th>
123
- <th>Tool</th>
124
- <th>Type</th>
125
- </tr>
126
- <tr>
127
- <td>ENGINE_RISK</td>
128
- <td><a href="https://defectdojo.com/">DEFECTDOJO</a></td>
129
- <td>Free</td>
130
- </tr>
131
- <tr>
132
- <td rowspan="3">ENGINE_IAC</td>
133
- <td><a href="https://www.checkov.io/">CHECKOV</a></td>
134
- <td>Free</td>
135
- </tr>
136
- <tr>
137
- <td><a href="https://kubescape.io/">KUBESCAPE</a></td>
138
- <td>Free</td>
139
- </tr>
140
- <tr>
141
- <td><a href="https://www.kics.io/">KICS</a></td>
142
- <td>Free</td>
143
- </tr>
144
- <tr>
145
- <td>ENGINE_DAST</td>
146
- <td><a href="https://projectdiscovery.io/nuclei">NUCLEI</a></td>
147
- <td>Free</td>
148
- </tr>
149
- <tr>
150
- <td rowspan="2">ENGINE_SECRET</td>
151
- <td><a href="https://trufflesecurity.com/trufflehog">TRUFFLEHOG</a></td>
152
- <td>Free</td>
153
- </tr>
154
- <tr>
155
- <td><a href="https://gitleaks.io/">GITLEAKS</a></td>
156
- <td>Free</td>
157
- </tr>
158
- <tr>
159
- <td rowspan="2">ENGINE_CONTAINER</td>
160
- <td><a href="https://www.paloaltonetworks.com/prisma/cloud">PRISMA</a></td>
161
- <td>Paid</td>
162
- </tr>
163
- <tr>
164
- <td><a href="https://trivy.dev/">TRIVY</a></td>
165
- <td>Free</td>
166
- </tr>
167
- <tr>
168
- <td rowspan="3">ENGINE_DEPENDENCIES</td>
169
- <td><a href="https://jfrog.com/help/r/get-started-with-the-jfrog-platform/jfrog-xray">XRAY</a></td>
170
- <td>Paid</td>
171
- </tr>
172
- <tr>
173
- <td><a href="https://owasp.org/www-project-dependency-check/">DEPENDENCY CHECK</a></td>
174
- <td>Free</td>
175
- </tr>
176
- <tr>
177
- <td><a href="https://trivy.dev/">TRIVY</a></td>
178
- <td>Free</td>
179
- </tr>
180
- <tr>
181
- <td>ENGINE_CODE</td>
182
- <td><a href="https://docs.bearer.com/quickstart/">BEARER</a></td>
183
- <td>Free</td>
184
- </tr>
185
- </table>
186
-
187
- ### Scan running sample (CLI) - Local
188
-
189
- > Complete the value in **.envdetlocal** file a set in execution environment
190
- ```
191
- $ set -a
192
- $ source .envdetlocal
193
- $ set +a
194
- ```
195
-
196
-
197
- ```bash
198
- devsecops-engine-tools --platform_devops local --remote_config_source local --remote_config_repo DevSecOps_Remote_Config --module engine_iac
199
-
200
- ```
201
-
202
- ![Demo CLI Local](docs/demo_session.svg)
203
-
204
- ### Scan running sample (Docker)
205
-
206
- > Installation
207
-
208
- ```bash
209
- docker pull bancolombia/devsecops-engine-tools
210
- ```
211
- ```bash
212
- docker run --rm -v ./folder_to_analyze:/folder_to_analyze bancolombia/devsecops-engine-tools:latest devsecops-engine-tools --platform_devops local --remote_config_source local --remote_config_repo docker_default_remote_config --module engine_iac --folder_path /folder_to_analyze
213
- ```
214
-
215
- The docker image have it own default remote config with basic configuration called docker_default_remote_config, but you can define your own config and pass it as volume
216
-
217
- ```bash
218
- docker run --rm -v ./folder_to_analyze:/folder_to_analyze -v ./custom_remote_config:/custom_remote_config bancolombia/devsecops-engine-tools:latest devsecops-engine-tools --platform_devops local --remote_config_source local --remote_config_repo custom_remote_config --module engine_iac --folder_path /folder_to_analyze
219
- ```
220
-
221
-
222
- ### Scan running sample - Azure Pipelines
223
-
224
- Note: If the remote configuration is in an Azure Devops repository. the tool gets the token from the SYSTEM_ACCESSTOKEN variable to get the remote configuration repository. You must ensure that this token has permission to access this resource.
225
-
226
- ```yaml
227
- name: $(Build.SourceBranchName).$(date:yyyyMMdd)$(rev:.r)
228
-
229
- trigger:
230
- branches:
231
- include:
232
- - trunk
233
- - feature/*
234
-
235
- stages:
236
- - stage: engine_tools
237
- displayName: Example Engine Tools
238
- jobs:
239
- - job: engine_tools
240
- pool:
241
- name: Azure Pipelines
242
- steps:
243
- - script: |
244
- # Install devsecops-engine-tools
245
- pip3 install -q devsecops-engine-tools
246
- devsecops-engine-tools --platform_devops azure --remote_config_source azure --remote_config_repo remote_config --module engine_iac
247
- displayName: "Engine Tools"
248
- env:
249
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
250
-
251
- ```
252
-
253
- ### Scan running sample - Github Actions
254
-
255
- If remote config is in a GitHub repository, either public or private.
256
-
257
- **If the repository is public:**
258
-
259
- 1. The yml file containing the workflow should be configured using the default secret **GITHUB_TOKEN**.
260
- For more information, refer to [Automatic token authentication](https://docs.github.com/en/actions/security-guides/automatic-token-authentication).
261
-
262
- **If the repository is private:**
263
-
264
- 1. Create a personal access token with the necessary permissions to access the repository.
265
- 2. Add the token as a secret in the GitHub repository.
266
- ![Demo Github](docs/secret_token.png)
267
-
268
- 3. Configure the yml file containing the workflow using the created secret.
269
-
270
- **Example of the workflow yml:**
271
-
272
- ```yaml
273
- name: DevSecOps Engine Tools
274
- on:
275
- push:
276
- branches:
277
- - feature/*
278
- env:
279
- GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESSTOKEN }} #In this case, the remote config repository is private
280
- # When the remote config repository is public, the secret should be like this: ${{ secrets.GITHUB_TOKEN }}
281
-
282
- jobs:
283
- release:
284
- runs-on: ubuntu-latest
285
- steps:
286
- - uses: actions/checkout@v4
287
-
288
- - name: Set up Python
289
- uses: actions/setup-python@v5
290
- with:
291
- python-version: "3.12"
292
-
293
- - name: Set up Python
294
- run: |
295
- # Install devsecops-engine-tools
296
- pip3 install -q devsecops-engine-tools
297
- output=$(devsecops-engine-tools --platform_devops github --remote_config_source github --remote_config_repo remote_config --module engine_iac)
298
- echo "$output"
299
- if [[ $output == *"✘Failed"* ]]; then
300
- exit 1
301
- fi
302
- ```
303
-
304
- # Metrics
305
-
306
- With the flag **--send_metrics true** and the configuration of the AWS-METRICS_MANAGER driven adapter in ConfigTool.json of the engine_core the tool will send the report to bucket s3. In the [metrics](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/metrics/) folder you will find the base of the cloud formation template to deploy the infra and dashboard in grafana.
307
-
308
- ![Dashboard Grafana](docs/metrics.png)
309
-
310
- # Config Tool Generator
311
-
312
- To generate the ConfigTool.json file in a simple way, a web interface was created where you can configure each necessary parameter individually or use a base template that you want to modify. In the [config tool generator](https://github.com/bancolombia/devsecops-engine-tools/tree/trunk/remote_config_generator/config-tool-generator) folder you will find the code for the SPA created in Angular to run it local environment.
313
-
314
- ![Config Tool Generator](docs/config_tool_generator.gif)
315
-
316
- # How can I help?
317
-
318
- Review the issues, we hear new ideas. Read more [Contributing](https://github.com/bancolombia/devsecops-engine-tools/blob/trunk/docs/CONTRIBUTING.md)