VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem

Bibliographic Details
Main Author: Morais, Rita Rodrigues
Publication Date: 2024
Format: Master thesis
Language: eng
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: http://hdl.handle.net/10400.5/98215
Summary: Tese de mestrado, Segurança Informática , 2025, Universidade de Lisboa, Faculdade de Ciências
id RCAP_88e5954899f6e795ce43b96a5be4577c
oai_identifier_str oai:repositorio.ulisboa.pt:10400.5/98215
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de LinguagemGrandes Modelos de LinguagemPromptAnálise estáticaDeteção de vulnerabilidadesCorreção de vulnerabilidadesTeses de mestrado - 2025Departamento de InformáticaTese de mestrado, Segurança Informática , 2025, Universidade de Lisboa, Faculdade de CiênciasO crescimento exponencial da complexidade e dimensão do software tem levado a um aumento alarmante no número de vulnerabilidades reportadas. A sua correção de forma manual torna-se impraticável face a esta escala, e as ferramentas de análise estática, embora úteis na deteção, apresentam limitações na correção e frequentemente geram falsos positivos. Esta dissertação propõe uma ferramenta inovadora, denominada VulnFix, para automatizar a deteção e correção de vulnerabilidades em código Python. A ferramenta VulnFix combina a capacidade de deteção de três ferramentas de análise estática (Bandit, Semgrep e Snyk) com o poder de correção dos Grandes Modelos de Linguagem (Large Language Model - LLM) Gemini 1.5 Pro e GPT-4o. Aproveitando os avanços da aprendizagem profunda em processamento de linguagem natural, a ferramenta processa código Python, deteta e identifica vulnerabilidades através das ferramentas de análise estática e, em seguida, utiliza os LLM para gerar patchs, através de prompts adaptados. A arquitetura modular da ferramenta VulnFix permite a sua adaptação a diferentes projetos e a inclusão de outros métodos de deteção e modelos. A avaliação da ferramenta VulnFix, realizada com um conjunto de dados de vulnerabilidades reais em Python associadas a Common Weakness Enumeration (CWE) específicos, obteve uma accuracy de 53,9% na deteção e uma taxa de sucesso de 33,3% na correção das vulnerabilidades identificadas, com 97.2% dos patchs v álidos. A ferramenta também demonstrou capacidade para identificar 15,4% dos falsos positivos. Apesar das limitações, nomeadamente a inexistência de uma baseline para comparação e a dependência da qualidade das ferramentas de análise estática, a VulnFix representa um passo importante na automatização da correção de vulnerabilidades, oferecendo um ponto de partida valioso para futuras investigações nesta área crucial da segurança de softwareThe exponential growth in software complexity and size has led to an alarming increase in the number of reported vulnerabilities. Manual patching has become impractical at this scale, and static analysis tools, while useful for detection, have limitations in remediation and often produce false positives. This dissertation proposes an innovative tool, named VulnFix, to automate the detection and remediation of vulnerabilities in Python code. VulnFix combines the detection capabilities of three static analysis tools (Bandit, Semgrep, and Snyk) with the remediation power of Large Language Model (LLM) Gemini 1.5 Pro and GPT-4. Leveraging advancements in deep learning for natural language processing, the tool processes Python code, detects and identifies vulnerabilities using the static analysis tools, and then utilizes the LLMs to generate patches, guided by tailored prompts. The modular architecture of VulnFix allows for its adaptation to different projects and the incorporation of new tools and models. The evaluation of VulnFix, conducted with a dataset of real-world Python vulnerabilities associated with specific Common Weakness Enumeration (CWE), achieved a 53.9% accuracy in detection and a 33.3% success rate in remediating identified vulnerabilities, with 97.2% of the generated patches being valid. The tool also demonstrated the ability to identify 15.4% of false positives. Despite limitations, including the lack of a direct baseline for comparison and the reliance on the quality of static analysis tools, VulnFix represents a significant step towards automating vulnerability remediation, offering a valuable starting point for future research in this crucial area of software security.Neves, Nuno Fuentecilla Maia Ferreira, 1969-Repositório da Universidade de LisboaMorais, Rita Rodrigues2025-02-07T16:13:09Z202520242025-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.5/98215enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-17T16:33:45Zoai:repositorio.ulisboa.pt:10400.5/98215Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T04:19:52.422973Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
title VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
spellingShingle VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
Morais, Rita Rodrigues
Grandes Modelos de Linguagem
Prompt
Análise estática
Deteção de vulnerabilidades
Correção de vulnerabilidades
Teses de mestrado - 2025
Departamento de Informática
title_short VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
title_full VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
title_fullStr VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
title_full_unstemmed VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
title_sort VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
author Morais, Rita Rodrigues
author_facet Morais, Rita Rodrigues
author_role author
dc.contributor.none.fl_str_mv Neves, Nuno Fuentecilla Maia Ferreira, 1969-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Morais, Rita Rodrigues
dc.subject.por.fl_str_mv Grandes Modelos de Linguagem
Prompt
Análise estática
Deteção de vulnerabilidades
Correção de vulnerabilidades
Teses de mestrado - 2025
Departamento de Informática
topic Grandes Modelos de Linguagem
Prompt
Análise estática
Deteção de vulnerabilidades
Correção de vulnerabilidades
Teses de mestrado - 2025
Departamento de Informática
description Tese de mestrado, Segurança Informática , 2025, Universidade de Lisboa, Faculdade de Ciências
publishDate 2024
dc.date.none.fl_str_mv 2024
2025-02-07T16:13:09Z
2025
2025-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.5/98215
url http://hdl.handle.net/10400.5/98215
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602020275126272