Skip to content

Commit 1926d1b

Browse files
YoannGhsafchain
andauthored
[Backport 7.72.x] [CWS] fix windows event category (#42053)
Backport d850709 from #42040. ___ ### What does this PR do? Fix & improve the category test for Windows. ### Motivation Fix bug preventing system-probe from loading FIM security rules on Windows. ### Describe how you validated your changes ### Additional Notes Co-authored-by: safchain <safchain@gmail.com>
1 parent 982fd3c commit 1926d1b

4 files changed

Lines changed: 35 additions & 3 deletions

File tree

pkg/security/secl/model/category.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ func GetEventTypeCategory(eventType eval.EventType) EventCategory {
128128

129129
// FIM
130130
case
131+
// linux
131132
FileChmodEventType.String(),
132133
FileChownEventType.String(),
133134
FileOpenEventType.String(),
@@ -148,7 +149,17 @@ func GetEventTypeCategory(eventType eval.EventType) EventCategory {
148149
StatEventType.String(),
149150
FileFsmountEventType.String(),
150151
FileMoveMountEventType.String(),
151-
FileOpenTreeEventType.String():
152+
FileOpenTreeEventType.String(),
153+
// windows
154+
CreateNewFileEventType.String(),
155+
DeleteFileEventType.String(),
156+
WriteFileEventType.String(),
157+
CreateRegistryKeyEventType.String(),
158+
OpenRegistryKeyEventType.String(),
159+
SetRegistryKeyValueEventType.String(),
160+
DeleteRegistryKeyEventType.String(),
161+
ChangePermissionEventType.String():
162+
152163
return FIMCategory
153164
}
154165

pkg/security/secl/model/events.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ const (
159159
CustomEventType EventType = iota
160160

161161
// CreateNewFileEventType event
162-
CreateNewFileEventType
162+
CreateNewFileEventType EventType = iota
163163
// DeleteFileEventType event
164164
DeleteFileEventType
165165
// WriteFileEventType event
@@ -175,6 +175,11 @@ const (
175175
// ChangePermissionEventType event
176176
ChangePermissionEventType
177177

178+
// FirstWindowsEventType is the first Windows event type
179+
FirstWindowsEventType = CreateNewFileEventType
180+
// LastWindowsEventType is the last Windows event type
181+
LastWindowsEventType = ChangePermissionEventType
182+
178183
// MaxAllEventType is used internally to get the maximum number of events.
179184
MaxAllEventType
180185
)

pkg/security/secl/model/events_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,17 @@ func TestEventTypesHaveValidCategories(t *testing.T) {
2626
}
2727
}
2828

29+
// Iterate through all event types between FirstWindowsEventType and LastWindowsEventType
30+
for eventType := FirstWindowsEventType; eventType <= LastWindowsEventType; eventType++ {
31+
// Get the category for this event type
32+
category := GetEventTypeCategory(eventType.String())
33+
34+
// Check if the category is unknown (invalid)
35+
if category == UnknownCategory {
36+
eventTypesWithoutCategory = append(eventTypesWithoutCategory, eventType)
37+
}
38+
}
39+
2940
// If there are event types without valid categories, fail the test with the list
3041
if len(eventTypesWithoutCategory) > 0 {
3142
t.Errorf("The following event types do not have a valid category defined:\n")

pkg/security/seclwin/model/events.go

Lines changed: 6 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)