[Security Solution] Blocking vs non-blocking query indices/fields validation #201095
Labels
discuss
Feature:Prebuilt Detection Rules
Security Solution Prebuilt Detection Rules area
Team:Detection Rule Management
Security Detection Rule Management Team
Team:Detections and Resp
Security Detection Response Team
Team:Security Solution Platform
Security Solution Platform Team
Related to: #180407
Summary
There is a question on how we should handle query validation in Prebuilt Rules Customization workflow. With lack of data in ES indices/fields validation would block saving a query in Prebuilt Rules Customization workflow.
Details
We have different types of queries kuery, lucene, EQL and ES|QL. Each one has validation specifics but generally speaking validation could be split in two logical parts
semantic validation
It's something like validation via regex, linting or building an Abstract Syntax Tree. If it fails the string is never a valid query string. Rule execution with such a query string will fail.
indices/fields validation
It's a validation of indices and/or fields used in a query. Such validation fails even for valid queries when relevant data is missing in Elasticsearch.
Considering each query type separately we have the following validations specifics of indices/fields validation
Rule editing form behavior
Currently rule editing page shows a modal when there are query validation errors. But the same approach might lead to worse UX for Prebuilt Rules Customization. Attached videos demonstrate ES|QL query UX
Screen.Recording.2024-11-20.at.10.53.09.mov
Current Prebuilt Rules Customization workflow UI
Screen.Recording.2024-11-20.at.10.52.30.mov
The text was updated successfully, but these errors were encountered: