Inducing Vulnerable Code Generation in LLM Coding Assistants
Binqi Zeng, Quan Zhang, Chijin Zhou, Gwihwan Go, Yu Jiang, Heyuan Shi
TL;DR
Hackode reveals a new threat where LLM coding assistants referencing externally posted solutions can be steered to emit vulnerable code via hidden attack sequences. It uses a two-phase, gradient-guided attack sequence generation that adapts to diverse assembled inputs formed by varying prompt templates, instructions, and user queries, achieving an average ASR of $84.29\%$ across four open-source LLMs and $75.92\%$ in a real-world setup. Key contributions include identifying a practical external-information attack vector, constructing a transferable attack pipeline, and demonstrating substantial transferability and real-world impact through extensive experiments and ablation studies. The work underscores the need for defenses combining static/dynamic analysis and runtime monitoring to mitigate vulnerabilities propagated through externally-referenced code.
Abstract
Due to insufficient domain knowledge, LLM coding assistants often reference related solutions from the Internet to address programming problems. However, incorporating external information into LLMs' code generation process introduces new security risks. In this paper, we reveal a real-world threat, named HACKODE, where attackers exploit referenced external information to embed attack sequences, causing LLMs to produce code with vulnerabilities such as buffer overflows and incomplete validations. We designed a prototype of the attack, which generates effective attack sequences for potential diverse inputs with various user queries and prompt templates. Through the evaluation on two general LLMs and two code LLMs, we demonstrate that the attack is effective, achieving an 84.29% success rate. Additionally, on a real-world application, HACKODE achieves 75.92% ASR, demonstrating its real-world impact.
