fix(security): pin the Kubescape relevancy capability instead of inheriting it - #3881
Conversation
…riting it Relevancy scanning feeds the reachable-CVE gate, but it was enabled only by chart 1.40.4's default. Declaring it makes a future default flip a visible, reviewable change rather than a silent loss of a security capability. Verified: chart 1.40.4 defaults relevancy=enable, so the rendered ks-capabilities ConfigMap is byte-identical with and without this pin; an ablation setting relevancy=disable does change it, confirming the render is sensitive to the value rather than ignoring it. Fixes #3707 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ancy pin Pinning the Kubescape relevancy capability moves the rendered authorization surface because a HelmRelease is a controller-RBAC emitter, even though the single added values line grants nothing. Conservation against main eea5453: 573 identities per side with identical sorted lists, exactly one differing rendered document (the kubescape HelmRelease), and 94 grant-bearing documents hashing byte-identically. Both results are controlled by a synthetic ClusterRole that changes each. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai review |
|
✅ Action performedReview finished.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details🔇 Additional comments (3)
📝 WalkthroughWalkthroughThe Kubescape HelmRelease now sets Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to The change keeps Kubescape relevancy enabled and preserves the authorization approval checks, with no actionable merge-blocking risk identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Readiness at
One thing I checked before promoting, because it would have failed in the queue
It does not, and the proof is structural rather than a re-render:
#3880 is separately inert here — it changed only So both constants stand as written, and the merge-group gate re-evaluates against the real base regardless. |
Why
Relevancy scanning is what makes our vulnerability reports actionable: the node agent watches which
libraries a container actually loads, so unreachable CVEs get marked
not_affectedinstead ofcompeting for attention with the ones that matter. We rely on it — but we never asked for it. It is
on purely because the chart happens to default it on, so a future chart bump that flips that default
would switch a security capability off silently, with nothing in our config to notice or review.
What
Declares
relevancy: enablein the Kubescape capabilities we pin, alongside the ones we already pinthere. No behaviour changes today — this makes the current state intentional and reviewable instead
of inherited, so it can only change deliberately.
Fixes #3707