VulnFix: Correção de Vulnerabilidades através de Grandes Modelos de Linguagem
| Main Author: | |
|---|---|
| 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 |