clicksiem/clickdetect

GitHub: clicksiem/clickdetect

一款不绑定供应商的通用阈值检测引擎,通过统一规则对接多种数据源并灵活分发告警通知。

Stars: 34 | Forks: 0

Made in :brazil: # Clickdetect ![clickdetect 运行中](https://raw.githubusercontent.com/clicksiem/clickdetect/main/docs/docs/assets/clickdetect-runner-demo.avif) Clickdetect 是一个通用的告警和检测引擎,支持任何数据源,并可集成任何 webhook。它不依赖特定供应商,没有锁定,能够实现强大且灵活的检测工作流。 请参阅文档:[https://clickdetect.souzo.me](https://clickdetect.souzo.me) ## 核心概念 - Runner.yml:用于配置所有内容的文件 - Detector:根据阈值运行规则的组件 - Rule:具有结构化格式的文件,用于定义数据源分析 - Datasource:执行规则查询的位置,例如数据库或其他 SIEM 引擎 - Webhooks:发送告警的目标位置 - Plugin:可以拦截 Clickdetect 操作(例如 "on_rule_triggered")的脚本 ## 支持的集成 ### Datasources (数据源) - Clickhouse - Loki - VictoriaLogs - PostgreSQL - Elastic - Opensearch ### Webhooks - Generic - DFIR Iris - Forgejo - Email - Microsoft Teams - Slack - Telegram - Discord ### Plugins (插件) - clickagentic:分析您告警的 LLM AI Agent ## 快速开始 首先创建一个 `runner.yml` 文件——请在[文档](https://clickdetect.souzo.me)中查看完整的参考信息。 ### uv 请按照 [https://docs.astral.sh/uv](https://docs.astral.sh/uv) 中的说明安装 uv ``` uv sync --no-dev uv run clickdetect --api ``` ### Docker/Podman #### 本地 ``` 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 ``` ## 选项 | 标志 | 默认值 | 描述 | |---|---|---| | `--api` | off | 启动 REST API 服务器 | | `-p`, `--port` | `8080` | API 服务器的端口 | | `-r`, `--runner` | `runner.yml` | runner 配置文件的路径 | | `--stdin` | off | 从 stdin 读取 runner 配置 | | `--verbose` | off | 详细模式 | | `--reload` | off | 热重载规则 | | `--no-start` | off | 启动时不启动 detectors | | `--list-webhooks` | off | 列出 webhooks | | `--list-datasources` | off | 列出 datasources | | `--list-plugins` | off | 列出所有 plugins | ## Runner 配置 ``` datasource: type: clickhouse host: localhost port: 8123 verify: false username: default password: default database: siem webhooks: generic_webhook: type: generic url: headers: X-Type: test detectors: 5m_detector: name: "5m interval" for: "5m" tenant: 'all' description: "detect rules with 5 min interval" rules: - "" webhooks: - generic_webhook data: var1: '' # 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" ``` 更多关于 runner 的示例请见 [example_rules](./example_rules/) ## Rule 配置 ``` id: "00000000-0000-0000-0000-000000000000" name: "Base rule for help" level: 1 size: ">0" active: false author: - Vinicius Morais group: < group > tags: - data: # variables sent to rules by jinja max_match_time: 5 rule: |- < rule > ``` ## 发布 请查看最新的[发布与更新日志](https://github.com/clicksiem/clickdetect/releases) ## 联系方式 * 电子邮件:me@souzo.me * Matrix:@souzo:matrix.org * Linkedin:[https://www.linkedin.com/in/vinicius-m-a76ba51b5/](https://www.linkedin.com/in/vinicius-m-a76ba51b5/)
标签:AI代理, AMSI绕过, ClickHouse, Discord, Docker, Elasticsearch, LLM安全分析, Loki, Microsoft Teams, Podman, PostgreSQL, Python, Slack, SOAR, Telegram, VictoriaLogs, Webhook, 云计算, 供应商无关, 力导向图, 威胁检测, 安全告警引擎, 安全运营, 安全防御评估, 库, 应急响应, 开源安全工具, 扫描框架, 数据源集成, 无后门, 无锁定, 测试用例, 规则引擎, 请求拦截, 逆向工具, 逆向工程平台, 阈值检测