Documentation ¶
Overview ¶
Package selftests holds selftests related files
Package selftests holds selftests related files ¶
Package selftests holds selftests related files ¶
Package selftests holds selftests related files ¶
Package selftests holds selftests related files ¶
Package selftests holds selftests related files ¶
Package selftests holds selftests related files
Index ¶
- Constants
- func CreateTargetDir() (string, error)
- func NewSelfTestEvent(acc *events.AgentContainerContext, success []eval.RuleID, fails []eval.RuleID, ...) (*rules.Rule, *events.CustomEvent)
- type ChmodSelfTest
- type ChownSelfTest
- type EBPFLessSelfTest
- type OpenSelfTest
- type SelfTest
- type SelfTestEvent
- type SelfTester
- func (t *SelfTester) Close() error
- func (t *SelfTester) EventDiscarderFound(_ *rules.RuleSet, _ eval.Event, _ eval.Field, _ eval.EventType)
- func (t *SelfTester) GetStatus() *api.SelfTestsStatus
- func (t *SelfTester) IsExpectedEvent(rule *rules.Rule, event eval.Event, _ *probe.Probe) bool
- func (t *SelfTester) LoadPolicies(_ []rules.MacroFilter, _ []rules.RuleFilter) ([]*rules.Policy, *multierror.Error)
- func (t *SelfTester) RuleMatch(rule *rules.Rule, event eval.Event) bool
- func (t *SelfTester) RunSelfTest(timeout time.Duration) error
- func (t *SelfTester) SetOnNewPoliciesReadyCb(_ func())
- func (t *SelfTester) Start()
- func (t *SelfTester) Type() string
- func (t *SelfTester) WaitForResult(cb func(success []eval.RuleID, fails []eval.RuleID, ...))
Constants ¶
const ( // DefaultTimeout default timeout DefaultTimeout = 30 * time.Second // PolicyProviderType name of the self test policy provider PolicyProviderType = "selfTesterPolicyProvider" )
Variables ¶
This section is empty.
Functions ¶
func CreateTargetDir ¶
CreateTargetDir creates temporary directory
func NewSelfTestEvent ¶
func NewSelfTestEvent(acc *events.AgentContainerContext, success []eval.RuleID, fails []eval.RuleID, testEvents map[eval.RuleID]*serializers.EventSerializer) (*rules.Rule, *events.CustomEvent)
NewSelfTestEvent returns the rule and the result of the self test
Types ¶
type ChmodSelfTest ¶
type ChmodSelfTest struct {
// contains filtered or unexported fields
}
ChmodSelfTest defines a chmod self test
func (*ChmodSelfTest) GenerateEvent ¶
func (o *ChmodSelfTest) GenerateEvent() error
GenerateEvent generate an event
func (*ChmodSelfTest) GetRuleDefinition ¶
func (o *ChmodSelfTest) GetRuleDefinition() *rules.RuleDefinition
GetRuleDefinition returns the rule
func (*ChmodSelfTest) HandleEvent ¶
func (o *ChmodSelfTest) HandleEvent(event selfTestEvent)
HandleEvent handles self test events
func (*ChmodSelfTest) IsSuccess ¶
func (o *ChmodSelfTest) IsSuccess() bool
IsSuccess return the state of the test
type ChownSelfTest ¶
type ChownSelfTest struct {
// contains filtered or unexported fields
}
ChownSelfTest defines a chown self test
func (*ChownSelfTest) GenerateEvent ¶
func (o *ChownSelfTest) GenerateEvent() error
GenerateEvent generate an event
func (*ChownSelfTest) GetRuleDefinition ¶
func (o *ChownSelfTest) GetRuleDefinition() *rules.RuleDefinition
GetRuleDefinition returns the rule
func (*ChownSelfTest) HandleEvent ¶
func (o *ChownSelfTest) HandleEvent(event selfTestEvent)
HandleEvent handles self test events
func (*ChownSelfTest) IsSuccess ¶
func (o *ChownSelfTest) IsSuccess() bool
IsSuccess return the state of the test
type EBPFLessSelfTest ¶
type EBPFLessSelfTest struct {
// contains filtered or unexported fields
}
EBPFLessSelfTest defines an ebpf less self test
func (*EBPFLessSelfTest) GenerateEvent ¶
func (o *EBPFLessSelfTest) GenerateEvent() error
GenerateEvent generate an event
func (*EBPFLessSelfTest) GetRuleDefinition ¶
func (o *EBPFLessSelfTest) GetRuleDefinition() *rules.RuleDefinition
GetRuleDefinition returns the rule
func (*EBPFLessSelfTest) HandleEvent ¶
func (o *EBPFLessSelfTest) HandleEvent(event selfTestEvent)
HandleEvent handles self test events
func (*EBPFLessSelfTest) IsSuccess ¶
func (o *EBPFLessSelfTest) IsSuccess() bool
IsSuccess return the state of the test
type OpenSelfTest ¶
type OpenSelfTest struct {
// contains filtered or unexported fields
}
OpenSelfTest defines an open self test
func (*OpenSelfTest) GenerateEvent ¶
func (o *OpenSelfTest) GenerateEvent() error
GenerateEvent generate an event
func (*OpenSelfTest) GetRuleDefinition ¶
func (o *OpenSelfTest) GetRuleDefinition() *rules.RuleDefinition
GetRuleDefinition returns the rule
func (*OpenSelfTest) HandleEvent ¶
func (o *OpenSelfTest) HandleEvent(event selfTestEvent)
HandleEvent handles self test events
func (*OpenSelfTest) IsSuccess ¶
func (o *OpenSelfTest) IsSuccess() bool
IsSuccess return the state of the test
type SelfTest ¶
type SelfTest interface { GetRuleDefinition() *rules.RuleDefinition GenerateEvent() error HandleEvent(selfTestEvent) IsSuccess() bool }
SelfTest represent one self test
type SelfTestEvent ¶
type SelfTestEvent struct { events.CustomEventCommonFields Success []eval.RuleID `json:"succeeded_tests"` Fails []eval.RuleID `json:"failed_tests"` TestEvents map[eval.RuleID]*serializers.EventSerializer `json:"test_events"` }
SelfTestEvent is used to report a self test result
func (SelfTestEvent) ToJSON ¶
func (t SelfTestEvent) ToJSON() ([]byte, error)
ToJSON marshal using json format
type SelfTester ¶
SelfTester represents all the state needed to conduct rule injection test at startup
func NewSelfTester ¶
func NewSelfTester(cfg *config.RuntimeSecurityConfig, probe *probe.Probe) (*SelfTester, error)
NewSelfTester returns a new SelfTester, enabled or not
func (*SelfTester) Close ¶
func (t *SelfTester) Close() error
Close removes temp directories and files used by the self tester
func (*SelfTester) EventDiscarderFound ¶
func (t *SelfTester) EventDiscarderFound(_ *rules.RuleSet, _ eval.Event, _ eval.Field, _ eval.EventType)
EventDiscarderFound implement the rule engine interface
func (*SelfTester) GetStatus ¶
func (t *SelfTester) GetStatus() *api.SelfTestsStatus
GetStatus returns the result of the last performed self tests
func (*SelfTester) IsExpectedEvent ¶
IsExpectedEvent sends an event to the tester
func (*SelfTester) LoadPolicies ¶
func (t *SelfTester) LoadPolicies(_ []rules.MacroFilter, _ []rules.RuleFilter) ([]*rules.Policy, *multierror.Error)
LoadPolicies implements the PolicyProvider interface
func (*SelfTester) RunSelfTest ¶
func (t *SelfTester) RunSelfTest(timeout time.Duration) error
RunSelfTest runs the self test and return the result
func (*SelfTester) SetOnNewPoliciesReadyCb ¶
func (t *SelfTester) SetOnNewPoliciesReadyCb(_ func())
SetOnNewPoliciesReadyCb implements the PolicyProvider interface
func (*SelfTester) Start ¶
func (t *SelfTester) Start()
Start implements the policy provider interface
func (*SelfTester) Type ¶
func (t *SelfTester) Type() string
Type return the type of this policy provider
func (*SelfTester) WaitForResult ¶
func (t *SelfTester) WaitForResult(cb func(success []eval.RuleID, fails []eval.RuleID, events map[eval.RuleID]*serializers.EventSerializer))
WaitForResult wait for self test results