Search, create, and tune Elasticsearch SIEM detections from Slack, CLI, or Web
Find a file
2025-04-20 22:26:25 -04:00
src refactor CLI and decouple from handlers 2025-04-20 22:21:00 -04:00
.gitignore att .vscode to .gitignore 2025-04-20 22:24:28 -04:00
fylgja-cli create CLI and sigma stats function in CLI 2025-04-18 17:15:41 -04:00
fylgja-cli.md create CLI and sigma stats function in CLI 2025-04-18 17:15:41 -04:00
fylgja.example.yml update fylgja.example.yml 2025-04-16 18:13:03 -04:00
package-lock.json create CLI and sigma stats function in CLI 2025-04-18 17:15:41 -04:00
package.json create CLI and sigma stats function in CLI 2025-04-18 17:15:41 -04:00
README.md test mirror 2025-04-20 10:52:24 -04:00
requirements.txt first commit 2025-04-07 12:22:06 -04:00
slack.example.yml refactor sigma actions handler into multiple files 2025-04-18 13:26:20 -04:00

fylgja

Manage your Elastic Stack threat detection ruleset through a Slack frontend

Features

  • Sigma integration:
    • Imports the Sigma rule repository to an SQLite database
    • Search rules by keyword
    • Convert rules into SIEM format
    • Upload generated rules to Elastic
  • All without leaving the Slack channel!

Setup

Clone Repo

git clone https://codeberg.org/charlottecroce/fylgja.git
cd fylgja/

Install requirements

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Install sigma-cli elasticsearch plugin

sigma plugin install elasticsearch

Create the database

npm run update-db

YAML Configuration

  • Copy the example config: cp fylgja.example.yml fylgja.yml
  • Edit fylgja.yml and replace the placeholder values with your real API keys

Slack Configuration

  • Copy the example config: cp slack.example.yml slack.yml
  • Edit slack.yml and replace the placeholder values with your real server domain name

This should probably be all included in a setup script or something

Important

While detection rules are stored in Elasticsearch, in my case, they are managed through the Kibana API. This has not been tested on other frontend APIs.