From 0ad4ed7b379ed0246029b3ea4776312d992e38e7 Mon Sep 17 00:00:00 2001 From: Yehonatan Asta Date: Tue, 18 Nov 2025 16:00:51 +0200 Subject: [PATCH 1/3] Modified cloudflarewaf, prismacloudcompute and symantecbluecoatproxysg packs --- .../ModelingRules/CloudflareWAF/CloudflareWAF_schema.json | 8 ++++++++ .../PrismaCloudCompute/PrismaCloudCompute.xif | 2 +- .../SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif | 4 ++-- .../SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif | 6 +++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Packs/CloudflareWAF/ModelingRules/CloudflareWAF/CloudflareWAF_schema.json b/Packs/CloudflareWAF/ModelingRules/CloudflareWAF/CloudflareWAF_schema.json index efd1ad4973b2..d65491057829 100644 --- a/Packs/CloudflareWAF/ModelingRules/CloudflareWAF/CloudflareWAF_schema.json +++ b/Packs/CloudflareWAF/ModelingRules/CloudflareWAF/CloudflareWAF_schema.json @@ -111,6 +111,14 @@ "securityruleid": { "type": "string", "is_array": false + }, + "edgeendtimestamp": { + "type": "datetime", + "is_array": false + }, + "Datetime": { + "type": "datetime", + "is_array": false } } } \ No newline at end of file diff --git a/Packs/PrismaCloudCompute/ParsingRules/PrismaCloudCompute/PrismaCloudCompute.xif b/Packs/PrismaCloudCompute/ParsingRules/PrismaCloudCompute/PrismaCloudCompute.xif index cfc7121c63be..0e8b031ec430 100644 --- a/Packs/PrismaCloudCompute/ParsingRules/PrismaCloudCompute/PrismaCloudCompute.xif +++ b/Packs/PrismaCloudCompute/ParsingRules/PrismaCloudCompute/PrismaCloudCompute.xif @@ -1,6 +1,6 @@ [INGEST:vendor="prisma", product="cloud_compute", target_dataset="prisma_cloud_compute_raw", no_hit=keep] alter - tmp_extract_time = replex(arraystring(regextract(time, ".*\d{2}:\d{2}:\d{2}"), ""), ",", "") + tmp_extract_time = replex(arraystring(regextract(to_string(time), ".*\d{2}:\d{2}:\d{2}"), ""), ",", "") | alter _time = parse_timestamp("%h %d %Y %H:%M:%S", tmp_extract_time) | fields -tmp_extract_time; \ No newline at end of file diff --git a/Packs/SymantecBlueCoatProxySG/ModelingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif b/Packs/SymantecBlueCoatProxySG/ModelingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif index 63e3a874f394..60cef0579f7a 100644 --- a/Packs/SymantecBlueCoatProxySG/ModelingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif +++ b/Packs/SymantecBlueCoatProxySG/ModelingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif @@ -6,7 +6,7 @@ */ // filter out records which contain only metadata -filter _raw_log !~= "^#.*" +filter raw_log_cleaned !~= "^#.*" | alter // Extract fields based on their relative location in the list time_taken = parsed_fields -> time_taken, // Time taken (in milliseconds) to process the request @@ -32,7 +32,7 @@ filter _raw_log !~= "^#.*" x_virus_id = parsed_fields -> x_virus_id, // Identifier of a virus if one was detected. s_ip = parsed_fields -> s_ip, // IP address of the appliance on which the client established its connection r_ip = parsed_fields -> r_ip, // IP address of the destination - event_description = arrayindex(regextract(_raw_log ,"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\S+\s(.*)"),0) // The raw log without headers + event_description = arrayindex(regextract(raw_log_cleaned ,"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\s\S+\s(.*)"),0) // The raw log without headers | alter // post extraction processing // check IP addresses formats c_ip_v4 = if(c_ip ~= "(?:\d{1,3}\.){3}\d{1,3}", c_ip), diff --git a/Packs/SymantecBlueCoatProxySG/ParsingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif b/Packs/SymantecBlueCoatProxySG/ParsingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif index b052e2d7a31f..7058a65c526d 100644 --- a/Packs/SymantecBlueCoatProxySG/ParsingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif +++ b/Packs/SymantecBlueCoatProxySG/ParsingRules/SymantecBlueCoatProxySG/SymantecBlueCoatProxySG.xif @@ -1,10 +1,10 @@ [INGEST:vendor="symantec", product="bluecoatproxysg", target_dataset="symantec_bluecoatproxysg_raw", no_hit=keep] -alter _raw_log = replex(_raw_log, "\r", "") +alter raw_log_cleaned = replex(_raw_log, "\r", "") | alter parsed_fields = regexcapture( - _raw_log, "^(?P\d{4}-\d{2}-\d{2}) (?P