jestasecurity/thumper

GitHub: jestasecurity/thumper

Thumper 是一个自托管蜜标平台,通过在环境中植入虚假凭据来检测 Shai-Hulud npm 蠕虫等供应链攻击行为。

Stars: 54 | Forks: 1

Thumper

Plant fake-but-realistic credentials where the Shai-Hulud npm supply-chain worm scans - and get alerted the instant one is read.
The tokens authenticate to nothing. A read is the signal.

Wesbite | Get started »

PRs welcome License PRs welcome

Thumper is your self-hosted honeytoken platform for trapping attackers inside your environment. You create tripwires, distribute them across your fleet, and each machine plants unique bait. When an attacker-controlled process touches the bait, Thumper immediately triggers an alert.
It's built and maintained by Jesta under the Apache 2.0 license.

🚀 快速开始

整个技术栈被打包为 单个 Docker 镜像: ``` docker compose up --build # → http://localhost:8000 ``` 就是这样。打开 dashboard,创建一个 tripwire,然后部署即可。
从源码运行(开发模式) ``` # backend (Python 3.10+) pip install -e . uvicorn thumper.main:app --reload --app-dir server # → http://localhost:8000 # UI (单独的终端) - Vite 将 /api 代理到 backend cd ui && npm install && npm run dev # → http://localhost:5173 ```
在 Kubernetes 上部署(Helm) Helm chart 位于 [`deploy/helm/thumper`](deploy/helm/thumper)。首先从 `Dockerfile` 构建并推送镜像,然后执行: ``` helm install thumper ./deploy/helm/thumper \ --set image.repository=ghcr.io/jestasecurity/thumper \ --set secrets.enrollToken=$(openssl rand -hex 24) \ --set secrets.installToken=$(openssl rand -hex 24) \ --set config.baseUrl=https://thumper.example.com ``` 默认在 PVC 上使用 SQLite(单副本)。设置 `externalDatabase.url` 以使用 Postgres/MySQL。查看 [`values.yaml`](deploy/helm/thumper/values.yaml) 了解所有选项。

架构

Thumper 包含三个组件——一个 **server**、一个 **dashboard** 和一个 **endpoint agent**——打包为一个单独的 Docker 镜像。你创建 tripwire,将它们部署到各个 endpoint,每台机器都会植入独特的诱饵。当凭据被读取时,agent 会发送一个签名的 callback,server 随后将其分发到你配置的告警插件。 有关完整的架构参考,请参阅 [docs/architecture.md](docs/architecture.md)。

插件

告警和部署都是可插拔的——在 `plugins/{alert,deploy}/` 下放置一个包含 `manifest.yaml` 和 `plugin.py` 的目录,重启 server,它就会连同生成的配置表单一起显示在 dashboard 中。 - **Alert 插件** 将触发的 tripwire 事件传递给外部系统 - **Deploy 插件** 将安装命令分发到各个机器 有关完整指南,请参阅 [docs/plugins.md](docs/plugins.md)。

🌱 贡献

请参阅 CONTRIBUTING.md

💫 贡献者

contributors
标签:Docker, StruQ, 子域名突变, 安全告警, 安全防御评估, 时间线生成, 暗色界面, 测试用例, 蜜标, 蜜罐, 证书利用, 请求拦截, 逆向工具