docs: describe how the preStop exec cache and network event dedup affect the runtime rules

Abierto Apto para principiantes
#1,093 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Documentación
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go

Línea de trabajo

Lee las notas existentes sobre deduplicación y configuración en docs/ y, después, comprueba el comportamiento indicado en pkg/rulemanager/cel/libraries/containerprofile/exec.go y pkg/dedupcache/keys.go. Añade documentación que cubra el disparador preStop, la ventana de cinco minutos, las funciones CEL afectadas, las claves de evento y sus TTL, y qué se omite en los eventos deduplicados. La tarea estará terminada cuando los autores de reglas puedan encontrar en la documentación ambos comportamientos y sus efectos en tiempo de ejecución.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

Two behaviours of the rule engine aren't documented, and both change which events the runtime rules see. They're intended, but someone writing or tuning rules has no way to know about them except by reading the code.

  1. preStop exec cache. isExecInPodSpec (pkg/rulemanager/cel/libraries/containerprofile/exec.go) marks a container's preStop hook as triggered when an executed path appears in its lifecycle.preStop.exec.command. While it's marked, which lasts DefaultPreStopCacheTTL (5 minutes), was_executed treats every exec in that container as expected. With a common hook like ["/bin/sh", "-c", "sleep 5"], this window starts whenever /bin/sh runs, not only when the pod terminates. That's worth stating next to the rules that use ap.was_executed / cp.was_executed.
  2. Network event dedup. ComputeNetworkKey(mntns, pid, dstAddr, dstPort, proto) (pkg/dedupcache/keys.go) has no packet direction, and network events dedup for 5s. So within that window, a second event with the same process, remote address, port and protocol is dropped before the rule manager, profile learning and malware scan see it.

Proposal

Add a short section, for example in docs/ next to the existing dedup and configuration notes, that explains:

  • the preStop exec window: what triggers it, how long it lasts, and which CEL functions it affects;
  • the dedup keys and TTLs per event type, and what a deduplicated event skips.

I'm happy to write the doc PR if that sounds useful, and to adjust it to how you'd like these described.

Lenguaje dominante
Go
Estrellas
39
Forks
42
Merge medio
1 d 18 h
PR fusionados (30 d)
40

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de kubescape/node-agent

Todos los issues de kubescape/node-agent

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.