You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(security): the C-0237 exception says there is no admission-layer signature enforcement #4085
🤖 Generated by the Agentic Engineer (interactive Claude Code session)
Evidence
k8s/bases/infrastructure/cluster-security-exceptions/image-verification.yaml justifies exempting Kubescape control C-0237 cluster-wide in two places, a comment and the exception's reason field. Both say there "is no admission-layer signature enforcement".
That is no longer true for first-party images. k8s/bases/infrastructure/cluster-policies/best-practices/verify-app-images.yaml is a Kyverno ImageValidatingPolicy with failurePolicy: Fail and validationActions: [Deny]. It rejects ghcr.io/devantler-tech/* images at admission unless one of the six keyless cosign identities signed them.
The exception is still needed, because third-party chart images are neither all signed nor checked at admission. Only its stated reason is out of date.
Why it matters
Security exceptions are meant to be reviewed and pruned. A reviewer who reads the current text could conclude that nothing checks signatures at admission, and either weaken the Kyverno policy as redundant or miss that first-party images are already covered.
Acceptance criteria
The comment and the reason field say that first-party images are verified at admission (Kyverno), at pull (Talos ImageVerificationConfig) and at the Flux OCI source, and that the exception remains because third-party images are neither all signed nor checked at admission.
No change to the exception's scope or to any policy.
Resolved by merged #4463, commit 63c90817bb76caf50683f172bffcb7e2996e8729 (2026-10-04T12:06:42Z).
Read back the merged comment and reason: both describe first-party verification at admission, node pull and Flux source layers, and accurately explain why the existing exception remains necessary for third-party coverage. Parsed the exception before and after this merge with its reason removed; the remaining objects compare byte-identically. Its scope and control action are unchanged, and no signature-enforcement policy is modified. Both acceptance criteria are met.
The exact winning merge-group run 37197692359 completed successfully, including production deployment and the post-deployment queue-presence check; its head equals the actual merge commit.
Activity
chore: agent-claim #4085 nonce=6e522597789e455559c7f9269941f43c
devantler commentedon Oct 4, 2026
Resolved by merged #4463, commit
63c90817bb76caf50683f172bffcb7e2996e8729(2026-10-04T12:06:42Z).Read back the merged comment and reason: both describe first-party verification at admission, node pull and Flux source layers, and accurately explain why the existing exception remains necessary for third-party coverage. Parsed the exception before and after this merge with its reason removed; the remaining objects compare byte-identically. Its scope and control action are unchanged, and no signature-enforcement policy is modified. Both acceptance criteria are met.
The exact winning merge-group run 37197692359 completed successfully, including production deployment and the post-deployment queue-presence check; its head equals the actual merge commit.