ARPaCCino: An Agentic-RAG for Policy as Code Compliance
作者: Francesco Romeo, Luigi Arena, Francesco Blefari, Francesco Aurelio Pironti, Matteo Lupinacci, Angelo Furfaro
分类: cs.SE, cs.AI
发布日期: 2025-07-11 (更新: 2025-11-04)
DOI: 10.1007/978-3-032-05727-3_39
💡 一句话要点
提出ARPaCCino,利用Agentic-RAG实现策略即代码的合规性自动化验证与生成。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 策略即代码 基础设施即代码 大型语言模型 检索增强生成 合规性验证 自动化 Agentic系统
📋 核心要点
- 现有策略即代码(PaC)方法面临策略语言复杂和配置错误的挑战,阻碍了其广泛应用。
- ARPaCCino利用Agentic-RAG架构,通过LLM、RAG和工具验证,实现PaC规则的自动生成与验证。
- 实验表明,即使使用较小的LLM,ARPaCCino也能有效生成正确策略、识别违规基础设施并进行修正。
📝 摘要(中文)
策略即代码(PaC)是一种将安全和合规策略编码为机器可读格式的范例,从而能够在基础设施即代码(IaC)环境中实现自动化执行。然而,PaC的采用受到策略语言的复杂性和错误配置风险的阻碍。本文提出了ARPaCCino,一个agentic系统,它结合了大型语言模型(LLMs)、检索增强生成(RAG)和基于工具的验证,以自动化生成和验证PaC规则。给定所需策略的自然语言描述,ARPaCCino生成正式的Rego规则,评估IaC合规性,并迭代地改进IaC配置以确保符合性。凭借其模块化的agentic架构以及与外部工具和知识库的集成,ARPaCCino支持跨各种技术的策略验证,包括小众或新兴的IaC框架。涉及基于Terraform的案例研究的实验评估证明了ARPaCCino在生成语法和语义上正确的策略、识别不合规基础设施以及应用纠正性修改方面的有效性,即使在使用较小的、开放权重的LLM时也是如此。我们的结果突出了agentic RAG架构在增强PaC工作流程的自动化、可靠性和可访问性方面的潜力。
🔬 方法详解
问题定义:论文旨在解决策略即代码(PaC)在实际应用中面临的挑战,即如何降低PaC规则编写的复杂性,并确保基础设施即代码(IaC)配置的合规性。现有方法通常需要专业人员手动编写和验证PaC规则,这既耗时又容易出错,尤其是在面对复杂或新兴的IaC框架时。因此,需要一种能够自动化生成、验证和修正PaC规则的系统。
核心思路:ARPaCCino的核心思路是利用大型语言模型(LLMs)的自然语言理解和生成能力,结合检索增强生成(RAG)技术,以及外部工具的验证能力,构建一个agentic系统。该系统能够将自然语言描述的策略转化为正式的PaC规则,并自动评估和修正IaC配置,从而降低PaC的使用门槛,提高合规性。
技术框架:ARPaCCino的整体架构是一个模块化的agentic系统,主要包含以下几个阶段:1) 策略理解:接收自然语言描述的策略需求。2) 规则生成:利用LLM和RAG技术,将自然语言策略转化为正式的Rego规则。3) 合规性评估:使用生成的Rego规则评估IaC配置的合规性。4) 配置修正:如果发现不合规的配置,则利用LLM生成修正建议,并应用到IaC配置中。整个流程迭代进行,直到IaC配置完全符合策略要求。
关键创新:ARPaCCino的关键创新在于其agentic RAG架构,它将LLM、RAG和外部工具验证集成到一个统一的系统中。这种架构使得系统能够利用LLM的生成能力、RAG的知识检索能力和外部工具的验证能力,从而实现PaC规则的自动化生成、验证和修正。与传统方法相比,ARPaCCino无需人工干预,能够处理更复杂和新兴的IaC框架。
关键设计:ARPaCCino的关键设计包括:1) 使用LLM进行规则生成,并采用RAG技术检索相关的知识和示例,以提高生成规则的准确性和完整性。2) 集成外部工具(如OPA)进行规则验证,确保生成的规则在语法和语义上都是正确的。3) 设计迭代修正机制,通过多次迭代,逐步修正IaC配置,直到完全符合策略要求。论文中并未详细说明具体的参数设置、损失函数或网络结构,这些可能是根据具体LLM和RAG模型的选择而定的。
🖼️ 关键图片
📊 实验亮点
实验结果表明,ARPaCCino能够有效地生成语法和语义上正确的Rego规则,并准确地识别不合规的IaC配置。即使在使用较小的、开放权重的LLM时,ARPaCCino也能成功地应用纠正性修改,使IaC配置符合策略要求。这些结果证明了ARPaCCino在自动化PaC工作流程方面的有效性和潜力。
🎯 应用场景
ARPaCCino可应用于各种需要策略合规性验证和自动修正的场景,例如云计算安全、网络安全、数据隐私保护等。它可以帮助企业自动化地管理和维护其基础设施的合规性,降低安全风险,并提高运营效率。未来,该技术有望扩展到更多领域,例如软件供应链安全、物联网安全等。
📄 摘要(原文)
Policy as Code (PaC) is a paradigm that encodes security and compliance policies into machine-readable formats, enabling automated enforcement in Infrastructure as Code (IaC) environments. However, its adoption is hindered by the complexity of policy languages and the risk of misconfigurations. In this work, we present ARPaCCino, an agentic system that combines Large Language Models (LLMs), Retrieval-Augmented-Generation (RAG), and tool-based validation to automate the generation and verification of PaC rules. Given natural language descriptions of the desired policies, ARPaCCino generates formal Rego rules, assesses IaC compliance, and iteratively refines the IaC configurations to ensure conformance. Thanks to its modular agentic architecture and integration with external tools and knowledge bases, ARPaCCino supports policy validation across a wide range of technologies, including niche or emerging IaC frameworks. Experimental evaluation involving a Terraform-based case study demonstrates ARPaCCino's effectiveness in generating syntactically and semantically correct policies, identifying non-compliant infrastructures, and applying corrective modifications, even when using smaller, open-weight LLMs. Our results highlight the potential of agentic RAG architectures to enhance the automation, reliability, and accessibility of PaC workflows.