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
security(k8s): the KSV-0109 dispositions are per-file, so a credential added later to either ConfigMap would be suppressed #3242
KSV-0109 "ConfigMap stores secrets" is the trivy check that actually matches credential-shaped key
names. Measured on a scratch ConfigMap carrying two obvious credentials:
KSV-0109 : FIRES — "stores secrets in key(s) or value(s) '{"api_token"...'"
KSV-01010 : 0 findings
So the two ConfigMap checks have genuinely different match sets, and KSV-0109 is the one carrying
the credential-detection weight.
.trivyignore.yaml disposes KSV-0109 for two files:
file
reason recorded
k8s/clusters/prod/bootstrap/config-map.yaml
external_secrets_replicas is a public replica count
k8s/bases/apps/actual-budget/config-map.yaml
source identifiers containing secretKey, not values
Both reasons are correct for the content reviewed at the time. The concern is what they imply
going forward: because the disposition is per-file rather than per-key, a credential added to either
file later would be suppressed by an exception written when the file held none — and nothing would
report it, because the count would not move.
k8s/clusters/local/bootstrap/config-map.yaml carries noKSV-0109 disposition, so it is
already covered; this is specifically about the other two.
#3241 disposes KSV-01010 and adds a boundary test for it. Extending that PR to re-scope a
different, older check would mix two concerns and put a behaviour change inside a disposition PR.
The KSV-01010 guard added there already asserts its own matched-key sets, so the pattern to follow
exists.
Smallest useful change
Give the two KSV-0109 dispositions the same content-premise assertion the KSV-01010 ones now
have — assert the matched key set for each excepted file equals the reviewed set, so a newly added
credential key changes the set and fails instead of being silently excepted.
scripts/tests/test-trivyignore-configmap-content-boundary.sh (from #3241) already implements this
shape and can be extended rather than duplicated.
Acceptance criteria
Each KSV-0109-excepted file has its reviewed matched-key set asserted.
A credential-shaped key added to either file fails the assertion — proven RED/GREEN, with the
mutation asserted to have landed and the file restored byte-identically.
The check skips explicitly, rather than failing, on a trivy version that does not emit it.
No finding count moves as a result of this change.
Size: small — extends an existing test; no manifest change expected.
#3236 - security(k8s): disposition the 8 RBAC-breadth trivy findings [merged] #3227 - security(k8s): disposition the first-party RBAC trivy findings [merged] #3210 - security(k8s): disposition vendored KubeVirt and CDI operator RBAC as a class [merged] #3229 - security(k8s): rule on the KSV-0014 findings on the vendored VM-stack operators [merged] #3216 - security(trivy): declare the trusted registries so KSV-0125 gates instead of noises [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
Activity
coderabbitai commentedon Aug 19, 2026
🔗 Related PRs
#3236 - security(k8s): disposition the 8 RBAC-breadth trivy findings [merged]
#3227 - security(k8s): disposition the first-party RBAC trivy findings [merged]
#3210 - security(k8s): disposition vendored KubeVirt and CDI operator RBAC as a class [merged]
#3229 - security(k8s): rule on the KSV-0014 findings on the vendored VM-stack operators [merged]
#3216 - security(trivy): declare the trusted registries so KSV-0125 gates instead of noises [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
chore: agent-claim #3242 nonce=d4c20c1fdfb710870a69bc7d82438e7f
refactor(test): share one matched-key-set assertion between both Conf…