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
CRIT-1 — Pod identity is now verified by UID, not just (namespace, name).
Closes a name-reuse race where an attacker could force-delete a pod
between admission and CreateContainer, recreate one with the same name+SA,
and have the plugin fetch credentials for the recreated pod whose UID
doesn't match the NRI sandbox UID. fetchAndBuildMapping now refuses if
NRI sandbox UID != kube-apiserver pod.UID.
CRIT-2 — Removed dead wrap/unwrap path. The pull-not-push refactor
(76c2074) replaced the wrap_token-as-bearer-credential pattern, but left
behind:
- pkg/vault/vault.go: WrapValues / UnwrapValues (deleted)
- pkg/vault/wrap_test.go (deleted)
- pkg/k8smutator/k8smutator_test.go: stubWrapper helper (deleted)
- pkg/config/config.go: NRIConfig.WrapTokenTTL field (deleted)
- helm/values.yml, configmaps.yaml, deployment-injector.yaml: nri.wrapTokenTTL
knob and INJECTOR_NRI_WRAP_TOKEN_TTL env var (deleted)
Operators no longer see a knob that does nothing. Tests no longer
exercise dead code paths.
IMP-1 — Rewrote docs/how-it-works/nri-mode.md to describe the schema v2
pull-not-push design. Old text described the wrap/unwrap flow which no
longer exists. New version: architecture diagram for v2, the three-layer
identity attestation defense (UID + namespace + SA), schema upgrade
path, hardening checklist, accurate trust posture.
IMP-2 — Kyverno policy now blocks hostPath mounts of /run/vault-db-injector
in addition to /var/run/nri and /opt/nri. The credential cache lives there
and was previously not covered by the policy (PSA baseline already covered
it, but defense-in-depth).
IMP-5 — Deleted leaked pkg/nri/.tmp file (saveCache test artifact).
174 unit tests pass. K3D edge suite: 9/9 (A_substitution, B_uri_mode,
C_multi_container, D_init, E_empty_placeholder, F_malformed_json,
G_cache_persistence, H_v1_rejected, I_identity_forge_blocked).
0 commit comments