diff --git a/src/detections/rule/matchers.rs b/src/detections/rule/matchers.rs index 074986c0..8dc94bc1 100644 --- a/src/detections/rule/matchers.rs +++ b/src/detections/rule/matchers.rs @@ -348,6 +348,7 @@ impl LeafMatcher for DefaultMatcher { // yamlにnullが設定されていた場合 if self.re.is_none() { + // レコード内に対象のフィールドが存在しなければ検知したものとして扱う for v in self.key_list.iter() { if recinfo.get_value(v).is_none() { return true; @@ -356,6 +357,10 @@ impl LeafMatcher for DefaultMatcher { return false; } + if event_value.is_none() { + return false; + } + let event_value_str = event_value.unwrap(); if self.key_list.is_empty() { // この場合ただのgrep検索なので、ただ正規表現に一致するかどうか調べればよいだけ