Enhancing Robustness of AI Offensive Code Generators via Data Augmentation
arXiv:2306.05079 · doi:10.1007/s10664-024-10569-y
Abstract
Since manually writing software exploits for offensive security is time-consuming and requires expert knowledge, AI-base code generators are an attractive solution to enhance security analysts' productivity by automatically crafting exploits for security testing. However, the variability in the natural language and technical skills used to describe offensive code poses unique challenges to their robustness and applicability. In this work, we present a method to add perturbations to the code descriptions to create new inputs in natural language (NL) from well-intentioned developers that diverge from the original ones due to the use of new words or because they miss part of them. The goal is to analyze how and to what extent perturbations affect the performance of AI code generators in the context of offensive code. First, we show that perturbed descriptions preserve the semantics of the original, non-perturbed ones. Then, we use the method to assess the robustness of three state-of-the-art code generators against the newly perturbed inputs, showing that the performance of these AI-based solutions is highly affected by perturbations in the NL descriptions. To enhance their robustness, we use the method to perform data augmentation, i.e., to increase the variability and diversity of the NL descriptions in the training data, proving its effectiveness against both perturbed and non-perturbed code descriptions.
References in corpus (7)
- TextBugger: Generating Adversarial Text Against Real-world Applications
- Natural Attack for Pre-trained Models of Code
- Semantic Robustness of Models of Source Code
- Adversarial Robustness of Deep Code Comment Generation
- Automating the Correctness Assessment of AI-generated Code for Security Contexts
- Who Evaluates the Evaluators? On Automatic Metrics for Assessing AI-based Offensive Code Generators
- Can We Generate Shellcodes via Natural Language? An Empirical Study