Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2b3836c

Browse files
authored
Merge pull request#111 from UncoderIO/gis-7789
Palo Alto Cortex XSIAM: add support array of default logsources
2 parents4f01f62 +17ea72d commit2b3836c

File tree

4 files changed

+31
-19
lines changed

4 files changed

+31
-19
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
platform:Palo Alto XSIAM
2+
source:webserver
3+
4+
default_log_source:
5+
dataset:[apache_tomcat_raw, nginx_nginx_raw, apache_tomcat_raw]
6+
7+
field_mapping:
8+
c-uri:xdm.network.http.url
9+
c-useragent:xdm.source.user_agent
10+
cs-method:xdm.network.http.method
11+
cs-bytes:xdm.target.sent_bytes
12+
c-uri-query:xdm.network.http.url
13+
cs-referrer:xdm.network.http.referrer
14+
sc-status:xdm.network.http.response_code

‎uncoder-core/app/translator/platforms/palo_alto/escape_manager.py‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77

88
classXQLEscapeManager(EscapeManager):
99
escape_map:ClassVar[dict[str,list[EscapeDetails]]]= {
10-
ValueType.regex_value: [EscapeDetails(pattern=r'([_!@#$%^&*=+()\[\]{}|;:\'",.<>?/`~\-\s\\])',escape_symbols=r"\\\1")],
11-
ValueType.value: [EscapeDetails(pattern=r'([\\])',escape_symbols=r"\\\1")],
12-
10+
ValueType.regex_value: [
11+
EscapeDetails(pattern=r'([_!@#$%^&*=+()\[\]{}|;:\'",.<>?/`~\-\s\\])',escape_symbols=r"\\\1")
12+
],
13+
ValueType.value: [EscapeDetails(pattern=r"([\\])",escape_symbols=r"\\\1")],
1314
}
1415

1516

‎uncoder-core/app/translator/platforms/palo_alto/mapping.py‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
fromtypingimportOptional
1+
fromtypingimportOptional,Union
22

33
fromapp.translator.core.mappingimport (
44
DEFAULT_MAPPING_NAME,
@@ -18,8 +18,17 @@ def __init__(self, preset: Optional[list[str]], dataset: Optional[list[str]], de
1818
defis_suitable(self,preset:str,dataset:str)->bool:
1919
returnpreset==self.presetordataset==self.dataset
2020

21+
def__prepare_log_source_for_render(self,logsource:Union[str,list[str]],model:str="datamodel")->str:
22+
ifisinstance(logsource,list):
23+
returnf"{model} in ({', '.join(sourceforsourceinlogsource)})"
24+
returnf"{model} ={logsource}"
25+
2126
def__str__(self)->str:
22-
returnself._default_source.get("preset")orself._default_source.get("dataset")
27+
ifpreset_data:=self._default_source.get("preset"):
28+
returnself.__prepare_log_source_for_render(logsource=preset_data,model="preset")
29+
ifdataset_data:=self._default_source.get("dataset"):
30+
returnself.__prepare_log_source_for_render(logsource=dataset_data,model="dataset")
31+
return"datamodel"
2332

2433

2534
classCortexXSIAMMappings(BasePlatformMappings):

‎uncoder-core/app/translator/platforms/palo_alto/renders/cortex_xsiam.py‎

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,7 @@ def contains_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6969

7070
defendswith_modifier(self,field:str,value:DEFAULT_VALUE_TYPE)->str:
7171
ifisinstance(value,list):
72-
return (
73-
f"({self.or_token.join(self.endswith_modifier(field=field,value=v)forvinvalue)})"
74-
)
72+
returnf"({self.or_token.join(self.endswith_modifier(field=field,value=v)forvinvalue)})"
7573
returnf'{field} ~= ".*{self.apply_value(value,value_type=ValueType.regex_value)}"'
7674

7775
defstartswith_modifier(self,field:str,value:DEFAULT_VALUE_TYPE)->str:
@@ -118,14 +116,4 @@ class CortexXQLQueryRender(PlatformQueryRender):
118116
is_single_line_comment=False
119117

120118
defgenerate_prefix(self,log_source_signature:CortexXSIAMLogSourceSignature)->str:
121-
preset= (
122-
f"preset ={log_source_signature._default_source.get('preset')}"
123-
iflog_source_signature._default_source.get("preset")
124-
elseNone
125-
)
126-
dataset= (
127-
f"dataset ={log_source_signature._default_source.get('dataset')}"
128-
iflog_source_signature._default_source.get("dataset")
129-
elseNone
130-
)
131-
returnpresetordatasetor"datamodel"
119+
returnstr(log_source_signature)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp