Titulo Estágio
Smart Patching: Automating Security Fixes in Code with AI
Áreas de especialidade
Sistemas Inteligentes
Engenharia de Software
Local do Estágio
CISUC
Enquadramento
Estudos mostram que, de forma geral, o software é frequentemente disponibilizado com vulnerabilidades de segurança. Existem várias razões para isso, mas a mais comum é o facto de os programadores, na sua maioria, não serem especializados em segurança, o que faz com que seja mais difícil identificar e corrigir vulnerabilidades.
Existem várias abordagens para detetar vulnerabilidades de forma automática e, embora a sua eficácia ainda esteja longe de ser satisfatória, têm sido feitos esforços significativos nas últimas décadas. No entanto, as técnicas que geram automaticamente correções para as vulnerabilidades detetadas ainda se encontram numa fase inicial de desenvolvimento.
É também reconhecido que há padrões de código vulnerável que são frequentemente repetidos. Assim, ferramentas automáticas podem reduzindo o tempo necessário para identificar corrigir os problemas e, consequentemente, os custos associados.
Os Modelos de Linguagem de Larga Escala (LLMs) têm vindo a ser cada vez mais utilizados para auxiliar o desenvolvimento de software. Desta forma estas ferramentas, se utilizadas de forma correta, podem ser aliados na indentificação e correcção de falhas.
Objetivo
- Analisar o estado da arte e as tendências tecnológicas dos Modelos de Linguagem de Grande Escala (LLMs) aplicados à geração e identificação de vulnerabilidades em C, utilizando o dataset https://vulnerabilitydataset.dei.uc.pt/
- Proposta de um modelo para a identificação e correcção automática de vulnerabilidades
- Avaliação da generalização da abordagem.
Plano de Trabalhos - Semestre 1
T1 – Análise e levantamento de abordagens de estado da arte
T2 - Definição do tipo de vulnerabilidades a identificar.
T3 - Proposta de abordagem
T4 – Escrita de relatório intermédio.
Plano de Trabalhos - Semestre 2
T1 – Implementação de modelo.
T2 - Testes e validação de modelo em linha com o verificado no estado da arte
T3 - Refinamento do sistema;
T4 – Escrita do relatório final
Condições
O/a estudante irá trabalhar no âmbito do projeto interdisciplinar AI-SSD, desenvolvido pelos grupos SSE e bAI do CISUC. O projeto disponibiliza um espaço de trabalho dedicado e os recursos computacionais necessários. Adicionalmente, os/as estudantes elegíveis poderão ter a oportunidade de receber uma bolsa de investigação para licenciado, com a duração mínima de três meses, de acordo com os valores mensais estipulados pela Fundação para a Ciência e a Tecnologia (FCT).
Orientador
Nuno Lourenço / João Campos
naml@dei.uc.pt 📩