More Info:
Enable docker/default seccomp profile in your pod definitionsRisk Level
HighAddress
SecurityCompliance Standards
- CIS GKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify pods to review (any machine with kubectl access)
Use label/namespace filters as appropriate; to start with everything:This lists each pod and its pod-level seccomp annotation (if any). Note pods missingdocker/default. -
Check container-level seccomp annotations (any machine with kubectl access)
For pods you are reviewing, inspect full annotations to see container-specific overrides:Determine whether each container is usingdocker/default, another profile (e.g.unconfined), or none. -
Decide policy exceptions (any machine with kubectl access)
With security and application owners, decide:- Which namespaces/workloads must use
docker/default - Which, if any, need a different profile or
unconfinedfor functional reasons
Document approved exceptions before changing manifests.
- Which namespaces/workloads must use
-
Update workload manifests to set
docker/default(any machine with kubectl access)
For non-exempt workloads managed via manifests/Helm/Kustomize, edit the source manifests, not live objects. Add either pod-level or container-level annotations, for example:- Pod-level:
- Container-level (per-container override):
kubectl apply -f <file>,helm upgrade, or GitOps). - Pod-level:
-
Re‑deploy or roll pods so new annotations take effect (any machine with kubectl access)
After manifest changes, ensure pods are recreated:- For Deployments/DaemonSets/StatefulSets: rely on rolling updates from the apply/upgrade, or trigger:
- For static or singleton pods created manually, delete and recreate from the updated manifest:
- For Deployments/DaemonSets/StatefulSets: rely on rolling updates from the apply/upgrade, or trigger:
-
Verify effective configuration (any machine with kubectl access)
Re-run a cluster-wide check to confirm pods now havedocker/defaultconfigured where required:For spot checks, validate specific pods:Confirm that annotations match your policy decisions (docker/defaultor documented exceptions).
Using kubectl
Using kubectl
On any machine with kubectl access:Problem indication:Problem indication:Problem indication:Problem indication:
- List all pods and their seccomp-related annotations
SECCOMP_PODis empty/<none>andSECCOMP_CONTAINERis empty/<none>for pods that you expect to be constrained.
- Inspect annotations on a specific pod
- Missing
seccomp.security.alpha.kubernetes.io/pod: docker/default - Or present but set to anything other than
docker/default.
- See pods that have any seccomp alpha annotation (to focus review)
- Annotations present but value not
docker/default, if your policy is to usedocker/default.
- Confirm api-server alpha feature gate status (to see if the annotation can even work)
--feature-gatesdoes not includeAllAlpha=true(per the benchmark’s remediation requirement for this check).
Automation
Automation

