mirror of
https://github.com/falcosecurity/falco.git
synced 2025-08-11 19:12:12 +00:00
Also add endswith to lua parser (#443)
* Also add endswith to lua parser Add endswith as a symbol so it can be parsed in filter expressions. * Unit test for endswith support Add a test case for endswith support, based on the filename ending with null.
This commit is contained in:
parent
8d60d374f7
commit
7dbdb00109
@ -264,6 +264,13 @@ trace_files: !mux
|
|||||||
- rules/rule_order.yaml
|
- rules/rule_order.yaml
|
||||||
trace_file: trace_files/cat_write.scap
|
trace_file: trace_files/cat_write.scap
|
||||||
|
|
||||||
|
endswith:
|
||||||
|
detect: True
|
||||||
|
detect_level: WARNING
|
||||||
|
rules_file:
|
||||||
|
- rules/endswith.yaml
|
||||||
|
trace_file: trace_files/cat_write.scap
|
||||||
|
|
||||||
invalid_rule_output:
|
invalid_rule_output:
|
||||||
exit_status: 1
|
exit_status: 1
|
||||||
stderr_contains: "Runtime error: Error loading rules:.* Invalid output format 'An open was seen %not_a_real_field': 'invalid formatting token not_a_real_field'. Exiting."
|
stderr_contains: "Runtime error: Error loading rules:.* Invalid output format 'An open was seen %not_a_real_field': 'invalid formatting token not_a_real_field'. Exiting."
|
||||||
|
22
test/rules/endswith.yaml
Normal file
22
test/rules/endswith.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2016-2018 Draios Inc dba Sysdig.
|
||||||
|
#
|
||||||
|
# This file is part of falco.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
- rule: open_ending with null
|
||||||
|
desc: A file ending with null is opened
|
||||||
|
condition: evt.type=open and fd.name endswith null
|
||||||
|
output: "An open was seen (command=%proc.cmdline)"
|
||||||
|
priority: WARNING
|
@ -265,7 +265,8 @@ local G = {
|
|||||||
symb("contains") / "contains" +
|
symb("contains") / "contains" +
|
||||||
symb("icontains") / "icontains" +
|
symb("icontains") / "icontains" +
|
||||||
symb("glob") / "glob" +
|
symb("glob") / "glob" +
|
||||||
symb("startswith") / "startswith";
|
symb("startswith") / "startswith" +
|
||||||
|
symb("endswith") / "endswith";
|
||||||
InOp = kw("in") / "in";
|
InOp = kw("in") / "in";
|
||||||
PmatchOp = kw("pmatch") / "pmatch";
|
PmatchOp = kw("pmatch") / "pmatch";
|
||||||
UnaryBoolOp = kw("not") / "not";
|
UnaryBoolOp = kw("not") / "not";
|
||||||
|
Loading…
Reference in New Issue
Block a user