Can We Generate Shellcodes via Natural Language? An Empirical Study
Not on the map. Why?
Abstract (arXiv)
Writing software exploits is an important practice for offensive security analysts to investigate and prevent attacks. In particular, shellcodes are especially time-consuming and a technical challenge, as they are written in assembly language. In this work, we address the task of automatically generating shellcodes, starting purely from descriptions in natural language, by proposing an approach based on Neural Machine Translation (NMT). We then present an empirical study using a novel dataset (Shellcode_IA32), which consists of 3,200 assembly code snippets of real Linux/x86 shellcodes from public databases, annotated using natural language. Moreover, we propose novel metrics to evaluate the accuracy of NMT at generating shellcodes. The empirical analysis shows that NMT can generate assembly code snippets from the natural language with high accuracy and that in many cases can generate entire shellcodes with no errors.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 37 of its 97 references that are in the map. First posted on arXiv 8 Feb 2022.
Builds on
37 of 97 references.
References · 37
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2014Neural Machine Translation by Jointly Learning to Align and Translatecited by 4,530
- 2014Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translationcited by 4,016
- 2014Sequence to Sequence Learning with Neural Networkscited by 2,974
- 2018Deep contextualized word representationscited by 2,285
- 2016Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translationcited by 1,471
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2015Effective Approaches to Attention-based Neural Machine Translationcited by 1,024
25 more
- 2017Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learningcited by 679
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 638
- 2017A Structured Self-attentive Sentence Embeddingcited by 318
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 177
- 2018Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflowcited by 165
- 2018Coarse-to-Fine Decoding for Neural Semantic Parsingcited by 110
- 2018NL2Bash: A Corpus and Semantic Parser for Natural Language Interface to the Linux Operating Systemcited by 97
- 2017Structured Attention Networkscited by 95
- 2017Abstract Syntax Networks for Code Generation and Semantic Parsingcited by 92
- 2018TRANX: A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generationcited by 88
- 2016Latent Predictor Networks for Code Generationcited by 73
- 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
- 2019Does BLEU Score Work for Code Migration?cited by 49
- 2017Automatically Generating Commit Messages from Diffs using Neural Machine Translationcited by 42
- 2017From Language to Programs: Bridging Reinforcement Learning and Maximum Marginal Likelihoodcited by 41
- 2018Retrieval-Based Neural Code Generationcited by 41
- 2020Incorporating External Knowledge through Pre-training for Natural Language to Code Generationcited by 36
- 2016Simpler Context-Dependent Logical Forms via Model Projectionscited by 33
- 2020TF-Coder: Program Synthesis for Tensor Manipulationscited by 27
- 2021Translation Quality Assessment: A Brief Survey on Manual and Automatic Methodscited by 23
- 2021CommitBERT: Commit Message Generation Using Pre-Trained Programming Language Modelcited by 16
- 2018XNMT: The eXtensible Neural Machine Translation Toolkitcited by 14
- 2021EVIL: Exploiting Software via Natural Languagecited by 11
- 2018Learning to Generate Corrective Patches using Neural Machine Translationcited by 10
- 2020Relevance Transformer: Generating Concise Code Snippets with Relevance Feedbackcited by 6
Built on by
Not cited yet.