Kube Audit Kit - Read-Only Kubernetes Security Audit Toolkit
Performs read-only Kubernetes security audits by exporting resources, sanitizing metadata, grouping applications by topology, and generating PSS/NSA-compliant audit reports. Use when the user requests auditing Kubernetes clusters, Namespaces, securit
Free to install β no account needed
Copy the command below and paste into your agent.
Instant access β’ No coding needed β’ No account needed
What you get in 5 minutes
- Full skill code ready to install
- Works with 4 AI agents
- Lifetime updates included
Description
--- name: kube-audit-kit description: Performs read-only Kubernetes security audits by exporting resources, sanitizing metadata, grouping applications by topology, and generating PSS/NSA-compliant audit reports. Use when the user requests auditing Kubernetes clusters, Namespaces, security reviews, or configuration analysis. user-invocable: true allowed-tools: Read, Write, Bash(python:*), Bash(uv:*), Bash(kubectl:*), Bash(export:*) examples: - "Run a security audit for the payment namespace in prod-cluster" - "Check whether the backend apps in staging meet PSS standards" - "Analyze sensitive data leakage risk for all resources in the development namespace" - "Generate a full audit report for the default namespace in test-cluster" - "review k8s cluster security configuration" - "kubernetes security audit for production workload" author: crazygit repository: https://github.com/crazygit/kube-audit-kit --- # Kube Audit Kit - Read-Only Kubernetes Security Audit Toolkit This Skill uses a standardized, scripted workflow to export Kubernetes cluster resources in **read-only** mode, sanitize them, group applications, and perform a deep security audit. The entire process strictly follows the **read-only** principle and does not modify any cluster state. ## Core Principles - **Read-only**: only `get/list` operations, never `apply/patch/delete` - **Full coverage**: dynamically discover all resource types without hardcoding lists - **Scripted**: core logic runs through Python scripts for stability ## Quick Start ### Prerequisites 1. **Environment setup**: ```bash uv sync ``` See [SETUP.md](SETUP.md) for details. 2. **Verify kubectl**: ```bash kubectl config get-contexts ``` ### Run an audit When a user requests an audit, follow these steps strictly: **Set the output directory first** (important!): ```bash # Set the output directory to output/ under the current working directory # This ensures output files are generated in the user's working directory, not the SKILL install directory export KUBE_AUDIT_OUTPUT="$(pwd)/output" ``` **Use the progress checklist**: ``` Audit progress: - [ ] Step 1: Export - Dynamic discovery and full resource export - [ ] Step 2: Sanitize - Remove metadata and status fields - [ ] Step 3: Group - Associate applications by workload topology - [ ] Step 4: Audit - Dual-layer security audit ``` #### Step 1: Export ```bash # Keep the environment variable effective for each command export KUBE_AUDIT_OUTPUT="$(pwd)/output" && \ uv run python scripts/export.py --context <context> --namespace <namespace> ``` Output: `{OUTPUT_BASE}/export/` #### Step 2: Sanitize ```bash export KUBE_AUDIT_OUTPUT="$(pwd)/output" && \ uv run python scripts/sanitize.py --context <context> --namespace <namespace> ``` Output: `{OUTPUT_BASE}/sanitize/`, `{OUTPUT_BASE}/sanitize_fields/` #### Step 3: Group ```bash export KUBE_AUDIT_OUTPUT="$(pwd)/output" && \ uv run python scripts/group_apps.py --context <context> --namespace <namespace> ``` Output: `{OUTPUT_BASE}/group/`, `{OUTPUT_BASE}/ungrouped_resources.txt` #### Step 4: Audit **Phase 1 - Script-based static scan**: ```bash export KUBE_AUDIT_OUTPUT="$(pwd)/output" && \ uv run python scripts/audit.py --context <context> --namespace <namespace> ``` Output: - `{OUTPUT_BASE}/audit/audit_results.json` - structured audit results - `{OUTPUT_BASE}/audit/configmap_to_secret.csv` - ConfigMap sensitive data - `{OUTPUT_BASE}/audit/secret_to_configmap.csv` - Secret non-sensitive data - `{OUTPUT_BASE}/audit/rbac_issues.csv` - RBAC audit results - `{OUTPUT_BASE}/audit/network_security.csv` - network security audit results - `{OUTPUT_BASE}/audit/hostpath_mounts.csv` - hostPath mount findings - `{OUTPUT_BASE}/audit/security_policies.csv` - seccomp/AppArmor results - `{OUTPUT_BASE}/audit/pdb_and_secrets.csv` - PDB/Secret/ServiceAccount results **Phase 2 - AI expert deep review**: AI independently reviews results without relying on phase 1 output: 1. **Independent analysis**: traverse `{OUTPUT_BASE}/group/*/` and read all original YAML files 2. **Deep review**: identify risks not covered by script rules - business logic risks (e.g., plaintext private keys, hardcoded passwords) - architecture risks (e.g., missing NetworkPolicy, overly broad RBAC) - configuration drift risks (e.g., `latest` images, missing resource limits) 3. **Supplement findings**: if sensitive data was missed, append to the CSV files 4. **Report summary**: merge phase 1 findings with AI analysis into `{OUTPUT_BASE}/audit/audit_report.md` **Report template**: see `audit_report_template.md` in the same directory. **Key requirements**: - Must read original YAML files, not just audit_results.json - Every application must have specific analysis; avoid vague statements like "not reviewed" - If script misses sensitive data, update the CSV files to keep data complete ## Output Structure ``` output/{context}/{namespace}/ βββ export/ # raw export data βββ sanitize/ # sanitized data βββ sanitize_fields/ # sanitization records βββ group/ # application grouping β βββ {app_name}/ β βββ *.yaml # grouped resource files β βββ config_usage.json # CM/Secret usage record βββ ungrouped_resources.txt # orphan resources βββ audit/ # audit results βββ audit_results.json # static analysis results βββ configmap_to_secret.csv # sensitive data in ConfigMaps βββ secret_to_configmap.csv # non-sensitive data in Secrets βββ rbac_issues.csv # RBAC audit results βββ network_security.csv # network security audit results βββ hostpath_mounts.csv # hostPath mount findings βββ security_policies.csv # seccomp/AppArmor results βββ pdb_and_secrets.csv # PDB/Secret/ServiceAccount results βββ audit_report.md # final AI-generated report ``` ## Reference Docs - **[QUICKSTART.md](QUICKSTART.md)**: 30-second quick start - **[WORKFLOW.md](WORKFLOW.md)**: full workflow and implementation details - **[SETUP.md](SETUP.md)**: environment setup and dependency installation - **[EXAMPLES.md](EXAMPLES.md)**: output examples and typical scenarios ## User Interaction Conventions ### Planning Phase ``` Received. Target: Context `{ctx}`, Namespace `{ns}`. Execution plan: 1. Set the output directory environment variable: export KUBE_AUDIT_OUTPUT="$(pwd)/output" 2. [Export] Dynamic discovery and full resource export β scripts/export.py 3. [Sanitize] Remove metadata and status fields β scripts/sanitize.py 4. [Group] Associate applications by workload topology β scripts/group_apps.py 5. [Audit] Dual-layer security audit (static scan + AI expert review) β scripts/audit.py Output directory: $(pwd)/output/{ctx}/{ns}/ Start? ``` ### Execution Phase Output a summary after each step (each command must include the environment variable): ``` β [Export completed] Scanned 32 resource types, exported 150 YAMLs Output: output/{ctx}/{ns}/export/ ``` ### Results Phase ``` β [Audit completed] Static report and AI expert analysis merged π Audit stats: - Applications: 12 - Critical risks: X (see audit_results.json) - Warning risks: Y - Info recommendations: Z π Output directory: output/{ctx}/{ns}/ π Full audit report: output/{ctx}/{ns}/audit/audit_report.md β οΈ Security reminder: the output/ directory contains decrypted Secret data. Please delete it securely after the audit! ``` ## Path Conventions **{OUTPUT_BASE}** = `output/{context}/{namespace}/` ### Output path mechanism All paths are computed by `get_output_paths()` in `scripts/utils.py`, with the following precedence: 1. **Environment variable `KUBE_AUDIT_OUTPUT`** (recommended) - Set in SKILL.md before running: `export KUBE_AUDIT_OUTPUT="$(pwd)/output"` - Ensures output files are created in the **user's working directory** - Avoids writing to the SKILL installation directory 2. **Current working directory** (fallback) - If the environment variable is not set, use `Path.cwd() / "output"` - Note: when a SKILL runs, cwd may be the SKILL directory ### Why the environment variable? When the SKILL is invoked, the Agent switches to the SKILL installation directory to run scripts. Using `Path.cwd()` directly would write to the wrong location. By setting `KUBE_AUDIT_OUTPUT="$(pwd)/output"` before each command, you ensure: - `$(pwd)` resolves to the user's working directory - Python scripts read the environment variable and write to the intended path - Output always lands in the user's working directory, regardless of where the SKILL is called ## Key Design Decisions ### Volume vs EnvVar distinction ConfigMaps/Secrets usage determines whether sensitive data is scanned: - **Volume mount**: skip sensitive scanning (treated as application config files) - **EnvVar reference**: scan for sensitive data (may include passwords/keys) `config_usage.json` records the usage type for each ConfigMap/Secret. ### Permission error handling Scripts use a fault-tolerant approach: - If a single resource type is denied, skip it and show a warning - Other resource types continue normally - The final report notes which checks are missing due to insufficient permissions Use a dedicated audit service account (see [SETUP.md](SETUP.md)). ## Security Reminder **Warning**: the `output/` directory contains decrypted Secret data. **After the audit**: - Keep `audit_report.md` (it does not contain sensitive data) - Securely delete other directories or store them encrypted - Do not commit `output/` to version control
Security Status
Scanned
Passed automated security checks
Related AI Tools
More Grow Business tools you might like
Clawra Selfie
FreeEdit Clawra's reference image with Grok Imagine (xAI Aurora) and send selfies to messaging channels via OpenClaw
Agent Skills for Context Engineering
FreeA comprehensive collection of Agent Skills for context engineering, multi-agent architectures, and production agent systems. Use when building, optimizing, or debugging agent systems that require effective context management.
Terraform Skill for Claude
FreeUse when working with Terraform or OpenTofu - creating modules, writing tests (native test framework, Terratest), setting up CI/CD pipelines, reviewing configurations, choosing between testing approaches, debugging state issues, implementing security
NotebookLM Research Assistant Skill
FreeUse this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-
Engineering Advanced Skills (POWERFUL Tier)
Free"25 advanced engineering agent skills and plugins for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Agent design, RAG, MCP servers, CI/CD, database design, observability, security auditing, release management, platform ops."
Clawra Selfie
FreeEdit Clawra's reference image with Grok Imagine (xAI Aurora) and send selfies to messaging channels via OpenClaw