Skip to content

Commit

Permalink
chore: make tracee-rules mode work with sigs of sigs, decoupling sigs…
Browse files Browse the repository at this point in the history
… from initialize package
  • Loading branch information
AsafEitani committed Sep 22, 2024
1 parent bd0dea3 commit 894f514
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 9 deletions.
8 changes: 5 additions & 3 deletions cmd/tracee-rules/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"context"
"errors"
"fmt"
"github.com/aquasecurity/tracee/pkg/cmd/initialize/initialize_sigs"
"github.com/aquasecurity/tracee/pkg/events"
"io"
"os"
"os/signal"
Expand All @@ -27,6 +29,8 @@ const (
signatureBufferFlag = "sig-buffer"
)

var inputs engine.EventSources

func main() {
app := &cli.App{
Name: "tracee-rules",
Expand Down Expand Up @@ -116,8 +120,6 @@ func main() {
return nil
}

var inputs engine.EventSources

opts, err := parseTraceeInputOptions(c.StringSlice("input-tracee"))
if err == errHelp {
printHelp()
Expand All @@ -142,7 +144,7 @@ func main() {
if err != nil {
return err
}

_ = initialize_sigs.CreateEventsFromSignatures(events.StartSignatureID, sigs)
config := engine.Config{
SignatureBufferSize: c.Uint(signatureBufferFlag),
Signatures: sigs,
Expand Down
11 changes: 10 additions & 1 deletion cmd/tracee-rules/output.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,17 @@ func setupOutput(w io.Writer, webhook string, webhookTemplate string, contentTyp

go func(w io.Writer, tWebhook, tOutput *template.Template) {
for res := range out {
switch res.Event.Payload.(type) {
switch e := res.Event.Payload.(type) {
case trace.Event:
select {
case _, ok := <-inputs.Tracee:
if !ok {
logger.Debugw("Tracee input channel closed")
return
}
default:
inputs.Tracee <- e.ToProtocol()
}
if err := tOutput.Execute(w, res); err != nil {
logger.Errorw("Writing to output: " + err.Error())
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/tracee/cmd/list.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package cmd

import (
"github.com/aquasecurity/tracee/pkg/cmd/initialize/initialize_sigs"
"os"

"github.com/open-policy-agent/opa/compile"
"github.com/spf13/cobra"

"github.com/aquasecurity/tracee/pkg/cmd"
"github.com/aquasecurity/tracee/pkg/cmd/initialize"
"github.com/aquasecurity/tracee/pkg/events"
"github.com/aquasecurity/tracee/pkg/logger"
"github.com/aquasecurity/tracee/pkg/signatures/signature"
Expand Down Expand Up @@ -53,7 +53,7 @@ var listCmd = &cobra.Command{
os.Exit(1)
}

initialize.CreateEventsFromSignatures(events.StartSignatureID, sigs)
initialize_sigs.CreateEventsFromSignatures(events.StartSignatureID, sigs)

includeSigs := true
wideOutput := c.Flags().Lookup("wide").Value.String() == "true"
Expand Down
3 changes: 2 additions & 1 deletion pkg/cmd/cobra/cobra.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package cobra

import (
"errors"
"github.com/aquasecurity/tracee/pkg/cmd/initialize/initialize_sigs"

"github.com/spf13/cobra"
"github.com/spf13/viper"
Expand Down Expand Up @@ -67,7 +68,7 @@ func GetTraceeRunner(c *cobra.Command, version string) (cmd.Runner, error) {
return runner, err
}

sigNameToEventId := initialize.CreateEventsFromSignatures(events.StartSignatureID, sigs)
sigNameToEventId := initialize_sigs.CreateEventsFromSignatures(events.StartSignatureID, sigs)

// Initialize a tracee config structure

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package initialize
package initialize_sigs

import (
"strconv"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package initialize
package initialize_sigs

import (
"testing"
Expand Down

0 comments on commit 894f514

Please sign in to comment.