Utilize este link para identificar ou citar este item: https://bdm.unb.br/handle/10483/45497
Arquivos neste item:
Arquivo Descrição TamanhoFormato 
2025_MatheusSouza_PedroHenriqueSilva_tcc.pdf953,68 kBAdobe PDFver/abrir
Título: Comparação entre ferramentas de análise estática de código para detecção de vulnerabilidades em aplicação deliberadamente vulnerável
Autor(es): Souza, Matheus Lopes de
Silva, Pedro Henrique de Moura e
Orientador(es): Porto, Daniel de Paula
Assunto: Aplicações web
Dados sensíveis
Software - desenvolvimento
Segurança da informação
Segurança da informação - vulnerabilidades
Data de apresentação: 22-Jul-2025
Data de publicação: 20-Ago-2026
Referência: SOUZA, Matheus Lopes de; SILVA, Pedro Henrique de Moura e. Comparação entre ferramentas de análise estática de código para detecção de vulnerabilidades em aplicação deliberadamente vulnerável. 2025. 68 f., il. Trabalho de Conclusão de Curso (Bacharelado em Engenharia da Computação) — Universidade de Brasília, Brasília, 2025.
Resumo: Com o aumento do uso de aplicações web e a digitalização de tarefas cotidianas, tornou se comum o armazenamento e o trânsito de informações sensíveis nesse ambiente. Como consequência, os ataques cibernéticos direcionados a essas aplicações têm se intensificado, explorando vulnerabilidades que possibilitam o acesso indevido a dados restritos. Nesse cenário, a utilização de ferramentas de análise estática de código surge como uma estraté gia eficaz para evitar que falhas exploráveis sejam introduzidas durante o desenvolvimento. Este trabalho tem como objetivo comparar e avaliar quatro ferramentas de análise es tática de código, gratuitas e de código-aberto, quanto à sua capacidade de detectar vulner abilidades na aplicação deliberadamente insegura OWASP Juice Shop, desenvolvida com JavaScript e TypeScript. As vulnerabilidades foram mapeadas com base nas categorias do OWASP Top 10, e a avaliação utilizou métricas quantitativas clássicas da literatura, como recall, precision, F1 score e o Matthews Correlation Coefficient (MCC), obtidas a partir da normalização e classificação manual dos alertas emitidos pelas ferramentas. A partir dos resultados obtidos, o Semgrep foi classificado como a ferramenta com melhor desempenho no contexto proposto, seguido pelo Bearer, com diferença pouco sig nificativa entre ambos. Além disso, foi realizada uma análise individual das limitações de cada ferramenta, destacando os principais desafios enfrentados por elas durante a análise de cada categoria da OWASP Top 10. Por fim, os aspectos qualitativos foram avaliados com base em critérios como interface gráfica, customização de regras e integração com ambientes de desenvolvimento. Conclui-se que o Semgrep e o Bearer se destacaram por empregarem técnicas que vão além da técnica de pattern matching, justamente o principal limitador identificado nas demais ferramentas analisadas. Além disso, ambos apresentaram um conjunto mais amplo de regras voltadas às linguagens JavaScript e TypeScript, bem como desempenho superior nas avaliações qualitativas realizadas.
Abstract: With the increasing use of web applications and the digitalization of everyday tasks, the storage and transmission of sensitive information in this environment have become common. As a result, cyberattacks targeting these applications have intensified, exploiting vulnerabilities that allow unauthorized access to restricted data. In this context, the use of static code analysis tools emerges as an effective strategy to prevent exploitable flaws from being introduced during the development process. This study aims to compare and evaluate four free and open-source static analysis tools regarding their ability to detect vulnerabilities in the deliberately insecure OWASP Juice Shop application, developed using JavaScript and TypeScript. The vulnerabilities were mapped based on the OWASP Top 10 categories, and the evaluation used classi cal quantitative metrics from the literature, such as recall, precision, F1 score, and the Matthews Correlation Coefficient (MCC), obtained through normalization and manual classification of the alerts reported by the tools. Based on the results, Semgrep was classified as the top-performing tool in the proposed context, followed by Bearer, with only a slight difference between the two. Additionally, an individual analysis of each tool’s limitations was carried out, highlighting the main challenges they faced when analyzing each OWASP Top 10 category. Finally, qualitative aspects were assessed based on criteria such as graphical interface, rule customization, and integration with development environments. It is concluded that both Semgrep and Bearer stood out for employing techniques beyond simple pattern matching, the main limitation identified in the other tools analyzed. Furthermore, both tools offered a broader set of rules targeting JavaScript and TypeScript languages, as well as superior performance in the qualitative evaluations.
Informações adicionais: Trabalho de Conclusão de Curso (graduação) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2025.
Licença: A concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor que autoriza a Biblioteca Digital da Produção Intelectual Discente da Universidade de Brasília (BDM) a disponibilizar o trabalho de conclusão de curso por meio do sítio bdm.unb.br, com as seguintes condições: disponível sob Licença Creative Commons 4.0 International, que permite copiar, distribuir e transmitir o trabalho, desde que seja citado o autor e licenciante. Não permite o uso para fins comerciais nem a adaptação desta.
Aparece na Coleção:Engenharia da Computação



Todos os itens na BDM estão protegidos por copyright. Todos os direitos reservados.