Detecting Privilege Escalation in Polyglot Microservices via Agentic Program Analysis

📄 arXiv: 2605.15569v1 📥 PDF

作者: Penghui Li, Hong Yau Chong, Yinzhi Cao, Junfeng Yang

分类: cs.CR, cs.AI, cs.SE

发布日期: 2026-05-15

备注: In Proceedings of the 47th IEEE Symposium on Security and Privacy (S&P)


💡 一句话要点

Neo:利用Agentic程序分析检测Polyglot微服务中的权限提升漏洞

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

关键词: 微服务安全 权限提升 程序分析 大型语言模型 Agentic框架

📋 核心要点

  1. 微服务架构权限控制复杂,易受权限提升攻击,现有方法难以有效应对跨服务、多语言和多样化权限检查的挑战。
  2. Neo框架结合大型语言模型与程序分析,利用LLM Agent动态生成分析计划,自适应代码搜索,并验证语义,实现高效漏洞检测。
  3. 实验表明,Neo在25个开源微服务应用中发现了24个零日漏洞,精确率81.0%,召回率85.0%,显著优于现有方法。

📝 摘要(中文)

微服务因其可扩展性和容错性而被广泛应用于现代云系统。然而,微服务架构在权限控制方面引入了显著的复杂性,从而产生了权限提升的风险,攻击者可能获得对资源或操作的未授权访问。由于复杂的跨服务交互、Polyglot代码库以及多样化的特权操作和权限检查,检测此类漏洞极具挑战性。我们提出了Neo,一个Agentic程序分析框架,它结合了大型语言模型(LLM)与经典程序分析来应对这些挑战。Neo利用基于LLM的Agent动态生成分析计划,调整代码搜索策略并验证语义。我们开发了代码搜索原语,使Neo能够跨服务和语言执行可扩展且灵活的代码探索。我们在25个开源微服务应用程序(涵盖7种编程语言和620万行代码)上评估了Neo。Neo发现了24个零日权限提升漏洞,并在一个ground-truth数据集上实现了81.0%的精确率和85.0%的召回率。与现有的程序分析和Agentic解决方案相比,Neo在检测准确性和可扩展性方面都表现出了显著的改进。我们进一步展示了Neo的可扩展性,将其应用于其他应用领域和漏洞类型,发现了额外的18个零日漏洞。

🔬 方法详解

问题定义:论文旨在解决Polyglot微服务架构中难以检测的权限提升漏洞问题。现有方法在处理复杂的跨服务交互、多语言代码库以及多样化的特权操作和权限检查时面临可扩展性和准确性的挑战。传统的程序分析方法难以应对代码库的复杂性和动态性,而现有的Agentic解决方案可能缺乏足够的领域知识和推理能力。

核心思路:论文的核心思路是结合大型语言模型(LLM)的语义理解和推理能力与经典程序分析的精确性和可验证性,构建一个Agentic程序分析框架。通过LLM Agent动态生成分析计划,自适应地探索代码库,并验证潜在的权限提升路径,从而提高漏洞检测的效率和准确性。

技术框架:Neo框架包含以下主要模块:1) LLM Agent:负责生成分析计划,选择代码搜索策略,并验证语义。2) 代码搜索原语:提供跨服务和语言的可扩展且灵活的代码探索能力。3) 漏洞检测引擎:利用程序分析技术识别潜在的权限提升漏洞。整个流程是,首先LLM Agent根据微服务的架构和权限模型生成分析计划,然后利用代码搜索原语在代码库中寻找相关的特权操作和权限检查点,最后漏洞检测引擎分析这些代码片段,验证是否存在权限提升的风险。

关键创新:最重要的技术创新点在于将LLM Agent引入程序分析领域,使其能够动态地适应不同的微服务架构和代码库。与传统的静态分析方法相比,Neo能够更好地理解代码的语义,并推理出潜在的权限提升路径。与现有的Agentic解决方案相比,Neo更加专注于权限提升漏洞的检测,并针对微服务架构进行了优化。

关键设计:Neo的关键设计包括:1) LLM Agent的prompt设计:prompt需要包含微服务的架构信息、权限模型以及漏洞检测的目标,以便LLM Agent能够生成有效的分析计划。2) 代码搜索原语的实现:代码搜索原语需要支持多种编程语言和代码库,并能够高效地定位相关的特权操作和权限检查点。3) 漏洞检测引擎的规则定义:漏洞检测引擎需要定义清晰的权限提升漏洞模式,并能够准确地识别这些模式。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Neo在25个开源微服务应用中进行了评估,发现了24个零日权限提升漏洞。在一个ground-truth数据集上,Neo实现了81.0%的精确率和85.0%的召回率,显著优于现有的程序分析和Agentic解决方案。此外,Neo还成功地应用于其他应用领域和漏洞类型,发现了额外的18个零日漏洞,证明了其可扩展性。

🎯 应用场景

该研究成果可应用于云原生安全领域,帮助开发者和安全工程师自动检测和修复微服务架构中的权限提升漏洞,提高云系统的安全性。此外,该方法还可以扩展到其他类型的漏洞检测和安全分析任务中,例如代码注入、跨站脚本攻击等,具有广泛的应用前景。

📄 摘要(原文)

Microservices are widely adopted in modern cloud systems due to their scalability and fault tolerance. However, microservice architectures introduce significant complexity in privilege and permission control, creating risks of privilege escalation where attackers can gain unauthorized access to resources or operations. Detecting such vulnerabilities is challenging due to complex cross-service interactions, polyglot codebases, and diverse privileged operations and permission checks. We present Neo, an agentic program analysis framework that combines large language models (LLMs) with classic program analysis to address these challenges. Neo leverages an LLM-based agent that dynamically generates analysis plans, adapts code search strategies, and validates semantics. We develop code search primitives that enable Neo to perform scalable and flexible code exploration across services and languages. We evaluated Neo on 25 open-source microservice applications spanning 7 programming languages and 6.2 million lines of code. Neo uncovered 24 zero-day privilege escalation vulnerabilities and achieved 81.0% precision and 85.0% recall on a ground-truth dataset. Compared to existing program analysis and agentic solutions, Neo demonstrated significant improvements in both detection accuracy and scalability. We further showcased Neo's extensibility by applying it to other application domains and vulnerability types, uncovering 18 additional zero-day vulnerabilities.