Skip to content

[FR] Switch Default Behavior to not allow uppercase KQL Keywords #3574

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

eric-forte-elastic
Copy link
Contributor

Issues

#3573

Summary

We would like this uppercase conversion feature to be available for customers but internally we do not want it to be enabled by default.

See #3568 for more context. There should be 6 instances where we use kql.parse for creating/importing/testing/validation that we wish to revert. The only remaining case we want to keep is the unit test to make sure conversion functions as expected.

Testing

  1. Modify an existing kuery rule to use uppercase keywords.
    E.g. modify the query for rules/integrations/gcp/defense_evasion_gcp_firewall_rule_created.toml to:
query = '''
event.dataset:gcp.audit AND event.action:(*.compute.firewalls.insert OR google.appengine.*.Firewall.Create*Rule)
'''
  1. Run view rule for that rule.
    E.g. python -m detection_rules view-rule rules/integrations/gcp/defense_evasion_gcp_firewall_rule_created.toml
  2. Run Unit Tests
  3. Create a rule using python -m detection_rules create-rule with capital keywords
    E.g. event.dataset:gcp.audit AND event.action:(*.compute.firewalls.insert OR google.appengine.*.Firewall.Create*Rule)
  4. Import a kuery rule with capital keywords via python -m detection_rules import-rules
    E.g.
    20240314T190337L.ndjson.txt

If all of these fail, then the behavior has been reverted successfully.

Copy link
Contributor

@brokensound77 brokensound77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Copy link
Contributor

@Mikaayenson Mikaayenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm!

@eric-forte-elastic eric-forte-elastic merged commit fbb6df5 into main Apr 5, 2024
@eric-forte-elastic eric-forte-elastic deleted the 3573-fr-switch-default-behavior-to-not-allow-uppercase-kql-keywords branch April 5, 2024 00:27
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
protectionsmachine pushed a commit that referenced this pull request Apr 5, 2024
(cherry picked from commit fbb6df5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport: auto python Internal python for the repository Team: TRADE
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FR] Switch Default Behavior to not allow uppercase KQL Keywords
3 participants