Jacklevi02/Kuvera-DFIR

GitHub: Jacklevi02/Kuvera-DFIR

一款 Kubernetes 原生的数字取证与应急响应工具,通过 eBPF 传感器持续捕获并加密保存容器证据,解决云原生环境下入侵证据转瞬即逝的取证难题。

Stars: 1 | Forks: 0

# Kuvera [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Status: Pre-alpha](https://img.shields.io/badge/Status-Pre--alpha-orange.svg)](#) ## Kuvera 的功能 当您的 Kubernetes 集群中的容器遭到入侵时,您只有几秒钟——而不是几小时——来在证据消失前采取行动。容器会消亡。Pod 会重新调度。Node 会被自动缩放掉。 Kuvera 是一个适用于 Kubernetes 的常驻式取证飞行记录仪。它在每个节点上运行一个 eBPF 传感器,持续捕获进程、文件和网络事件。当您(或自动化检测系统)针对某个 Pod 触发取证捕获时,Kuvera 会冻结容器,对其状态进行快照,利用加密的证据保管链打包每一条证据,并为您提供一条精确记录所发生事件的统一时间线。 它专为需要从云原生环境中获取法庭可用证据的事件响应人员、SOC 分析师和 DFIR 顾问而构建。 ## 核心能力 - **常驻式 eBPF 传感器** — 持续、低开销地捕获作用域限定于容器的 syscall、文件访问和网络事件 - **单命令捕获** — 通过 `kubectl create -f capture.yaml` 在目标 Pod 上触发证据收集 - **证据保管链** — 对每个工件进行 SHA-256 哈希处理、签名,并记录在仅追加的透明日志中 - **统一时间线** — 将内核事件、容器事件、Kubernetes 审计日志和云审计日志合并到单一的调查员视图中 - **自主管理** — 完全在您的集群内部运行;您的证据绝不会离开您的环境 - **可插拔分析器** — 通过自定义 YARA 规则、Volatility 插件或 IOC feed 进行扩展 ## 状态 Pre-alpha。处于活跃的早期开发阶段。尚未达到生产可用状态。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Kubernetes Cluster │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ Node 1 │ │ Node 2 │ │ Node N │ │ │ │ ┌────────┐ │ │ ┌────────┐ │ │ ┌────────┐ │ │ │ │ │ Sensor │ │ │ │ Sensor │ │ │ │ Sensor │ │ DaemonSet │ │ │ │ (eBPF) │ │ │ │ (eBPF) │ │ │ │ (eBPF) │ │ (Go) │ │ │ └────┬───┘ │ │ └────┬───┘ │ │ └────┬───┘ │ │ │ └──────┼─────┘ └──────┼─────┘ └──────┼─────┘ │ │ │ │ │ │ │ └────────────────┴────────────────┘ │ │ │ │ │ NATS JetStream │ │ │ │ │ ┌────────────────┼────────────────┐ │ │ │ │ │ │ │ ┌────▼─────┐ ┌─────▼──────┐ ┌────▼──────┐ │ │ │ Operator │ │ Analyzer │ │ Console │ │ │ │ (Go) │ │ Workers │ │ API (Go) │ │ │ │ │ │ (Python) │ │ │ │ │ └────┬─────┘ └─────┬──────┘ └────┬──────┘ │ │ │ │ │ │ │ └────────────────┼────────────────┘ │ │ │ │ │ ┌───────────┼───────────┐ │ │ │ │ │ │ │ ┌────▼────┐ ┌────▼───┐ ┌────▼─────┐ │ │ │SeaweedFS│ │Postgres│ │OpenSearch│ │ │ │ (blobs) │ │(meta) │ │(timeline)│ │ │ └─────────┘ └────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────┐ │ Web Console │ │ (TypeScript) │ └──────────────┘ ``` ## 技术栈 - **Sensor:** Go + `cilium/ebpf` - **Operator:** Go + Kubebuilder - **API gateway:** Go (gRPC + REST) - **Analyzer workers:** Python (Volatility3, YARA, 自定义) - **Console:** TypeScript, React, Vite, shadcn/ui, TanStack Query - **Storage:** SeaweedFS (blobs), PostgreSQL + TimescaleDB (metadata), OpenSearch (搜索) - **Messaging:** NATS JetStream - **Deployment:** Helm ## 快速开始(目标体验) ``` # 将 Kuvera 安装到您的 cluster helm install kuvera oci://ghcr.io/kuvera/charts/kuvera \ --namespace kuvera-system --create-namespace # 验证 sensor DaemonSet 是否在 每个 node 上运行 kubectl get ds -n kuvera-system # 在可疑 pod 上触发 forensic capture cat <
标签:Docker镜像, Web截图, 子域名突变, 容器安全, 库, 应急响应, 数字取证, 日志审计, 测试用例, 自动化脚本, 逆向工具