Skip to content

Commit 46d5d33

Browse files
committed
Enhance check_id extraction logic in ProwlerParser
- Simplifies extraction of check_id from finding_info for various formats - Adds support for retrieving check_id from metadata.event_code in official Prowler OCSF JSON format - Ensures robust handling of check_id retrieval across different data structures
1 parent 5dcc040 commit 46d5d33

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

dojo/tools/prowler/parser.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,15 @@ def _parse_json_findings(self, data, test, *, file_name=""):
159159

160160
# Get check ID - simplify extraction logic
161161
check_id = None
162+
# Try to get check_id from finding_info first (some formats)
162163
if "finding_info" in item and isinstance(item["finding_info"], dict):
163164
check_id = item["finding_info"].get("check_id")
164165
# Fall back to top-level check_id if not found in finding_info
165166
if not check_id and "check_id" in item:
166167
check_id = item.get("check_id")
168+
# For official Prowler OCSF JSON format, check_id is in metadata.event_code
169+
if not check_id and "metadata" in item and isinstance(item["metadata"], dict):
170+
check_id = item["metadata"].get("event_code")
167171

168172
# Get remediation information
169173
remediation = ""

0 commit comments

Comments
 (0)