From 06cf9ed0ccf4be5d9d710d1a40464e89d0942546 Mon Sep 17 00:00:00 2001 From: "Andoni A." <14891798+andoniaf@users.noreply.github.com> Date: Wed, 10 Sep 2025 10:04:32 +0200 Subject: [PATCH] wip: set defaults --- prowler/lib/outputs/finding.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/prowler/lib/outputs/finding.py b/prowler/lib/outputs/finding.py index c9ced44005..4279268943 100644 --- a/prowler/lib/outputs/finding.py +++ b/prowler/lib/outputs/finding.py @@ -309,10 +309,17 @@ class Finding(BaseModel): output_data["auth_method"] = provider.auth_method output_data["account_uid"] = "iac" output_data["account_name"] = "iac" - output_data["resource_name"] = check_output.resource_name - output_data["resource_uid"] = check_output.resource_name - output_data["region"] = check_output.resource_line_range - output_data["resource_line_range"] = check_output.resource_line_range + output_data["resource_name"] = getattr( + check_output, "resource_name", "" + ) + output_data["resource_uid"] = getattr(check_output, "resource_name", "") + # For IaC, resource_line_range only exists on CheckReportIAC, not on Finding objects + output_data["region"] = getattr( + check_output, "resource_line_range", "file" + ) + output_data["resource_line_range"] = getattr( + check_output, "resource_line_range", "" + ) output_data["framework"] = check_output.check_metadata.ServiceName # check_output Unique ID @@ -385,6 +392,10 @@ class Finding(BaseModel): finding.subscription = list(provider.identity.subscriptions.keys())[0] elif provider.type == "gcp": finding.project_id = list(provider.projects.keys())[0] + elif provider.type == "iac": + # For IaC, we don't have resource_line_range in the Finding model + # It would need to be extracted from the resource metadata if needed + finding.resource_line_range = "" # Set empty for compatibility finding.check_metadata = CheckMetadata( Provider=finding.check_metadata["provider"],