Train in Vain: Preventing unauthorized use of code datasets through poisoning that preserves functionality
Train in Vain: Functionality-Preserving Poisoning to Prevent Unauthorized Use of Code Datasets
The researchers propose FunPoison, a method for poisoning code datasets while preserving code functionality, aimed at reducing the value of datasets used without authorization to train CodeLLMs. The method injects short, compilable weak-use snippets into executed code paths, uses reusable statement-level templates, automatic repair and conservative safety checks to guarantee no side effects, and uses type-aware synthetic modules to suppress static analysis warnings and improve stealthiness. The authors state that experiments require poisoning only 10% of the dataset to achieve the poisoning effect, while maintaining 100% compilability and functional correctness, and resisting multiple code cleaning techniques.