Is Vibe Coding Safe? Benchmarking Vulnerability of Agent-Generated Code in Real-World Tasks

📄 arXiv: 2512.03262v1 📥 PDF

作者: Songwen Zhao, Danqing Wang, Kexun Zhang, Jiaxuan Luo, Zhuo Li, Lei Li

分类: cs.SE, cs.CL

发布日期: 2025-12-02


💡 一句话要点

SU S VI B E S基准测试揭示Agent生成代码在真实软件工程任务中存在严重安全漏洞

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

关键词: Vibe coding 代码生成 软件安全 大型语言模型 基准测试 安全漏洞 编码Agent

📋 核心要点

  1. 现有Vibe coding方法在软件工程任务中生成代码,但缺乏对安全性的充分考量,可能导致严重的安全漏洞。
  2. 论文提出SU S VI B E S基准,用于评估Agent生成代码在真实场景下的安全性,并分析现有Agent的安全缺陷。
  3. 实验结果表明,即使是先进的Agent,在生成功能正确的代码时,安全性也远未达标,安全策略难以有效缓解问题。

📝 摘要(中文)

Vibe coding是一种新兴的编程范式,它利用大型语言模型(LLM)Agent在少量监督下完成复杂的编码任务。尽管这种方法日益普及,但其输出结果在生产环境中部署是否安全仍然存疑。为了解答这个问题,我们提出了SU S VI B E S,一个包含200个来自真实开源项目的特性请求软件工程任务的基准,这些任务在人工编程时曾导致易受攻击的实现。我们使用前沿模型评估了多个广泛使用的编码Agent在这个基准上的表现。令人不安的是,所有Agent在软件安全性方面表现都很差。尽管使用Claude 4 Sonnet的SWE-Agent生成的解决方案在功能上61%是正确的,但只有10.5%是安全的。进一步的实验表明,诸如使用漏洞提示增强特性请求之类的初步安全策略无法缓解这些安全问题。我们的发现引发了人们对Vibe coding的广泛采用的严重担忧,尤其是在对安全性敏感的应用程序中。

🔬 方法详解

问题定义:论文旨在评估基于大型语言模型(LLM)的编码Agent在真实软件工程任务中生成代码的安全性。现有Vibe coding方法侧重于功能实现,忽略了潜在的安全漏洞,导致生成的代码可能存在注入攻击、越权访问等安全风险。这些风险在实际应用中可能造成严重后果。

核心思路:论文的核心思路是构建一个专门用于评估Agent生成代码安全性的基准测试集SU S VI B E S。该基准包含来自真实开源项目的软件工程任务,这些任务在人工编程时历史上曾导致过安全漏洞。通过在该基准上评估各种Agent的表现,可以量化Agent生成代码的安全风险,并为改进Agent的安全性提供指导。

技术框架:SU S VI B E S基准测试框架包含以下几个主要组成部分:1) 收集真实开源项目的特性请求,这些请求在人工实现时曾导致安全漏洞。2) 将这些特性请求转化为Agent可以理解的任务描述。3) 使用不同的编码Agent生成代码解决方案。4) 使用静态分析工具和人工审查来评估生成代码的安全性,识别潜在的漏洞。5) 统计Agent生成安全代码的比例,并与其他Agent进行比较。

关键创新:该论文的关键创新在于构建了一个专门用于评估Agent生成代码安全性的基准测试集SU S VI B E S。与现有的代码生成基准不同,SU S VI B E S侧重于安全性,包含真实世界中容易出现安全漏洞的任务。此外,论文还评估了多种安全策略对提高Agent生成代码安全性的效果,发现现有策略效果有限。

关键设计:SU S VI B E S基准包含200个来自真实开源项目的特性请求。论文使用了多种广泛使用的编码Agent,包括SWE-Agent和Claude 4 Sonnet。安全性评估采用了静态分析工具和人工审查相结合的方法。为了评估安全策略的效果,论文尝试了使用漏洞提示增强特性请求的方法,但发现效果不佳。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,即使是最先进的Agent(SWE-Agent with Claude 4 Sonnet),在SU S VI B E S基准上的安全性也远未达标。虽然61%的解决方案在功能上是正确的,但只有10.5%是安全的。此外,使用漏洞提示增强特性请求的安全策略未能显著提高Agent生成代码的安全性,表明现有安全策略不足以解决Vibe coding中的安全问题。

🎯 应用场景

该研究成果可应用于软件开发的安全评估环节,帮助开发者识别和修复Agent生成代码中的安全漏洞。通过使用SU S VI B E S基准,可以系统地评估不同Agent的安全性,并选择更安全的Agent进行开发。此外,该研究也为未来开发更安全的编码Agent提供了指导,促进Vibe coding技术在安全敏感领域的应用。

📄 摘要(原文)

Vibe coding is a new programming paradigm in which human engineers instruct large language model (LLM) agents to complete complex coding tasks with little supervision. Although it is increasingly adopted, are vibe coding outputs really safe to deploy in production? To answer this question, we propose SU S VI B E S, a benchmark consisting of 200 feature-request software engineering tasks from real-world open-source projects, which, when given to human programmers, led to vulnerable implementations. We evaluate multiple widely used coding agents with frontier models on this benchmark. Disturbingly, all agents perform poorly in terms of software security. Although 61% of the solutions from SWE-Agent with Claude 4 Sonnet are functionally correct, only 10.5% are secure. Further experiments demonstrate that preliminary security strategies, such as augmenting the feature request with vulnerability hints, cannot mitigate these security issues. Our findings raise serious concerns about the widespread adoption of vibe-coding, particularly in security-sensitive applications.