STELP: Secure Transpilation and Execution of LLM-Generated Programs
作者: Swapnil Shinde, Sahil Wadhwa, Andy Luo, Emily Chen
分类: cs.SE, cs.AI
发布日期: 2026-01-09
💡 一句话要点
STELP:安全转译与执行LLM生成代码,保障AI系统安全
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: LLM安全 代码生成 安全转译 受限执行环境 AI安全
📋 核心要点
- 直接使用LLM生成的代码存在安全风险,如恶意攻击和数据中毒,传统安全测试方法难以有效应对。
- STELP通过安全转译和执行,在受控环境中运行LLM生成的代码,从而保障AI系统的安全性。
- 实验表明,STELP在安全执行风险代码片段方面显著优于现有方法,并提供了一个人工验证的不安全代码数据集。
📝 摘要(中文)
大型语言模型(LLM)在推理、规划和函数调用能力方面取得了显著进展。利用这些LLM的多智能体协作框架将其置于解决软件开发相关任务(如代码生成)的核心位置。然而,在生产软件开发系统中直接使用LLM生成的代码存在问题。这些代码可能不稳定、有错误,并包含数据中毒、恶意攻击和幻觉等漏洞,可能导致广泛的系统故障。这阻碍了LLM生成的代码在生产AI系统中的应用,因为在这些系统中,人工代码审查和传统的安全测试工具是不切实际或不可信的。本文讨论了执行LLM生成代码的安全性和可靠性问题,并提出了一种安全转译器和LLM生成程序执行器(STELP),它能够以受控和安全的方式执行LLM生成的代码。STELP保障了涉及代码生成的自主生产AI系统,填补了传统安全测试方法和人工监督的不切实际或局限性所留下的关键空白。这包括诸如无头代码生成-执行以及LLM生成可执行代码片段作为实时执行的行动计划等应用。我们贡献了一个经过人工验证的不安全代码片段数据集,并在公开可用的数据集上对我们的方法进行了正确性、安全性和延迟的基准测试。结果表明,我们的方法明显优于现有方法,尤其是在安全执行有风险的代码片段方面的能力。
🔬 方法详解
问题定义:论文旨在解决LLM生成的代码在生产环境中直接使用所带来的安全问题。现有方法,如人工代码审查和传统安全测试,在自动化和实时性要求高的场景下变得不切实际或不可靠,无法有效防范潜在的恶意代码和漏洞。
核心思路:核心思路是通过一个安全转译器和执行器(STELP)来隔离和控制LLM生成的代码的执行环境。STELP对LLM生成的代码进行转译,使其在受限的环境中运行,从而限制其潜在的破坏性操作。这种方法的核心在于将安全风险控制在可管理的范围内,而不是完全依赖于LLM生成代码的质量。
技术框架:STELP的整体架构包含以下几个主要模块:1) 代码接收模块:接收LLM生成的代码片段。2) 安全转译模块:将LLM生成的代码转译为在受限环境中可执行的安全代码。3) 受限执行环境:一个隔离的、资源受限的执行环境,用于运行转译后的代码。4) 监控与日志模块:监控代码执行过程,记录关键事件和资源使用情况,以便进行安全审计和故障排除。
关键创新:最重要的技术创新点在于安全转译模块的设计。该模块能够识别并消除LLM生成代码中的潜在恶意操作,例如文件系统访问、网络连接和系统调用。通过将这些操作替换为安全的替代方案或完全禁用它们,STELP有效地降低了代码执行的风险。与现有方法的本质区别在于,STELP不是试图验证LLM生成代码的正确性,而是假设代码可能存在恶意行为,并采取措施来限制其影响。
关键设计:STELP的关键设计包括:1) 使用白名单机制来限制允许执行的操作。2) 采用沙箱技术来隔离代码执行环境。3) 实现细粒度的资源控制,例如限制内存使用和CPU时间。4) 设计可配置的安全策略,允许用户根据不同的应用场景调整安全级别。具体的参数设置和网络结构等细节未在摘要中提及,属于未知信息。
📊 实验亮点
论文通过实验验证了STELP的有效性。结果表明,STELP在安全执行风险代码片段方面显著优于现有方法。具体而言,STELP能够成功阻止恶意代码的执行,同时保持较高的代码执行效率。此外,论文还贡献了一个经过人工验证的不安全代码片段数据集,为后续研究提供了宝贵的资源。具体的性能数据和提升幅度未在摘要中明确给出,属于未知信息。
🎯 应用场景
STELP可应用于各种需要安全执行LLM生成代码的场景,例如:自动化软件开发流程、智能家居系统、机器人控制系统等。它能够保障AI系统在无需人工干预的情况下安全运行,降低安全风险,提高开发效率。未来,STELP有望成为构建安全可靠的自主AI系统的关键组成部分。
📄 摘要(原文)
Rapid evolution of Large Language Models (LLMs) has achieved major advances in reasoning, planning, and function-calling capabilities. Multi-agentic collaborative frameworks using such LLMs place them at the center of solving software development-related tasks such as code generation. However, direct use of LLM generated code in production software development systems is problematic. The code could be unstable or erroneous and contain vulnerabilities such as data poisoning, malicious attacks, and hallucinations that could lead to widespread system malfunctions. This prohibits the adoption of LLM generated code in production AI systems where human code reviews and traditional secure testing tools are impractical or untrustworthy. In this paper, we discuss safety and reliability problems with the execution of LLM generated code and propose a Secure Transpiler and Executor of LLM-Generated Program (STELP), capable of executing LLM-generated code in a controlled and safe manner. STELP secures autonomous production AI systems involving code generation, filling the critical void left by the impracticality or limitations of traditional secure testing methodologies and human oversight. This includes applications such as headless code generation-execution and LLMs that produce executable code snippets as an action plan to be executed in real time. We contribute a human-validated dataset of insecure code snippets and benchmark our approach on publicly available datasets for correctness, safety, and latency. Our results demonstrate that our approach outperforms an existing method by a significant margin, particularly in its ability to safely execute risky code snippets. Warning: This paper contains malicious code snippets that should be run with caution.