5 dicas práticas para criar códigos mais seguros

Garantir que um código seja seguro pode ser um desafio não tão divertido para desenvolvedores como criar testes ou verificar se as dependências estão atualizadas. Entretanto, existem recursos capazes de ajudar na questão da segurança durante a criação de códigos, facilitando essa tarefa sem precisar desviar a atenção do desenvolvimento.

Brian Douglas, Diretor de Developer Advocacy no GitHub, destaca cinco dicas de segurança que pessoas desenvolvedoras podem usar em seu fluxo de trabalho. Confira abaixo.

1. Torne o CodeQL parte da sua rotina de trabalho

A verificação de código desenvolvida pelo CodeQL é uma das ferramentas mais populares no GitHub quando se trata de garantir que não haja falhas de segurança no código que está sendo enviado. O mecanismo de análise de código estático do GitHub trata o código como dados e o torna consultável. Em seguida, usando uma biblioteca crescente de consultas de open source correspondentes a padrões de vulnerabilidade de segurança conhecidos, o CodeQL escaneia seu código para identificar possíveis problemas.

Leia mais: Conheça as áreas da TI com mais chances de emprego até 2023

Segundo Douglas, é possível adaptar o fluxo de trabalho às suas necessidades para ser executado sempre que enviar um novo código ou confirmar alterações em sua ramificação principal (ou qualquer outro número de eventos de webhook no GitHub).

Uma vez que as consultas do CodeQL são open source, o que significa que esta biblioteca está em constante crescimento com as contribuições da comunidade para proteger um código contra novos padrões, sem nenhuma ação da parte do usuário.

2. Dependabot para manter todas as suas dependências atualizadas

O Dependabot é complementar ao CodeQL. Enquanto o CodeQL detecta problemas de segurança em seu próprio código, o Dependabot detecta vulnerabilidades originadas das dependências do seu projeto. Um exemplo recente foi o Log4j, que introduziu uma série de impactos upstream para registros e dependências de pacotes. Como o Log4j é amplamente usado em aplicativos e sites para ajudar a registrar atividades, esse incidente significou que muitas pessoas foram forçadas a atualizar rapidamente suas versões do Log4j para evitar possíveis problemas.

Douglas recomenda que qualquer dev no GitHub configure o Dependabot o quanto antes, já que ele verifica automaticamente as dependências, procura por versões vulneráveis conhecidas no Banco de Dados Consultivo do GitHub, e informa se você tem uma vulnerabilidade com alertas próprios.

3. Adicione branches protegidas ao seu repositório

Seja trabalhando sozinha, em um grande projeto de open source ou construindo algo no trabalho, as branches protegidas são um ótimo complemento para garantir que seu projeto seja mais seguro. Branches, ou ramificações, protegidas facilitam o teste de novos recursos em um ambiente de pré-produção antes de liberá-los e também permitem definir controles sobre quem pode enviar alterações de código para produção.

4. Defina como o GitHub Actions será usado no seu repositório

No mundo do open source, qualquer pessoa pode usar o GitHub Actions, não importa quem ou onde esteja, o que é uma grande vantagem, já que essa funcionalidade permite criar fluxos de trabalho que criam e testam cada pull request no seu repositório, ou implantar pull requests mescladas em produção. Entretanto, nem sempre é interessante abrir o acesso sem restrições já que existem pessoas mal intencionadas.

Para algumas comunidades de open source, o risco de um usuário mal intencionado usar o GitHub Actions em seus projetos torna importante limitar quem pode usar essa função e quais ações podem ser usadas em um determinado repositório. É possível desativar o GitHub Actions ou limitar seu uso a contribuidores iniciantes e outras pessoas, para que eles não prejudiquem um projeto.

5. Defina as permissões para GITHUB_TOKEN no GitHub Actions

GITHUB_TOKEN é um recurso no GitHub Actions que pode ser usado para trazer segurança adicional aos projetos em que alguém precise autenticar fluxos de trabalho. É um token de acesso especial que é gerado automaticamente para cada projeto que precisa de acesso à instalação. Depois que esse trabalho for concluído, o token expira automaticamente para reduzir qualquer possível exposição a riscos.

Segundo Douglas, do Github, é importante considerar o uso de um GITHUB_TOKEN mais seguro em vez de um Personal Access Token (PAT) menos seguro. Outro benefício é poder controlar as permissões de leitura e gravação para seguir o princípio do menor fluxo de trabalho e mitigar qualquer exposição a riscos.

Recent Posts

SpaceX, Anthropic e OpenAI enfrentam riscos em possíveis IPOs

SpaceX, Anthropic e OpenAI estão no radar de Wall Street para possíveis aberturas de capital…

14 horas ago

Sistemas legados: como tomar decisões para garantir resiliência em setores críticos

por Eduardo Honorato Falar sobre infraestruturas críticas na Era Digital tem sua própria complexidade dentro…

18 horas ago

Sem equipes preparadas, IA não entrega transformação

A adoção de inteligência artificial (IA) nas empresas não depende apenas da disponibilidade de ferramentas.…

20 horas ago

Cohesity obtém patente para aplicar IA diretamente em dados de backup corporativos

A Cohesity anunciou a concessão da Patente Nº 12.619.501 pelo Escritório de Patentes e Marcas…

2 dias ago

Para Diogo Cortiz, maior desafio da IA é a falta de capacidade crítica para questionar suas respostas

Diogo Cortiz, professor da PUC-SP e doutor em Tecnologias da Inteligência e Design Digital, tem…

2 dias ago

Agentes de IA vão dar “superpoderes” a profissionais de TI, diz DJ Sampath, da Cisco

DJ Sampath chegou aos Estados Unidos há 30 anos com oito dólares no bolso e…

2 dias ago