Surfaced by the Security Model spine doc's gap register (docs/learn/spine/the-security-model.md).
Gap (4C: Cloud/Code — OWASP edge defense). Public ingress (Gateway API + Cilium Envoy) is TLS-terminated and hostname-scoped, but nothing inspects requests for OWASP-class attack patterns (injection, XSS, path traversal, bad bots). App-layer runtime defense is the thinnest part of the model today (we have SAST in CI, but no runtime shield).
Do: evaluate AWS WAF on the ingress NLB/ALB vs. an Envoy/Cilium-level WAF (e.g. Coraza/OWASP CRS); add managed rule sets + rate limiting; decide platform-managed vs. per-Product opt-in.
Surfaced by the Security Model spine doc's gap register (
docs/learn/spine/the-security-model.md).Gap (4C: Cloud/Code — OWASP edge defense). Public ingress (Gateway API + Cilium Envoy) is TLS-terminated and hostname-scoped, but nothing inspects requests for OWASP-class attack patterns (injection, XSS, path traversal, bad bots). App-layer runtime defense is the thinnest part of the model today (we have SAST in CI, but no runtime shield).
Do: evaluate AWS WAF on the ingress NLB/ALB vs. an Envoy/Cilium-level WAF (e.g. Coraza/OWASP CRS); add managed rule sets + rate limiting; decide platform-managed vs. per-Product opt-in.