A segurança é um elemento fundamental do desenvolvimento de software, mas os times nem sempre têm tempo, recursos ou os treinamentos necessários para proteger seus códigos devidamente. Ainda assim, as pessoas desenvolvedoras são a primeira linha de defesa de qualquer aplicação e podem contar com as ferramentas gratuitas do GitHub Copilot como grandes aliadas na proteção do código aberto e evolução das próprias habilidades.
A inteligência artificial não é somente capaz de escrever códigos, mas também entende o que está sendo desenvolvido, auxiliando a tornar o processo mais seguro quando devidamente configurada. Ela atua como um copiloto, exatamente como o nome indica, respondendo perguntas e analisando projetos para encontrar potenciais brechas de segurança enquanto sugere correções e mudanças para melhor proteção.
https://www.youtube.com/watch?
Com o GitHub Copilot adicionado à sua IDE de preferência, é possível, por exemplo, selecionar um código pré-existente e pedir ao agente de IA que analise, indicando possíveis vulnerabilidades ou sugerindo correções. Com o comando /fix, a tecnologia pode dar sugestões gerais sobre o trecho ou avaliar arquivos de um repositório. Ela também pode oferecer contexto ou indicações especializadas a partir de prompts como “qual a superfície de ataque?” ou “é possível fazer isso de uma maneira mais segura?”, aumentando ainda mais a qualidade e segurança dos projetos.
A tecnologia não auxilia apenas por meio da IA generativa, mas também pode funcionar como um agente de código integrado diretamente ao GitHub, que começa a trabalhar assim que uma issue é atribuída ao Copilot ou ativada por meio de prompt no VS Code, por exemplo. O agente cria um ambiente de desenvolvimento totalmente customizável, com o auxílio do GitHub Actions, e usa modelos de ponta que se destacam em tarefas de baixa a média complexidade em bases de código bem testadas, desde a adição de funcionalidades e correção de bugs até testes extensos, refatoração de código e aprimoramento da documentação. Dessa forma, é possível delegar as tarefas demoradas, mas entediantes, ao agente, enquanto a pessoa desenvolvedora foca no trabalho interessante.
O agente de IA está disponível em aplicações como Visual Studio Code, JetBrains IDEs, Neovim, XCode e GitHub Mobile, além de terminais e no github.com. Seu código pode ser ainda mais protegido com o uso de outras ferramentas de segurança também disponíveis no GitHub:
Dependabot
Ao trabalhar em um repositório público no GitHub, a pessoa desenvolvedora pode receber um pull request de um usuário chamado Dependabot. Esta ferramenta do GitHub verifica se as dependências de software da sua aplicação estão atualizadas e livres de vulnerabilidades.
Para ativar ou desativar o Dependabot, clique na aba Configurações do seu repositório. Role a página e selecione Segurança de Código no menu lateral esquerdo. Nessa seção, você encontrará todas as opções relacionadas ao recurso, onde também é possível ativar ou desativar alertas e atualizações automáticas.
Escaneamento de códigos e CodeQL
Recurso disponível no GitHub Actions, o escaneamento de códigos detecta automaticamente erros e vulnerabilidades comuns. É altamente recomendado habilitar a análise com CodeQL, um importante aliado para uma programação mais segura.
Para ativar o recurso, clique no botão Configurar e selecione Padrão no menu que aparece. Depois, clique em Habilitar CodeQL para que o GitHub Copilot passe a escanear seu código automaticamente toda vez que fizer um commit ou criar um pull request. A ferramenta também realiza checagens periódicas e, quando alguma vulnerabilidade é encontrada, a pessoa desenvolvedora é notificada para correção caso os alertas estejam devidamente configurados.
Copilot Autofix
Caso queira que o GitHub Copilot sugira correções automaticamente para as vulnerabilidades encontradas, ative o Copilot Autofix. Ele está localizado na mesma página de segurança mencionada acima, após o botão de ativação do CodeQL.
https://www.youtube.com/watch?
Com essa opção habilitada, o agente é executado assim que detectar um problema e cria um pull request com a correção sugerida. Você poderá revisar e aceitar a sugestão, sem precisar realizar a alteração manualmente.
Escaneamento de credenciais
Outro recurso essencial é o escaneamento de credenciais, também localizado no final da página de opções de segurança. O recurso gratuito para repositórios públicos permite que o GitHub verifique e sinalize qualquer dado sensível exposto no código, como senhas, tokens de API e chaves de acesso.
Inserir esse tipo de dado diretamente no código representa um alto risco de segurança. Quando habilitado, o escaneamento de credenciais checa os repositórios por tipos conhecidos de credenciais e alerta os administradores caso sejam detectados.
A segurança é um campo complexo, mas com esses passos, as pessoas desenvolvedoras podem proteger toda a jornada do código. Isso vale, principalmente, para quem não é expert no assunto, com o agente de IA e as ferramentas de segurança colaborando diretamente para que a programação siga as melhores práticas.