[streamalert][bug] Fix to allow nested structured data and normalization #339
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
to @ryandeivert
cc @mime-frame
This code fixes the problem of having nested data in normalized fields and not be detected by the rules as datatype. Resolves: #333
Change
The method
match_types
now sets the value ofrecord['normalized_types']
instead of returning it. Given that the method was being invoked recursively, the impacted field was not updated correctly and the nested normalized fields that we were interested on, they were not set. With this fix the existing rules work as expected while other new rules can be implemented and the normalization can be used with nested fields.Testing
Tested for existing rules using
python manage.py lambda test --processor all
Added coverage for this in the existing test
tests/unit/stream_alert_rule_processor/test_rules_engine.py
and checked with the following command: