Skip to content

feat: embed builtin pipelines (ecs_windows, sysmon)#69

Merged
mostafa merged 1 commit into
mainfrom
feat/bundled-pipelines
May 4, 2026
Merged

feat: embed builtin pipelines (ecs_windows, sysmon)#69
mostafa merged 1 commit into
mainfrom
feat/bundled-pipelines

Conversation

@mostafa
Copy link
Copy Markdown
Member

@mostafa mostafa commented May 4, 2026

Summary

  • Embed two common processing pipelines (ecs_windows, sysmon) at compile time via include_str!() so that rsigma eval -p ecs_windows works without external YAML files.
  • ecs_windows maps Sigma/Sysmon Windows fields to Elastic Common Schema (process creation, network, image load, file, registry, DNS, pipes, drivers, remote thread, process access).
  • sysmon adds EventID conditions for logsource routing against raw Sysmon JSON.
  • CLI resolves builtin names before falling back to file paths; builtin names are excluded from daemon file-watcher paths.

Test plan

  • cargo test --workspace --all-features passes (includes 4 new builtin unit tests)
  • cargo clippy --workspace --all-targets --all-features -- -D warnings clean
  • Manual smoke test: rsigma eval -r /tmp/rule.yml -p ecs_windows -e '{"process.command_line":"whoami"}' matches
  • Manual smoke test: rsigma eval -r /tmp/rule.yml -p sysmon -e '{"EventID":1,"CommandLine":"whoami"}' matches
  • CI green

Allow `-p ecs_windows` and `-p sysmon` without external files by
embedding pipeline YAMLs via include_str!(). The CLI resolves builtin
names before falling back to file paths. Builtin pipelines are excluded
from the daemon's file-watcher since they are compiled in.
@mostafa mostafa merged commit d0ed2f1 into main May 4, 2026
9 checks passed
@mostafa mostafa deleted the feat/bundled-pipelines branch May 4, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant