CodePoisonRAG: Knowledge Poisoning Attacks on Retrieval-Augmented Code Generation
Varun Gadey, Ziad Marey, Alexandra Dmitrienko
Abstract
Retrieval-Augmented Code Generation (RACG) improves LLM-based software development by retrieving external code artifacts, documentation, and patches, and incorporating them into the generation context. This reliance on external knowledge introduces a critical trust boundary: poisoned artifacts can influence generated code without modifying the underlying LLM. Prior work shows that selecting existing vulnerable examples can increase the general vulnerability rate of RACG outputs, but leaves open whether a black-box attacker can construct a single task-matched artifact that propagates an attacker-selected weakness. We introduce CodePoisonRAG, a targeted upstream knowledge-poisoning framework that transforms benign fixed-code entries into poisoned artifacts. Its attack chain combines CWE-specific Vulnerability Injection, which embeds a selected source-to-sink flow while retaining task alignment, with Semantic Mislabeling, which adds false safety claims without repairing the vulnerable behavior. The attacker has no access to the victim's deployed knowledge base, retriever, re-ranker, generator, prompt, or defense mechanism and injects at most one artifact per anticipated programming task. We construct 85 poisoned artifacts covering ten CWE classes across Java and C, yielding an aggregate corpus-poisoning ratio of 0.7%. Across three generators, all 85 artifacts appear among the Top-3 results for their corresponding queries, and CodePoisonRAG achieves attack success rates between 0.80 and 0.93. Against CodeGuarder, which injects vulnerability-specific security knowledge into the generation context, the attack retains success rates between 0.40 and 0.71. These results show that RACG poisoning extends beyond the incidental propagation of existing vulnerabilities to the targeted construction and propagation of attacker-selected weaknesses.
Create a lesson
Related papers
Overcoming the Randomness-Utility Trade-off in Answering Differentially Private Linear Queries
Surendra Ghentiyala, Pritish Kamath, Ravi Kumar et al.
When Does Authorization End? Effect Closure at Provider Boundaries
Igor Santos-Grueiro
SPADE: SPaT Attack Detection from the Connected Vehicle's Perspective
James Di Novo, Hany Ragab, Sylvain P. Leblanc
Card-Based Computation in the Virtual Player Simulation Model
Suthee Ruangwises
ACLE-MCP: Attested Capability Leases for Execution-Time Trust in Remote LLM Tool Use
Zhiyang Ding, Yang Luo, Guangpu Chen et al.
PrimSynth: An Agentic Approach to Discover, Validate, and Synthesize Exploit Primitives for Linux Kernel Vulnerabilities
Pengfei Wang, Anying Chen, Danjun Liu et al.