Skip to main content

Generic SIEM engine detector

Project description

Made in :brazil:


Clickdetect

clickdetect running

Clickdetect is a generic alerting and detection engine that supports any data source and integrates with any webhook. It is vendor-agnostic, with no lock-in, and enables powerful, flexible detection workflows.

Follow the doc: https://clickdetect.souzo.me

Core Concepts

  • Runner.yml: The file where you configure everything
  • Detector: Component that runs rules based on thresholds
  • Rule: File with structured format to define datasource analysis
  • Datasource: Where rule queries are executed, like a database or another SIEM engine
  • Webhooks: Where alerts are sent
  • Plugin: Script that can intercept Clickdetect actions like "on_rule_triggered"

Supported Integrations

Datasources

  • Clickhouse
  • Loki
  • VictoriaLogs
  • PostgreSQL
  • Elastic
  • Opensearch

Webhooks

  • Generic
  • DFIR Iris
  • Forgejo
  • Email
  • Microsoft Teams
  • Slack
  • Telegram
  • Discord

Plugins

  • clickagentic: LLM AI Agent that analyzes your alerts

Quick Start

Start by creating a runner.yml file — see the full reference in the documentation.

uv

Follow uv installation in https://docs.astral.sh/uv

uv sync --no-dev
uv run clickdetect --api

Docker/Podman

Local

podman build -t clickdetect .
podman run -v ./runner.yml:/app/runner.yml -p 8080 clickdetect --api -p 8080

GitHub Packages

podman run -v ./runner.yml:/app/runner.yml -p 8080 ghcr.io/clicksiem/clickdetect:latest --api -p 8080

Options

Flag Default Description
--api off Start the REST API server
-p, --port 8080 Port for the API server
-r, --runner runner.yml Path to the runner configuration file
--stdin off Read the runner configuration from stdin
--verbose off Verbose mode
--reload off Hot reload rules
--no-start off Do not start detectors on start
--list-webhooks off List webhooks
--list-datasources off List datasources
--list-plugins off List all plugins

Runner Configuration

datasource:
    type: clickhouse
    host: localhost
    port: 8123
    verify: false
    username: default
    password: default
    database: siem

webhooks:
    generic_webhook:
        type: generic
        url: <webhook_url>
        headers:
          X-Type: test

detectors:
    5m_detector:
        name: "5m interval"
        for: "5m"
        tenant: 'all' 
        description: "detect rules with 5 min interval"
        rules:
            - "<your rule path>"
        webhooks:
            - generic_webhook
        data:
          var1: '<var>' # variables to send
plugins:
  clickagentic: # plugin id
    provider: 'openai' # provider: openai, anthropic, google, huggingface, ollama, openrouter, deepseek
    model: 'gpt-5.2' # get model from your provider
    token: 'xxx'
    from_level: 10 # only run for alerts with alert level >= 10
    ids:
      - "id1"

More example of runner in example_rules

Rule Configuration

id: "00000000-0000-0000-0000-000000000000"
name: "Base rule for help"
level: 1
size: ">0"
active: false
author: 
    - Vinicius Morais <me@souzo.me>
group: < group >
tags: 
    - <tags>
data: # variables sent to rules by jinja
    max_match_time: 5
rule: |-
    < rule >

Release

See the latest releases and changelog

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clickdetect-1.12.0.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clickdetect-1.12.0-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file clickdetect-1.12.0.tar.gz.

File metadata

  • Download URL: clickdetect-1.12.0.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for clickdetect-1.12.0.tar.gz
Algorithm Hash digest
SHA256 1acf310a8174101d413b713801575d7c0f055f399bd1b1ba6f96956f5d37bc89
MD5 f9f68accf038b33bead9e931fe01477c
BLAKE2b-256 9662aff1cb4e81fe45c07a010bd35b214d8638ba631a28a88eecca533677be98

See more details on using hashes here.

File details

Details for the file clickdetect-1.12.0-py3-none-any.whl.

File metadata

  • Download URL: clickdetect-1.12.0-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for clickdetect-1.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d8c5204e77506e49e5f9eca6465db5be1dd59c3151d98fc806e3453e496f503
MD5 0ca776d3b90577c8c9a01a659fec233a
BLAKE2b-256 9006d9f1f28581bb2f57d27392d9f2944999635e5f580044c59dd5d030c540d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page