Explorando o Uso de LLMs para Fuzzing de Código Lua: Metodologia e Primeiras Etapas

  • Richard Facin Souza UFFS
  • Samuel da Silva Feitosa UFFS

Resumo


O fuzzing é uma técnica crucial para encontrar vulnerabilidades em software, mas sua eficácia em linguagens de script como Lua é limitada pela dificuldade de gerar entradas de teste semanticamente válidas. Este trabalho propõe uma metodologia que utiliza Modelos de Linguagem de Grande Escala (LLMs) para gerar mutações semanticamente ricas para o fuzzing de scripts Lua. Nossa abordagem envolve o desenvolvimento de um protótipo de fuzzer que explora a capacidade de aprendizado em contexto de um LLM para criar variações de código sintática e semanticamente plausíveis, visando explorar caminhos de execução complexos de forma mais eficaz. Validaremos esta metodologia comparando sua capacidade de descobrir vulnerabilidades e aumentar a cobertura de código em relação a técnicas de fuzzing tradicionais, esperando oferecer uma contribuição significativa para o teste de software automatizado e a segurança de sistemas que utilizam Lua.
Palavras-chave: Fuzzing, LLMs, Lua, Vulnerabilidades, Teste de Software

Referências

Deckker, D. and Sumanasekara, S. (2025). The role of chatgpt in software development and code generation: A review of opportunities, challenges, and future directions. TechRxiv Preprints. Preprint, disponível em: [link].

Eom, J., Jeong, S., and Kwon, T. (2024). Covrl: Fuzzing javascript engines with coverage-guided reinforcement learning for llm-based mutation. arXiv preprint arXiv:2402.12222v1.

Godefroid, P. (2020). Fuzzing: Hack, art, and science. Communications of the ACM, 63(2):70–76.

Huang, Y., Zuo, Z., Sun, Z., Yu, L., and Zhang, T. (2024). Large language models based fuzzing techniques: A survey. arXiv preprint arXiv:2401.08753.

Ierusalimschy, R. (2016). Programming in Lua. Feisty Duck, 4th edition.

Ierusalimschy, R. (2020). Lua 5.4 Reference Manual. PUC-Rio. Documentação oficial da linguagem Lua.

Jiang, Y., Zhang, C., Ruan, B., Liu, J., Rigger, M., Yap, R. H. C., and Liang, Z. (2025). Fuzzing the php interpreter via dataflow fusion. arXiv preprint arXiv:2410.21713v2.

Lua.org (2025). About lua. Acesso em May. 2025.

Manès, V. J. M., Han, H., Han, C., Cha, S. K., Egele, M., Schwartz, E. J., and Woo, M. (2021). The art, science, and engineering of fuzzing: A survey. IEEE Transactions on Software Engineering, 47(11):2312–2331.

Marbux (2021). Where lua is used. Lista arquivada de casos de uso da linguagem Lua.

Naveed, H., Khan, A. U., Qiu, S., Saqib, M., Anwar, S., Usman, M., Akhtar, N., Barnes, N., and Mian, A. (2024). A comprehensive overview of large language models. Elsevier Preprint. Preprint, disponível em: [link].

Ou, X., Li, C., Jiang, Y., and Xu, C. (2024). The mutators reloaded: Fuzzing compilers with large language model generated mutation operators. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’24), pages 298–312, La Jolla, CA, USA. ACM.

Siberoloji (2021). Basics of lua programming for nmap nse. Introdução prática ao uso de Lua com Nmap.

Wang, J. and Chen, Y. (2023). A review on code generation with llms: Application and evaluation. In Proceedings of the 2023 IEEE International Conference on Medical Artificial Intelligence (MedAI), pages 284–290, Shanghai, China. IEEE.

Xia, C. S., Paltenghi, M., Tian, J. L., Pradel, M., and Zhang, L. (2024). Fuzz4all: Universal fuzzing with large language models. In Proceedings of the 46th International Conference on Software Engineering (ICSE). IEEE/ACM.

Yang, W., Gao, C., Liu, X., Li, Y., and Xue, Y. (2024). Rust-twins: Automatic rust compiler testing through program mutation and dual macros generation. In Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering (ASE). ACM.
Publicado
29/10/2025
SOUZA, Richard Facin; FEITOSA, Samuel da Silva. Explorando o Uso de LLMs para Fuzzing de Código Lua: Metodologia e Primeiras Etapas. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 9. , 2025, Chapecó/SC. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 139-148. DOI: https://doi.org/10.5753/eres.2025.16853.