# Analyzing Kubernetes Audit Logs

> 解析 Kubernetes API server 审计日志（JSON lines 格式），检测 exec 进入 Pod、 Secret 访问、RBAC 修改、特权 Pod 创建以及匿名 API 访问行为。 从审计事件模式构建威胁检测规则。适用于调查 Kubernetes 集群入侵 或构建 k8s 专用 SIEM 检测规则。

- Skill: `killvxk/analyzing-kubernetes-audit-logs` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add killvxk/analyzing-kubernetes-audit-logs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/analyzing-kubernetes-audit-logs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/analyzing-kubernetes-audit-logs

---


# 分析 Kubernetes 审计日志

## 说明

解析 Kubernetes 审计日志文件（JSON lines 格式），检测安全相关事件，
包括未授权访问、权限提升（privilege escalation）和数据外泄（exfiltration）。

```python
import json

with open("/var/log/kubernetes/audit.log") as f:
    for line in f:
        event = json.loads(line)
        verb = event.get("verb")
        resource = event.get("objectRef", {}).get("resource")
        user = event.get("user", {}).get("username")
        if verb == "create" and resource == "pods/exec":
            print(f"Pod exec by {user}")
```

需检测的关键事件：
1. pods/exec 和 pods/attach（进入容器 shell）
2. secrets 访问（get/list/watch）
3. clusterrolebindings 创建（RBAC 权限提升）
4. 特权 Pod 创建
5. 匿名或 system:unauthenticated 访问

## 示例

```python
# 检测 secret 枚举
if verb in ("get", "list") and resource == "secrets":
    print(f"Secret access: {user} -> {event['objectRef'].get('name')}")
```

