The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
DevOps · SKILL.md

analyzing-kubernetes-audit-logs

analyzing-kubernetes-audit-logs

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

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: analyzing-kubernetes-audit-logs description: > 解析 Kubernetes API server 审计日志(JSON lines 格式),检测 exec 进入 Pod、 Secret 访问、RBAC 修改、特权 Pod 创建以及匿名 API 访问行为。 从审计事件模式构建威胁检测规则。适用于调查 Kubernetes 集群入侵 或构建 k8s 专用 SIEM 检测规则。 domain: cybersecurity subdomain: container-security tags: [analyzing, kubernetes, audit, logs] version: "1.0" author: mahipal license: Apache-2.0

分析 Kubernetes 审计日志

说明

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

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 访问

示例

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