Skip to content

Security Scanner

The security scanner is a separate Deployment that audits every pod in your cluster on a schedule and on demand. Findings are scored by severity and surfaced on the Security tab.

CheckSeverityDescription
Privileged containersCriticalContainer running with elevated privileges
Host networkCriticalPod using host network namespace
Host PIDCriticalPod using host PID namespace
Run as rootHighContainer running as root user
Missing security contextHighNo securityContext defined
Missing resource limitsMediumNo CPU/memory limits set
Writable root filesystemMediumRoot filesystem is writable
ServiceAccount token mountedLowDefault SA token auto-mounted

50+ checks ship out of the box including dangerous capabilities, missing seccomp/AppArmor profiles, untrusted registries, and RBAC misconfigurations.

The Security tab supports:

  • Filter by severity (Critical / High / Medium / Low)
  • Filter by namespace
  • Click any finding for full remediation steps
  • Manual Rescan button for on-demand re-scanning

For any finding, click Generate AI Fix. The LLM gets the finding context and produces:

  • A detailed explanation of the security risk
  • Step-by-step remediation instructions
  • Example YAML patches
  • Best-practice recommendations

Backed by POST /api/security/findings/{finding_id}/fix.

By default, the scanner flags images pulled from registries it doesn’t recognize. Add your registry to the trusted list to suppress those findings.

Default trusted registries:

  • docker.io
  • gcr.io
  • ghcr.io
  • quay.io
  • registry.k8s.io
  • mcr.microsoft.com
  • public.ecr.aws

Add your own from Admin Panel → Suppressions → Trusted Container Registries. The scanner automatically rescans when you add or remove an entry.

Two layers:

  • Global — rule is suppressed everywhere (Admin → Suppressions → Global Rule Exclusions)
  • Per-namespace — rule is suppressed only in named namespaces (Admin → Suppressions, then add namespace + select rules)

Hold Ctrl/Cmd to multi-select.

Skip whole namespaces from scanning. Common entries:

  • kube-system
  • kube-public
  • kube-node-lease
  • kure-system

From the Security tab, click Export:

  • CSV — spreadsheet compatible
  • JSON — machine readable
  • PDF — formatted report (good for compliance)

How the scanner authenticates to the backend

Section titled “How the scanner authenticates to the backend”

The scanner POSTs findings to /api/security/findings with the X-Service-Token header. The token is mounted from the <release>-bootstrap Secret. See Authentication.