Visão geral das ferramentas de segurança de repositório do GitHub

imagem


1. Introdução


Quando você começa a criar um repositório no GitHub, uma das primeiras coisas que você deve pensar é na segurança.

Caso esteja criando seu próprio repositório GitHub ou contribuindo frequentemente para o repositório, você precisa saber se o seu código contém alguma vulnerabilidade. Vulnerabilidades em repositórios no passado causavam problemas de segurança. Isso foi enfatizado pelo fato de que dois dos maiores vazamentos de dados nos últimos tempos - Equifax e Heartbleed SSL Exploit - começaram com vulnerabilidades com os componentes de código aberto correspondentes que poderiam ser usados ​​no futuro.

Nesta postagem, examinaremos e analisaremos quatro ferramentas separadas que você pode usar para identificar vulnerabilidades no seu repositório GitHub. Cada uma dessas quatro ferramentas tem suas próprias superpotências, mas cada uma tem suas fraquezas. Este artigo ajudará você a escolher a ferramenta certa para seu projeto de código aberto.
EDISON Software - desenvolvimento web
Este artigo foi traduzido com o apoio do software EDISON, que fornece conselhos práticos aos juniores , além de projetar software e escrever TK em russo e inglês .


Guardrails


imagem

O GuardRails é um aplicativo de segurança freemium disponível no mercado do GitHub . O GuardRails pode fornecer análise de código estático, bem como identificar dependências vulneráveis. Ele escreve comentários no pool de solicitações com vulnerabilidades.

O próprio aplicativo varrerá novas entradas no código do usuário em tempo real, o que permite que os usuários executem ações rapidamente para eliminar vulnerabilidades quase imediatamente após elas aparecerem. Isso ajuda a proteger o repositório e o código contra invasores. Em relação ao pool de solicitações, o GuardRails gravará comentários sobre cada solicitação quando detectar um problema de segurança e, com as ramificações, essas informações serão exibidas no painel do GuardRails.

O princípio norteador do serviço GuardRails é sua configuração rápida e abrangente, na qual os usuários podem integrar o GuardRails com todos os seus repositórios em minutos. Você também pode integrar o GuardRails ao Slack para que as notificações cheguem até você com mais eficiência.

Atualmente, o GuardRails suporta Python, Ruby, JavaScript, Solidity, Go, Java e PHP.

Parafuso WhiteSource


imagem

O WhiteSource Bolt ajuda os usuários do GitHub a criar verificações em seus repositórios, permitindo identificar vulnerabilidades de código aberto que podem aparecer no código. É fornecido pela WhiteSource, especialista na área de segurança, licenciamento e geração de relatórios na área de código aberto. Eles operam no mercado desde 2011 e podem contar com a ajuda de mais de 2,1 milhões de desenvolvedores diferentes.

O serviço deles funciona de maneira que, toda vez que uma ação push ocorre, o Bolt começa a varrer seu repositório e cria um problema para cada vulnerabilidade detectada. Também criará problemas para novas vulnerabilidades que foram descobertas com componentes de código-fonte aberto existentes. Além disso, ele pode impedir a entrada de componentes vulneráveis ​​no código, cancelando automaticamente um pool de solicitações que contêm vulnerabilidades.

A Bolt também fornece a seus usuários acesso ao seu próprio banco de dados de vulnerabilidades WhiteSource, que é extenso e considerado por muitos como o mercado de segurança de código aberto mais caro. Você receberá algumas informações sobre quaisquer vulnerabilidades detectadas, incluindo dados do CVE e CVSS, correções sugeridas, caminhos para componentes vulneráveis ​​e links para obter ajuda.

Atualmente, o Bolt suporta mais de 200 programas diferentes, incluindo Java, Python, PHP, C #, C ++ e outros.

LGTM


imagem

O LGTM é um aplicativo de projeto de código aberto gratuito que ajuda os usuários a detectar possíveis vulnerabilidades em seu código e também evita que elas ocorram em primeiro lugar. Em particular, a LGTM usa dados coletados por uma equipe de pesquisa de segurança que se concentra em encontrar vulnerabilidades de dia zero. Mais de 700.000 desenvolvedores e mais de 135.000 projetos de código aberto se beneficiaram dos serviços LGTM, e esse nível de experiência atesta a qualidade de seus serviços. O aplicativo LGTM GitHub está disponível no mercado GitHub.

Ao trabalhar em seu repositório, a LGTM pode verificar automaticamente seu código, verificando vulnerabilidades e CVE que podem aparecer. Graças à grande comunidade de desenvolvedores e pesquisadores experientes da LGTM, você entende que os serviços que eles fornecem podem ser de grande benefício para a segurança do seu repositório. Isso torna ainda mais fácil do que manter um log de consulta e, com ele, você pode detectar possíveis vulnerabilidades antes que elas entrem na base de código.

Atualmente, a LGTM possui um grande número de linguagens de programação suportadas, cujo suporte se estende a C, C ++. COBOL, Python, Javascript e Java.

Alerta de segurança do Github


imagem

Alertas de segurança do GitHub é um serviço gratuito fornecido a proprietários e membros de repositórios do GitHub com dependências. Usando seu próprio gráfico de dependência, os usuários poderão ver quando há vulnerabilidades em suas dependências e fornecerão aos usuários sugestões para corrigir essas vulnerabilidades.

Quando o GitHub notificar você sobre uma possível vulnerabilidade, você receberá uma atualização na qual o GitHub o aconselhará sobre quais de suas dependências precisam ser atualizadas. Se houver uma versão segura conhecida da dependência, o GitHub escolherá uma para você usar o aprendizado de máquina e ela será incluída na recomendação.
Quando se trata de informações sobre cada vulnerabilidade, o GitHub informa qual vulnerabilidade afeta, o intervalo de versões que afeta, o ID do CVE e quaisquer correções propostas contidas no banco de dados de vulnerabilidades.

Atualmente, o serviço suporta JavaScript, Ruby e Python.


Leia também o blog
Empresa EDISON:


20 bibliotecas para
aplicação iOS espetacular

Source: https://habr.com/ru/post/pt477092/


All Articles