clicksiem/clickdetect
GitHub: clicksiem/clickdetect
一款不绑定供应商的通用阈值检测引擎,通过统一规则对接多种数据源并灵活分发告警通知。
Stars: 34 | Forks: 0
Made in :brazil:
# Clickdetect

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, 云计算, 供应商无关, 力导向图, 威胁检测, 安全告警引擎, 安全运营, 安全防御评估, 库, 应急响应, 开源安全工具, 扫描框架, 数据源集成, 无后门, 无锁定, 测试用例, 规则引擎, 请求拦截, 逆向工具, 逆向工程平台, 阈值检测