From 15b501d7027bcbffe6da952b814ef2b8d6cefb94 Mon Sep 17 00:00:00 2001 From: Sergio Garcia <38561120+sergargar@users.noreply.github.com> Date: Thu, 29 Feb 2024 16:22:55 +0100 Subject: [PATCH] fix(gcp): handle KeyError in Compute service (#3471) --- .../gcp/services/compute/compute_service.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/prowler/providers/gcp/services/compute/compute_service.py b/prowler/providers/gcp/services/compute/compute_service.py index a28bd97f..f475fa23 100644 --- a/prowler/providers/gcp/services/compute/compute_service.py +++ b/prowler/providers/gcp/services/compute/compute_service.py @@ -89,7 +89,7 @@ class Compute(GCPService): for instance in response.get("items", []): public_ip = False - for interface in instance["networkInterfaces"]: + for interface in instance.get("networkInterfaces", []): for config in interface.get("accessConfigs", []): if "natIP" in config: public_ip = True @@ -99,13 +99,13 @@ class Compute(GCPService): id=instance["id"], zone=zone, public_ip=public_ip, - metadata=instance["metadata"], - shielded_enabled_vtpm=instance[ - "shieldedInstanceConfig" - ]["enableVtpm"], - shielded_enabled_integrity_monitoring=instance[ - "shieldedInstanceConfig" - ]["enableIntegrityMonitoring"], + metadata=instance.get("metadata", {}), + shielded_enabled_vtpm=instance.get( + "shieldedInstanceConfig", {} + ).get("enableVtpm", False), + shielded_enabled_integrity_monitoring=instance.get( + "shieldedInstanceConfig", {} + ).get("enableIntegrityMonitoring", False), confidential_computing=instance.get( "confidentialInstanceConfig", {} ).get("enableConfidentialCompute", False), @@ -122,7 +122,7 @@ class Compute(GCPService): else False ), ) - for disk in instance["disks"] + for disk in instance.get("disks", []) ], project_id=project_id, )