π€ Generated by the Agentic Engineer
Evidence (verified live, 2026-08-08)
GitRepository/unifi in namespace unifi tracks ref.branch: main β a moving branch β and
carries verify: NONE. The consuming Kustomization/unifi is not suspended and is actively
reconciling (Applied revision: main@sha1:77dc6590β¦).
So the cluster continuously applies whatever appears on that branch's head, with no pin and no
signature check, into an app holding a write-scoped UniFi Cloud Connector credential.
Audience and impact
The affected surface is the deployed home network configuration β VLANs, firewall rules, SSIDs, device
and VPN config. An unreviewed or compromised push to the source branch reaches the network without a
verification step. This is the same class the platform already closes elsewhere: the root
OCIRepository is cosign-verified, and other sources are pinned. This one is the outlier.
Expected behaviour
The UniFi source is either pinned (spec.ref.tag or spec.ref.commit/digest) or
signature-verified (spec.verify), so a moving branch alone cannot reach the cluster β while
normal delivery keeps working.
Why not the existing mitigation
#2705 proposes suspend: true on the Kustomization. It closes the hole but stops delivery entirely,
so every legitimate change stops applying until someone unsuspends. It is a reasonable holding action
and it is why this issue exists, but the pin is strictly better: same floor, no friction. #2705 stays
parked as the fallback.
Acceptance criteria
Trade-off to decide while implementing
Pinning to a tag means UniFi changes need a tag bump to ship, which is friction on a repo the
maintainer edits directly. Signature verification keeps branch-tracking convenience and adds a signing
requirement instead. Prefer whichever matches existing practice in this repo; state the choice and its
everyday cost in the PR body per the two-sided hardening test.
Rough size: small β one resource, plus a live post-deploy check.
Evidence (verified live, 2026-08-08)
GitRepository/unifiin namespaceunifitracksref.branch: mainβ a moving branch β andcarries
verify: NONE. The consumingKustomization/unifiis not suspended and is activelyreconciling (
Applied revision: main@sha1:77dc6590β¦).So the cluster continuously applies whatever appears on that branch's head, with no pin and no
signature check, into an app holding a write-scoped UniFi Cloud Connector credential.
Audience and impact
The affected surface is the deployed home network configuration β VLANs, firewall rules, SSIDs, device
and VPN config. An unreviewed or compromised push to the source branch reaches the network without a
verification step. This is the same class the platform already closes elsewhere: the root
OCIRepositoryis cosign-verified, and other sources are pinned. This one is the outlier.Expected behaviour
The UniFi source is either pinned (
spec.ref.tagorspec.ref.commit/digest) orsignature-verified (
spec.verify), so a moving branch alone cannot reach the cluster β whilenormal delivery keeps working.
Why not the existing mitigation
#2705 proposes
suspend: trueon the Kustomization. It closes the hole but stops delivery entirely,so every legitimate change stops applying until someone unsuspends. It is a reasonable holding action
and it is why this issue exists, but the pin is strictly better: same floor, no friction. #2705 stays
parked as the fallback.
Acceptance criteria
GitRepository/unifieither verifies signatures or pins to an immutable ref.Kustomization/unifiremains unsuspended and still reconciles after the change.revision must match the pinned/verified source.
configured, rather than a one-off.
Trade-off to decide while implementing
Pinning to a tag means UniFi changes need a tag bump to ship, which is friction on a repo the
maintainer edits directly. Signature verification keeps branch-tracking convenience and adds a signing
requirement instead. Prefer whichever matches existing practice in this repo; state the choice and its
everyday cost in the PR body per the two-sided hardening test.
Rough size: small β one resource, plus a live post-deploy check.