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.

@@ -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
- for key, value in config_tool[self.TOOL_KICS]["RULES"][
139
- f"RULES_{platform}"
140
- ].items()
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 = ",".join(folders_to_scan)
156
- queries = ",".join([list(query.values())[0] for query in queries])
157
- mapped_platforms = [
158
- self.scan_type_platform_mapping.get(platform.lower(), platform)
159
- for platform in platform_to_scan
160
- ]
161
- platforms = ",".join(mapped_platforms)
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
- query_ids = {list(query.values())[0] for query in queries}
196
- if finding.get("query_id") in query_ids:
197
- finding["custom_vuln_id"] = next(
198
- key
199
- for query in queries
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.60.1'
1
+ version = '1.61.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: devsecops-engine-tools
3
- Version: 1.60.1
3
+ Version: 1.61.0
4
4
  Summary: Tool for DevSecOps strategy
5
5
  Home-page: https://github.com/bancolombia/devsecops-engine-tools
6
6
  Author: Bancolombia DevSecOps Team
@@ -1,5 +1,5 @@
1
1
  devsecops_engine_tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- devsecops_engine_tools/version.py,sha256=2eJ-epiDFp3Ui5UGrGD6zOUsIepitJ-7wak1aWtkse0,19
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=cXIvtRcsnjkrokZUQ9l9gLzj7dOKjHiQZuglh_JIiQ0,7281
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.60.1.dist-info/METADATA,sha256=CLxgokT0rl18zN5xadJSPaxe-jKJAugb3Y7K4cLgQRg,12005
355
- devsecops_engine_tools-1.60.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
356
- devsecops_engine_tools-1.60.1.dist-info/entry_points.txt,sha256=MHCTFFs9bdNKo6YcWCcBW2_8X6yTisgLOlmVx-V8Rxc,276
357
- devsecops_engine_tools-1.60.1.dist-info/top_level.txt,sha256=ge6y0X_xBAU1aG3EMWFtl9djbVyg5BxuSp2r2Lg6EQU,23
358
- devsecops_engine_tools-1.60.1.dist-info/RECORD,,
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,,