Skip to content
Security
Skill

/k8s-workload-hardening

Review and harden Kubernetes workloads (pods/Deployments) against Pod Security Standards — privileged containers, host namespaces, hostPath, capabilities, securityContext, and admission enforcement. Use to assess or fix pod-level security for a workload or namespace.

From plugin
awesome-claude-security
6111 skills17 agents13 commands1 MCP
Install
$ npx -y skills add jassics/awesome-claude-security --skill k8s-workload-hardening --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/k8s-workload-hardening

Context preview

The summary Claude sees to decide when to auto-load this skill.

Review and harden Kubernetes workloads (pods/Deployments) against Pod Security Standards — privileged containers, host namespaces, hostPath, capabilities, securityContext, and admission enforcement. Use to assess or fix pod-level security for a workload or namespace.

SKILL.md

k8s-workload-hardening.SKILL.md
name: k8s-workload-hardening
description: >-
  Review and harden Kubernetes workloads (pods/Deployments) against Pod Security
  Standards — privileged containers, host namespaces, hostPath, capabilities,
  securityContext, and admission enforcement. Use to assess or fix pod-level
  security for a workload or namespace.

Goal

Workloads that meet the Pod Security Standards (baseline → restricted), with dangerous settings removed and enforcement guaranteed by admission, not just policy on paper.

What to check / set

1. **Privilege** — no `privileged: true`; `allowPrivilegeEscalation: false`; `runAsNonRoot: true`, non-zero `runAsUser`. 2. **Host access** — no `hostNetwork`/`hostPID`/`hostIPC`; no `hostPath` mounts; no host ports. 3. **Capabilities** — `drop: ["ALL"]`, add back only what's required; no `SYS_ADMIN`/ `NET_ADMIN` unless justified. 4. **Filesystem** — `readOnlyRootFilesystem: true`; writable paths via emptyDir/ volumes. 5. **Seccomp / AppArmor** — `seccompProfile: RuntimeDefault` (or stricter); AppArmor where available. 6. **Resources & images** — set requests/limits (DoS containment); pinned image digests from trusted registries; non-root images; scanned (`sast-sca`). 7. **Enforcement** — Pod Security Admission level (baseline/restricted) per namespace, or a policy engine (Kyverno/OPA) so violations are rejected, not just flagged.

Steps

1. Pull the workload manifests / running pod specs in scope. 2. Compare against the restricted Pod Security Standard; flag each gap with severity. 3. Verify admission actually enforces the standard (test that a bad pod is rejected), not just that good pods exist. 4. Provide the corrected securityContext/manifest snippets.

Output

A hardening table: workload · setting · current · required · severity · fix, plus corrected manifest snippets and the namespace admission level to enforce. Confirmed issues → `security-reporting:finding`.

Notes

A privileged or hostPath-mounted container is a node-takeover and often cluster-admin path — treat those as the top severities. Hardening the pod is only durable if **admission enforces** the standard; verify enforcement, don't assume it.

Read more
Ships withawesome-claude-security

A Claude Code plugin marketplace for the full cybersecurity & GenAI-security lifecycle — from recon and threat modeling to detection engineering, GRC, and CISO-level strategy. A pentester knows which OWASP test bends a broken-access-control endpoint.

Get the whole plugin

Other skills on awesome-claude-security.