devsecops-engine-tools 1.60.1__py3-none-any.whl → 1.61.0__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.
- devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py +34 -22
- devsecops_engine_tools/version.py +1 -1
- {devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/METADATA +1 -1
- {devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/RECORD +7 -7
- {devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/WHEEL +0 -0
- {devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/entry_points.txt +0 -0
- {devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/top_level.txt +0 -0
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py
CHANGED
|
@@ -134,15 +134,15 @@ class KicsTool(ToolGateway):
|
|
|
134
134
|
if f"RULES_{platform}" not in config_tool[self.TOOL_KICS]["RULES"]:
|
|
135
135
|
logger.error(f"Platform {platform} not found in RULES")
|
|
136
136
|
queries = [
|
|
137
|
-
{key: value["checkID"]
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
]
|
|
137
|
+
{key: [value["checkID"], value["overrideID"]],
|
|
138
|
+
"severity": value["severity"]}
|
|
139
|
+
for key, value in config_tool[self.TOOL_KICS]["RULES"][f"RULES_{platform}"].items()
|
|
140
|
+
]
|
|
142
141
|
return queries
|
|
143
142
|
except Exception as e:
|
|
144
143
|
logger.error(f"Error writing queries file: {e}")
|
|
145
144
|
|
|
145
|
+
|
|
146
146
|
def _execute_kics(
|
|
147
147
|
self,
|
|
148
148
|
folders_to_scan,
|
|
@@ -152,13 +152,14 @@ class KicsTool(ToolGateway):
|
|
|
152
152
|
os_platform,
|
|
153
153
|
queries,
|
|
154
154
|
):
|
|
155
|
-
folders =
|
|
156
|
-
queries =
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
folders = ','.join(folders_to_scan)
|
|
156
|
+
queries = ','.join(
|
|
157
|
+
uuid for query in queries for uuid in list(query.values())[0]
|
|
158
|
+
) if queries else ""
|
|
159
|
+
mapped_platforms = [
|
|
160
|
+
self.scan_type_platform_mapping.get(platform.lower(), platform)
|
|
161
|
+
for platform in platform_to_scan ] if platform_to_scan != ["all"] else list(self.scan_type_platform_mapping.values())
|
|
162
|
+
platforms = ','.join(mapped_platforms)
|
|
162
163
|
|
|
163
164
|
command = [
|
|
164
165
|
prefix,
|
|
@@ -184,22 +185,33 @@ class KicsTool(ToolGateway):
|
|
|
184
185
|
subprocess.run(command, capture_output=True)
|
|
185
186
|
except subprocess.CalledProcessError as e:
|
|
186
187
|
logger.error(f"Error during KICS execution: {e}")
|
|
187
|
-
|
|
188
|
+
return []
|
|
189
|
+
|
|
188
190
|
def _load_results(self, work_folder, queries):
|
|
189
191
|
try:
|
|
190
192
|
results_path = os.path.join(work_folder, "results.json")
|
|
191
193
|
with open(results_path, "r") as f:
|
|
192
194
|
data = json.load(f)
|
|
193
195
|
|
|
196
|
+
query_id_to_info = {}
|
|
197
|
+
for query in queries:
|
|
198
|
+
severity = query.get("severity")
|
|
199
|
+
for custom_id, ids in query.items():
|
|
200
|
+
if custom_id == "severity":
|
|
201
|
+
continue
|
|
202
|
+
for query_id in ids:
|
|
203
|
+
if query_id != "":
|
|
204
|
+
query_id_to_info[query_id] = {
|
|
205
|
+
"severity": severity,
|
|
206
|
+
"custom_id": custom_id
|
|
207
|
+
}
|
|
208
|
+
|
|
194
209
|
for finding in data.get("queries", []):
|
|
195
|
-
|
|
196
|
-
if
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
for key, value in query.items()
|
|
201
|
-
if value == finding.get("query_id")
|
|
202
|
-
)
|
|
210
|
+
query_id = finding.get("query_id")
|
|
211
|
+
if query_id in query_id_to_info:
|
|
212
|
+
info = query_id_to_info[query_id]
|
|
213
|
+
finding["severity"] = info["severity"].upper()
|
|
214
|
+
finding["custom_id"] = info["custom_id"]
|
|
203
215
|
|
|
204
216
|
with open(results_path, "w") as f:
|
|
205
217
|
json.dump(data, f, indent=4)
|
|
@@ -207,4 +219,4 @@ class KicsTool(ToolGateway):
|
|
|
207
219
|
return data
|
|
208
220
|
except Exception as ex:
|
|
209
221
|
logger.error(f"An error occurred loading or modifying KICS results {ex}")
|
|
210
|
-
return None
|
|
222
|
+
return None
|
|
@@ -1 +1 @@
|
|
|
1
|
-
version = '1.
|
|
1
|
+
version = '1.61.0'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
devsecops_engine_tools/version.py,sha256=
|
|
2
|
+
devsecops_engine_tools/version.py,sha256=l_Ox9QaH3OUGPJH8d9Y3cdBW0yBDcGz6D42nEyoFhcw,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
|
|
@@ -156,7 +156,7 @@ devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters
|
|
|
156
156
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/checkov/checkov_tool.py,sha256=JP_NZfnddbGYRyiLGCpQ8kNI0t7v1TNxt7sp6jBG98w,15183
|
|
157
157
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
158
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_deserealizator.py,sha256=tZq3jutZL2M9XIxm5K_xd3mWwTCMVmHQPFNvrslCqCM,2092
|
|
159
|
-
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py,sha256=
|
|
159
|
+
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kics/kics_tool.py,sha256=XFixGb1AAvcBQIJkB5E5j59bMbevkNsv7oN9skETBss,7961
|
|
160
160
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
161
161
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_deserealizator.py,sha256=bGOGmsIpJcQzTMxptJPwZCA9_2Woaua3pXmMs4kTnX8,2893
|
|
162
162
|
devsecops_engine_tools/engine_sast/engine_iac/src/infrastructure/driven_adapters/kubescape/kubescape_tool.py,sha256=1CpaqzDaXinPxM1lSceoaBpccJ3feHwkIdYe3SQjero,4870
|
|
@@ -351,8 +351,8 @@ devsecops_engine_tools/engine_utilities/utils/name_conversion.py,sha256=ADJrRGax
|
|
|
351
351
|
devsecops_engine_tools/engine_utilities/utils/printers.py,sha256=amYAr9YQfYgR6jK9a2l26z3oovFPQ3FAKmhq6BKhEBA,623
|
|
352
352
|
devsecops_engine_tools/engine_utilities/utils/session_manager.py,sha256=Z0fdhB3r-dxU0nGSD9zW_B4r2Qol1rUnUCkhFR0U-HQ,487
|
|
353
353
|
devsecops_engine_tools/engine_utilities/utils/utils.py,sha256=HCjS900TBoNcHrC4LaiP-Kf9frVdtagF130qOUgnO2M,6757
|
|
354
|
-
devsecops_engine_tools-1.
|
|
355
|
-
devsecops_engine_tools-1.
|
|
356
|
-
devsecops_engine_tools-1.
|
|
357
|
-
devsecops_engine_tools-1.
|
|
358
|
-
devsecops_engine_tools-1.
|
|
354
|
+
devsecops_engine_tools-1.61.0.dist-info/METADATA,sha256=5QNhvIMRXCkM0c6FaQvjt7ffOeF4agcWQMZjfhQy__w,12005
|
|
355
|
+
devsecops_engine_tools-1.61.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
356
|
+
devsecops_engine_tools-1.61.0.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
|
|
357
|
+
devsecops_engine_tools-1.61.0.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
|
|
358
|
+
devsecops_engine_tools-1.61.0.dist-info/RECORD,,
|
|
File without changes
|
{devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devsecops_engine_tools-1.60.1.dist-info → devsecops_engine_tools-1.61.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|