Skip to content

Commit

Permalink
[FR] Skip eql optimizations on parsing query for unique fields (#3443)
Browse files Browse the repository at this point in the history
(cherry picked from commit 5420537)
  • Loading branch information
Mikaayenson authored and github-actions[bot] committed Feb 21, 2024
1 parent 4339da4 commit 2a74f6d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions detection_rules/rule.py
Original file line number Diff line number Diff line change
Expand Up @@ -1358,8 +1358,8 @@ def get_unique_query_fields(rule: TOMLRule) -> List[str]:
if language in ('kuery', 'eql'):
# TODO: remove once py-eql supports ipv6 for cidrmatch

config = set_eql_config(rule.contents.metadata.get('min_stack_version'))
with eql.parser.elasticsearch_syntax, eql.parser.ignore_missing_functions, config:
cfg = set_eql_config(rule.contents.metadata.get('min_stack_version'))
with eql.parser.elasticsearch_syntax, eql.parser.ignore_missing_functions, eql.parser.skip_optimizations, cfg:
parsed = kql.parse(query) if language == 'kuery' else eql.parse_query(query)

return sorted(set(str(f) for f in parsed if isinstance(f, (eql.ast.Field, kql.ast.Field))))
Expand Down
4 changes: 2 additions & 2 deletions detection_rules/rule_validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,8 @@ class EQLValidator(QueryValidator):
@cached_property
def ast(self) -> eql.ast.Expression:
latest_version = Version.parse(load_current_package_version(), optional_minor_and_patch=True)
config = set_eql_config(str(latest_version))
with eql.parser.elasticsearch_syntax, eql.parser.ignore_missing_functions, config:
cfg = set_eql_config(str(latest_version))
with eql.parser.elasticsearch_syntax, eql.parser.ignore_missing_functions, eql.parser.skip_optimizations, cfg:
return eql.parse_query(self.query)

def text_fields(self, eql_schema: Union[ecs.KqlSchema2Eql, endgame.EndgameSchema]) -> List[str]:
Expand Down

0 comments on commit 2a74f6d

Please sign in to comment.