Skip to main content

Generic SIEM engine detector

Project description

Made in :brazil: | GitHub Repo stars | GitHub commit activity


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.13.0.tar.gz (24.5 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.13.0-py3-none-any.whl (44.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: clickdetect-1.13.0.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.13.0.tar.gz
Algorithm Hash digest
SHA256 83baec8f0b221e84d58231e88213e53aa9d268156476cae61d44903b523b70c2
MD5 5a062b96f4534d66ccc13e87d8b9fea8
BLAKE2b-256 b179afd096baf662ee898cfc9f010282dd30c5bedcc75b131d20138affae0c8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: clickdetect-1.13.0-py3-none-any.whl
  • Upload date:
  • Size: 44.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","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.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2f0fef345a1591b3bce729094b6066e160835b001e68a36606cd456daa0fda9
MD5 9aa7da00c10f2761b39229120add76d2
BLAKE2b-256 1680eadd0986000b177180f18789e686eee8c513765583edf9cb8293708cd629

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