analyzing-kubernetes-audit-logs について
JSON Lines 形式の Kubernetes 監査ログを解析し、セキュリティ上重要なイベントを特定する分析スキルです。インシデント対応担当者や SOC アナリスト、検知ルールを作成するチームを対象としています。
主な機能
- 01JSON Lines 監査ログの解析
- 02pod exec と attach の検出
- 03Secret アクセスの特定
- 04RBAC 変更と特権 Pod の検知
- 05匿名アクセスの発見
活用シーン
- 01Kubernetes セキュリティインシデントの調査
- 02脅威ハンティングと検知ルールの作成
- 03監査モニタリング範囲の検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-kubernetes-audit-logsインストール後、Claude Code で/analyzing-kubernetes-audit-logsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
Kubernetes 監査ログの分析
使用する場面
- Kubernetes の監査ログの分析が必要なセキュリティインシデントを調査する場合
- この分野の検出ルールや脅威ハンティングクエリを作成する場合
- SOC アナリストがこの種の分析に向けた体系的な手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視のカバレッジを検証する場合
前提条件
- コンテナセキュリティの概念とツールに関する知識
- 安全に実行できるテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8 以降
- テスト活動に必要な適切な認可
手順
Kubernetes の監査ログファイル(JSON Lines 形式)を解析し、不正アクセス、権限昇格、 データの持ち出しなど、セキュリティ上重要なイベントを検出します。
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}")
検出する主なイベント:
- pods/exec と pods/attach(コンテナへのシェル接続)
- secrets へのアクセス(get/list/watch)
- clusterrolebindings の作成(RBAC の権限昇格)
- 特権付き Pod の作成
- 匿名または system:unauthenticated によるアクセス
例
# Detect secret enumeration
if verb in ("get", "list") and resource == "secrets":
print(f"Secret access: {user} -> {event['objectRef'].get('name')}")
コメント
Markdown 対応