Skip to content

Commit 0cd14cb

Browse files
committed
fix
1 parent dcf1125 commit 0cd14cb

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

uncoder-core/app/translator/platforms/sigma/escape_manager.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
class SigmaEscapeManager(EscapeManager):
99
escape_map: ClassVar[dict[str, list[EscapeDetails]]] = {
10-
ValueType.value: [EscapeDetails(pattern=r"([*?\\])", escape_symbols=r"\\\1")]
10+
ValueType.value: [EscapeDetails(pattern=r"([*?\\])", escape_symbols=r"\\\1")],
11+
ValueType.regex_value: [EscapeDetails(pattern=r"([$^*+()\[\]{}|.?\-\\])", escape_symbols=r"\\\1")]
1112
}
1213

1314

uncoder-core/app/translator/platforms/sigma/renders/sigma.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from app.translator.const import DEFAULT_VALUE_TYPE
2424
from app.translator.core.custom_types.meta_info import SeverityType
2525
from app.translator.core.custom_types.tokens import OperatorType
26+
from app.translator.core.custom_types.values import ValueType
2627
from app.translator.core.mapping import DEFAULT_MAPPING_NAME, SourceMapping
2728
from app.translator.core.models.query_tokens.field_value import FieldValue
2829
from app.translator.core.models.query_tokens.keyword import Keyword
@@ -211,18 +212,26 @@ def generate_field(self, data: FieldValue, source_mapping: SourceMapping):
211212
):
212213
field_name = f"{field_name}|{data.operator.token_type}"
213214

214-
values = self.__pre_process_values(data.values)
215+
value_type_map = {
216+
OperatorType.REGEX: ValueType.regex_value
217+
}
218+
value_type = value_type_map.get(data.operator.token_type, ValueType.value)
219+
values = self.__pre_process_values(data.values, value_type)
215220
if len(values) == 1:
216221
return {field_name: values[0]}
217222
elif len(values) == 0:
218223
return {field_name: ""}
219224
return {field_name: values}
220225

221-
def __pre_process_values(self, values: DEFAULT_VALUE_TYPE) -> list[Union[int, str]]:
226+
def __pre_process_values(
227+
self,
228+
values: DEFAULT_VALUE_TYPE,
229+
value_type: str = ValueType.value
230+
) -> list[Union[int, str]]:
222231
processed = []
223232
for v in values:
224233
if isinstance(v, StrValue):
225-
processed.append(self.str_value_manager.from_container_to_str(v))
234+
processed.append(self.str_value_manager.from_container_to_str(v, value_type=value_type))
226235
elif isinstance(v, str):
227236
processed.append(v)
228237
else:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy