KubeGuard: LLM-Assisted Kubernetes Hardening via Configuration Files and Runtime Logs Analysis

📄 arXiv: 2509.04191v1 📥 PDF

作者: Omri Sgan Cohen, Ehud Malul, Yair Meidan, Dudu Mimran, Yuval Elovici, Asaf Shabtai

分类: cs.CR, cs.LG

发布日期: 2025-09-04


💡 一句话要点

KubeGuard:利用LLM分析配置与日志,增强Kubernetes安全性

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: Kubernetes安全 大型语言模型 运行时日志分析 配置加固 最小权限原则

📋 核心要点

  1. Kubernetes安全面临配置错误和权限过大的挑战,现有方案侧重于静态分析或异常检测,无法充分利用运行时信息。
  2. KubeGuard利用LLM分析配置清单和运行时日志,通过模块化提示链工作流,生成最小权限配置建议。
  3. 实验结果表明,KubeGuard能够有效生成和优化K8s清单,在Roles、NetworkPolicies和Deployments上表现出高精度和召回率。

📝 摘要(中文)

Kubernetes (K8s) 在云原生应用编排中的广泛应用带来了显著的安全挑战,例如资源配置错误和过度宽松的权限配置。未能解决这些问题可能导致未经授权的访问、权限提升以及集群内的横向移动。现有的大多数K8s安全解决方案侧重于检测配置错误,通常通过静态分析或异常检测。本文提出了KubeGuard,一种新型的运行时日志驱动的推荐框架,旨在通过解决过度宽松的配置来降低风险。KubeGuard旨在通过两项互补的任务来加强K8s环境:资源创建和资源优化。它利用大型语言模型 (LLM) 分析清单和反映实际系统行为的运行时日志,使用模块化的提示链工作流。这种方法使KubeGuard能够为新资源创建最小权限配置,并优化现有清单以减少攻击面。KubeGuard的输出清单以建议的形式呈现,用户(例如,开发人员和运维人员)可以审查和采用这些建议来增强集群安全性。评估表明,KubeGuard有效地生成和优化了Roles、NetworkPolicies和Deployments的K8s清单,利用了专有和开源的LLM。高精度、召回率和F1分数证实了KubeGuard作为一个框架的实用性,该框架将运行时可观察性转化为可操作的、最小权限的配置指导。

🔬 方法详解

问题定义:Kubernetes集群中存在大量配置错误和过度宽松的权限配置,这使得集群容易受到攻击。现有的安全解决方案主要依赖静态分析或异常检测,无法充分利用运行时日志中蕴含的系统行为信息,从而难以准确识别和修复安全漏洞。

核心思路:KubeGuard的核心思路是利用大型语言模型(LLM)的强大分析能力,结合配置清单和运行时日志,自动生成和优化Kubernetes资源的配置,实现最小权限原则。通过分析实际的系统行为,KubeGuard能够更准确地识别过度宽松的权限配置,并提出合理的修改建议。

技术框架:KubeGuard框架包含两个主要任务:资源创建和资源优化。资源创建任务负责为新部署的资源生成最小权限配置;资源优化任务则负责分析现有资源的配置和运行时日志,识别潜在的安全风险并提出优化建议。这两个任务都依赖于模块化的提示链工作流,该工作流利用LLM进行配置分析、权限评估和优化建议生成。框架的输入包括Kubernetes配置清单和运行时日志,输出是经过LLM分析和优化的配置清单,以建议的形式呈现给用户。

关键创新:KubeGuard的关键创新在于将LLM引入Kubernetes安全配置领域,并结合配置清单和运行时日志进行分析。与传统的静态分析方法相比,KubeGuard能够更好地理解系统行为,从而更准确地识别和修复安全漏洞。此外,模块化的提示链工作流使得KubeGuard能够灵活地适应不同的安全需求和配置场景。

关键设计:KubeGuard的关键设计包括:1) 针对不同类型的Kubernetes资源(如Roles、NetworkPolicies、Deployments)设计了专门的提示模板,以指导LLM进行配置分析和优化;2) 采用了模块化的提示链工作流,将复杂的安全分析任务分解为多个简单的子任务,每个子任务由一个或多个LLM调用完成;3) 设计了评估指标,用于衡量LLM生成的配置建议的质量,包括精度、召回率和F1分数。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,KubeGuard能够有效生成和优化Kubernetes清单,在Roles、NetworkPolicies和Deployments等资源上取得了较高的精度、召回率和F1分数。该框架利用专有和开源LLM均取得了良好的效果,验证了其在实际应用中的可行性。

🎯 应用场景

KubeGuard可应用于自动化Kubernetes集群安全加固,帮助开发人员和运维人员快速识别和修复配置错误,降低安全风险。该研究成果有助于提升云原生应用的安全性和可靠性,并可推广到其他云平台和容器编排系统。

📄 摘要(原文)

The widespread adoption of Kubernetes (K8s) for orchestrating cloud-native applications has introduced significant security challenges, such as misconfigured resources and overly permissive configurations. Failing to address these issues can result in unauthorized access, privilege escalation, and lateral movement within clusters. Most existing K8s security solutions focus on detecting misconfigurations, typically through static analysis or anomaly detection. In contrast, this paper presents KubeGuard, a novel runtime log-driven recommender framework aimed at mitigating risks by addressing overly permissive configurations. KubeGuard is designed to harden K8s environments through two complementary tasks: Resource Creation and Resource Refinement. It leverages large language models (LLMs) to analyze manifests and runtime logs reflecting actual system behavior, using modular prompt-chaining workflows. This approach enables KubeGuard to create least-privilege configurations for new resources and refine existing manifests to reduce the attack surface. KubeGuard's output manifests are presented as recommendations that users (e.g., developers and operators) can review and adopt to enhance cluster security. Our evaluation demonstrates that KubeGuard effectively generates and refines K8s manifests for Roles, NetworkPolicies, and Deployments, leveraging both proprietary and open-source LLMs. The high precision, recall, and F1-scores affirm KubeGuard's practicality as a framework that translates runtime observability into actionable, least-privilege configuration guidance.