Skip to content
KEP Brain

KEP-6061keps/sig-node/6061-oci-artifact-security-profiles

OCI Artifact-Based Security Profile Distribution

implementablealphasig-nodelatest v1.38
This KEP proposes native support for pulling security profiles from OCI-compatible registries, starting with seccomp in alpha and adding AppArmor in beta. Today, Kubernetes requires security profiles to be pre-installed on every node (Localhost type) or limits users to the built-in RuntimeDefault. This creates operational burden for cluster administrators wh… Full summary

This KEP proposes native support for pulling security profiles from OCI-compatible registries, starting with seccomp in alpha and adding AppArmor in beta. Today, Kubernetes requires security profiles to be pre-installed on every node (Localhost type) or limits users to the built-in RuntimeDefault. This creates operational burden for cluster administrators who must distribute and synchronize profiles across all nodes using external tooling such as DaemonSets, node image baking, or the [Security Profiles Operator (SPO)][spo]. [spo]: https://github.com/kubernetes-sigs/security-profiles-operator By extending the Kubernetes API and CRI to support OCI references for security profiles, users can store versioned, immutable profiles in container registries alongside the container images they protect and reference them by digest. The kubelet resolves pull credentials and passes them to the CRI runtime, which pulls the profiles using the same registry infrastructure already in place for container images. The kubelet never inspects the content: how the runtime fetches and stores it is a runtime decision. The design supports a layered profile model: pods can specify both a base profile (Localhost or RuntimeDefault) and an OCI overlay profile. The CRI runtime merges the OCI profile with the base profile and its own configured baseline via intersection, producing an effective profile that is at least as restrictive as every input. This guarantees that OCI-distributed profiles cannot weaken node security regardless of their content, while allowing administrators to enforce per-workload-class baselines without breaking existing OCI profiles when the baseline changes. The converse also holds: an OCI profile can never grant an operation that the node's baseline denies. Workloads that need a profile looser than the baseline continue to use Localhost.

Facts

Approvers
@mrunalp
PRR approvers
@deads2kalpha
Tracking issue
#6061(opens GitHub in a new tab) openmilestone v1.38sig/nodestage/alphatracked/yeslead-opted-in
Milestones
alpha v1.38
Participating SIGs
sig-securitysig-auth
Feature gates
SecurityProfileOCI
Created / last updated
2026-05-06 / 2026-09-24
Loading decisions and status history

Keyboard shortcuts

Everywhere

?
Show or hide this list
/
Focus the question box on Ask, otherwise the page search
Ctrl Kor⌘ K
Focus the KEP search in the top bar
t
Switch the theme (system, light, dark)
Esc
Close a dialog, a search list or a menu

Go to a page

Press g, then the letter

g h
Home
g a
Ask
g e
Explore
g u
Audit
g m
Memory
g b
About

Ask

Enter
Send the question
Shift Enter
New line in the question
Esc
Cancel the running question

Search lists

KEP search and Explore search

↓or↑
Move through the results
HomeorEnd
First or last result (Explore)
Enter
Open the highlighted result, or KEP-n when the query is a number

KEP page

o
Open the KEP on GitHub
y
Open kep.yaml on GitHub
a
Ask about this KEP
←or→
Previous or next tab, when a tab is focused

Findings table

With a finding row focused (Tab into the table or click a row)

jork
Next or previous finding
EnterorSpace
Expand or collapse the finding
o
Open the finding's KEP page
d
Draft the fix as an issue text (nothing is posted)
]or[
Next or previous page of findings

Shortcuts pause while you type in a field. Press ? or Esc to close.