Skip to content

Commit 024efc4

Browse files
authored
feat(filter): Advanced filter rules configuration (#72)
* filters in configuration files * various adjustments and polishing (emit and kill functions are late-bound, refactor config keys, etc.) * add more unit tests, change filter group merging to type and category * adjustments and bug fixes. Make filter AST evaluator capable of testing IP addresses and integers in lists. Start preparing the filter rules files and benchmarking the filter chain. * operator case-insensitive variants, more filter rules * Various tweaks and adjustments - upgrade Go version to 1.16 - add `exe` param to CreateThread events - some error fixes - filter function refactoring for the validation method - new filter rule definitions * switch yaml.v2 to yaml.v3 * adjust tests * Complete the default filter rules. Modify the validation schema to contemplate null values in filters. * skip crashing filament test * add `uuid` dependency * fix tests and address lint warnings
1 parent 5780a1b commit 024efc4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2720
-139
lines changed

.github/workflows/master.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Install Go
1717
uses: actions/setup-go@v2
1818
with:
19-
go-version: 1.15.x
19+
go-version: 1.16.x
2020
- name: Checkout
2121
uses: actions/checkout@v2
2222
- name: Adjust pkg-config prefix
@@ -99,7 +99,7 @@ jobs:
9999
- name: Install Go
100100
uses: actions/setup-go@v2
101101
with:
102-
go-version: 1.15.x
102+
go-version: 1.16.x
103103
- name: Checkout
104104
uses: actions/checkout@v2
105105
- name: Build
@@ -128,7 +128,7 @@ jobs:
128128
- name: Install Go
129129
uses: actions/setup-go@v2
130130
with:
131-
go-version: 1.15.x
131+
go-version: 1.16.x
132132
- name: Setup msys2
133133
uses: msys2/setup-msys2@v2
134134
with:
@@ -173,7 +173,7 @@ jobs:
173173
- name: Install Go
174174
uses: actions/setup-go@v2
175175
with:
176-
go-version: 1.15.x
176+
go-version: 1.16.x
177177
- name: Setup msys2
178178
uses: msys2/setup-msys2@v2
179179
with:

.github/workflows/pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Install Go
1515
uses: actions/setup-go@v2
1616
with:
17-
go-version: 1.15.x
17+
go-version: 1.16.x
1818
- name: Checkout
1919
uses: actions/checkout@v2
2020
- name: Adjust pkg-config prefix
@@ -82,7 +82,7 @@ jobs:
8282
- name: Install Go
8383
uses: actions/setup-go@v2
8484
with:
85-
go-version: 1.15.x
85+
go-version: 1.16.x
8686
- name: Setup msys2
8787
uses: msys2/setup-msys2@v2
8888
with:
@@ -127,7 +127,7 @@ jobs:
127127
- name: Install Go
128128
uses: actions/setup-go@v2
129129
with:
130-
go-version: 1.15.x
130+
go-version: 1.16.x
131131
- name: Setup msys2
132132
uses: msys2/setup-msys2@v2
133133
with:

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- name: Install Go
1313
uses: actions/setup-go@v2
1414
with:
15-
go-version: 1.15.x
15+
go-version: 1.16.x
1616
- name: Checkout
1717
uses: actions/checkout@v2
1818
- name: Adjust pkg-config prefix
@@ -96,7 +96,7 @@ jobs:
9696
- name: Install Go
9797
uses: actions/setup-go@v2
9898
with:
99-
go-version: 1.15.x
99+
go-version: 1.16.x
100100
- name: Checkout
101101
uses: actions/checkout@v2
102102
- name: Get version

configs/fibratus.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ filament:
9393
# Determines how often event batches are propagated to the filament callback function
9494
#flush-period: 200ms
9595

96+
# =============================== Filters ===============================================
97+
98+
# Contains the definition of filters. Filter expressions are contained in filter group files.
99+
# Filter group files can reside in the local file system or also can be exposed via HTTP url.
100+
filters:
101+
from-paths:
102+
# - C:\Program Files\Fibratus\Config\Filters\Default\default.yml
103+
#from-urls:
104+
# - https://raw.githubusercontent.com/rabbitstack/fibratus/master/configs/filters/default/default.yml
105+
96106
# =============================== Handle ===============================================
97107

98108
# Indicates whether initial handle snapshot is built. The snapshot contains the state of system handles.

0 commit comments

Comments
 (0)