Install
openclaw skills install @rohitg00/k8s-securityAudit Kubernetes RBAC, enforce policies, and manage secrets. Use for security reviews, permission audits, policy enforcement with Kyverno/Gatekeeper, and secret management.
openclaw skills install @rohitg00/k8s-securitySecurity auditing, RBAC management, and policy enforcement using kubectl-mcp-server tools.
Requires the
cilium,istio,policy,securitytoolsets: start kubectl-mcp-server with--toolsets default,cilium,istio,policy,security(orMCP_TOOLSETS=default,cilium,istio,policy,security). For deep work, the project-maintained MCP servers may fit better: Kyverno: https://github.com/nirmata/kyverno-mcp.
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Check cluster-admin bindings first | CRITICAL | kubectl_get |
| 2 | Audit secrets access permissions | CRITICAL | Review role rules |
| 3 | Verify network isolation | HIGH | analyze_network_policies |
| 4 | Check policy compliance | HIGH | kyverno_*, gatekeeper_* |
| 5 | Review pod security contexts | MEDIUM | kubectl_describe |
| Task | Tool | Example |
|---|---|---|
| List roles | kubectl_get | kubectl_get(resource_type="roles", namespace) |
| Cluster roles | kubectl_get | kubectl_get(resource_type="clusterroles") |
| Role bindings | kubectl_get | kubectl_get(resource_type="roles", namespace) |
| Service accounts | kubectl_get | kubectl_get(resource_type="serviceaccounts", namespace) |
| Kyverno policies | get_policy_list | get_policy_list() |
kubectl_get(resource_type="roles", namespace)
kubectl_get(resource_type="clusterroles")
kubectl_get(resource_type="roles", namespace)
kubectl_get(resource_type="clusterroles")
kubectl_get(resource_type="serviceaccounts", namespace)
| Pattern | Risk Level | Check |
|---|---|---|
| cluster-admin binding | Critical | kubectl_get(resource_type="clusterroles") |
| Wildcard verbs (*) | High | Review role rules |
| secrets access | High | Check get/list on secrets |
| pod/exec | High | Allows container access |
See RBAC-PATTERNS.md for detailed patterns and remediation.
get_policy_list(namespace)
get_policy_list()
get_policy(name, namespace)
get_policy_list()
get_policy(kind, name)
get_policy_list()
| Policy | Purpose |
|---|---|
| Disallow privileged | Prevent root containers |
| Require resource limits | Prevent resource exhaustion |
| Restrict host namespaces | Isolate from node |
| Require labels | Ensure metadata |
| Allowed registries | Control image sources |
kubectl_get(resource_type="secrets", namespace)
analyze_network_policies(namespace)
cilium_list_policies(namespace)
cilium_get_policy(name, namespace)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-all
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
RBAC Audit
kubectl_get(resource_type="clusterroles")
kubectl_get(resource_type="roles", namespace)
Policy Compliance
get_policy_list()
get_policy_list()
Network Isolation
analyze_network_policies(namespace)
cilium_list_endpoints(namespace)
Pod Security
kubectl_get(resource_type="pods", namespace)
kubectl_describe(name, namespace)
Audit across clusters:
kubectl_get(resource_type="clusterroles", context="production")
kubectl_get(resource_type="clusterroles", context="staging")
For comprehensive security audit, see scripts/audit-rbac.py.
kubectl_get, kubectl_get, kubectl_getkyverno_*, gatekeeper_*analyze_network_policies, cilium_policies_*istio_authorizationpolicies_list, istio_peerauthentications_list