Skip to main content

Pesquisando consultorias de segurança no banco de dados consultivo do GitHub

Você pode fazer uma pesquisa em Banco de Dados Consultivo GitHub para encontrar consultorias para risco de segurança sobre projetos de código aberto hospedados em GitHub.

Sobre o Banco de Dados Consultivo GitHub

O Banco de Dados Consultivo GitHub contém uma lista de vulnerabilidades de segurança conhecidas e malware, agrupados em duas categorias: consultorias revisadas por GitHub e consultorias não revisadas.

We add advisories to the Banco de Dados Consultivo GitHub from the following sources:

  • A Base de Dados de Vulnerabilidade Nacional
  • Uma combinação de aprendizado de máquina e revisão humana para detectar vulnerabilidades em commits públicos em GitHub
  • Consultorias de segurança relatadas em GitHub
  • O banco de dados de Consultorias de segurança de npm

Sobre tipos de consultorias de segurança

Note: Advisories for malware are currently in beta and subject to change.

Cada cosultoria no Banco de Dados Consultivo GitHub é para uma vulnerabilidade em projetos de código aberto ou para software de código aberto malicioso.

Uma vulnerabilidade é um problema no código de um projeto que poderia ser explorada para corromper a confidencialidade, a integridade ou a disponibilidade do projeto ou de outros projetos que usam o código. As vulnerabilidades variam de tipo, gravidade e método de ataque. De modo geral, as vulnerabilidades no código são introduzidas por acidente e corrigidas logo após serem descobertas. Você deve atualizar seu código para usar a versão fixa da dependência assim que estiver disponível.

Em contraste, o software malicioso, ou malware, é um código projetado intencionalmente para executar funções indesejadas ou nocivas. O malware pode apontar para hardware, software, dados confidenciais ou usuários de qualquer aplicativo que usar o malware. Você precisa remover o malware do seu projeto e encontrar uma alternativa mais segura para a dependência.

Consultorias revisadas por GitHub

As consultorias revisadas por GitHub são vulnerabilidades de segurança ou malware que foram mapeados com pacotes em ecossistemas com os quais temos compatibilidade. Analisamos cuidadosamente cada consultoria com relação à validade e nos asseguramos de que elas tenham uma descrição completa e contenham tanto o ecossistema como as informações sobre pacotes.

Geralmente, nós nomeamos nossos ecossistemas compatíveis após o registro do pacote associado à linguagem de programação de software. Nós revisamos as consultorias se eças não forem para uma vulnerabilidade em um pacote que vem de um registro compatível.

Se você tem uma sugestão para um novo ecossistema com o qual devemos ter compatibilidade, abra um problema de para discussão.

Se você habilitar Alertas do Dependabot para seus repositórios, você será notificado automaticamente quando uma nova consultoria revisada por GitHub relatar uma vulnerabilidade ou malware para um pacote de que você depende. Para obter mais informações, consulte "Sobre Alertas do Dependabot".

Consultorias não revisadas

As consultorias não revisadas são vulnerabilidades de segurança que publicamos automaticamente no Banco de Dados Consultivo GitHub, diretamente do feed de Dados de Vulnerabilidade Nacional.

Dependabot não cria Alertas do Dependabot para consultorias não revisadas, pois esse tipo de consultoria não é verificado com relação à validade ou integralidade.

Sobre informações em consultorias de segurança

Cada consultoria de segurança contém informações sobre a vulnerabilidade ou malware, que podem incluir a descrição, gravidade, pacote afetado, ecossistema de pacotes, versões afetadas e versões alteradas, impacto e informações opcionais como referências, soluções alternativas e créditos. Além disso, a consultoria da lista de Bancos de Vulnerabilidade Nacional contêm um link para o registro CVE, onde você pode ler mais detalhes sobre a vulnerabilidade, suas pontuações CVSS e seu nível de gravidade qualitativa. Para obter mais informações, consulte a "Base de Dados de Vulnerabilidade Nacional" do Instituto Nacional de Padrões e Tecnologia.

O nível de gravidade é um dos quatro níveis possíveis definidos no Sistema de Pontuação de vulnerabilidade Comum (CVSS), Seção 5".

  • Baixo
  • Médio/Moderado
  • Alto
  • Crítico

O Banco de Dados Consultivo GitHub usa os níveis de CVSS descritos acima. Se GitHub obtiver um CVE, o Banco de Dados Consultivo GitHub usará a versão 3.1 do CVSS. Se o CVE for importado, o Banco de Dados Consultivo GitHub será compatível com as versões 3.0 e 3.1 do CVSS.

Você também pode participar de Laboratório de Segurança GitHub para pesquisar tópicos relacionados a segurança e contribuir com ferramentas e projetos de segurança.

Acessar uma consultoria no Banco de Dados Consultivo GitHub

  1. Navegue até https://github.com/advisories.

  2. Opcionalmente, para filtrar a lista, use qualquer um dos menus suspensos. Filtros do menu suspenso

    Dica: Você pode usar a barra lateral à esquerda para explorar as consultorias revisadas por GitHub e as consultorias não revisadas separadamente.

  3. Clique em uma consultoria para ver os detalhes. Por padrão, você verá consultorias revisadas por GitHub para vulnerabilidades de segurança. Para mostrar consultorias de malware, use type:malware na barra de pesquisa.

O banco de dados também pode ser acessado usando a API do GraphQL. Por padrão, as consultas retornarão consultorias revisadas por GitHub de vulnerabilidades de segurança, a menos que você especifique type:malware. Para obter mais informações, consulte o evento de webhook "security_advisory".

Editando uma consultoria em Banco de Dados Consultivo GitHub

Você pode sugerir melhorias para qualquer consultoria em Banco de Dados Consultivo GitHub. Para obter mais informações, consulte "Editando consultorias de segurança em Banco de Dados Consultivo GitHub."

Pesquisar em Banco de Dados Consultivo GitHub

Você pode procurar no banco de dados e usar qualificadores para limitar sua busca. Por exemplo, você pode procurar consultorias criadas em uma determinada data, em um ecossistema específico ou em uma biblioteca em particular.

O formato de data deve seguir o padrão ISO8601, que é YYYY-MM-DD (ano-mês-dia). Você também pode adicionar informações de tempo opcionais THH:MM:SS+00:00 após a data, para pesquisar por hora, minuto e segundo. Isso se faz adicionando T, seguido de HH:MM:SS (hora-minutos-segundos) e um intervalo de UTC (+00:00).

Ao pesquisar uma data, você pode usar qualificadores de maior que, menor que e intervalo para filtrar os resultados ainda mais. Para obter mais informações, consulte "Entender a sintaxe de pesquisa".

QualifierExemplo
type:reviewedtype:reviewed mostrará as consultorias revisadas por GitHub para vulerabilidades de segurança.
type:malwaretipo:malware mostrará as consultorias revisadas por GitHub para malware.
type:unreviewedtype:unreviewed mostrará as consultorias não revisadas.
GHSA-IDGHSA-49wp-qq6x-g2rf mostrará a consultoria com o ID de Banco de Dados Consultivo GitHub.

Visualizar seus repositórios vulneráveis

Para qualquer consultoria revisada por GitHub no Banco de Dados Consultivo GitHub, você pode ver quais de seus repositórios são afetados por essa vulnerabilidade de segurança ou malware. Para ver um repositório vulnerável, você deve ter acesso a Alertas do Dependabot para esse repositório. Para obter mais informações, consulte "Sobre Alertas do Dependabot".

  1. Navegue até https://github.com/advisories.
  2. Clique em uma consultoria.
  3. Na parte superior da página da consultoria, clique em Alertas do dependabot. Alertas do Dependabot
  4. Opcionalmente, para filtrar a lista, use a barra de pesquisa ou os menus suspensos. O menu suspenso "Organização" permite filtrar Alertas do Dependabot por proprietário (organização ou usuário). Barra de pesquisa e menus suspensos para filtrar alertas
  5. Para mais detalhes sobre a vulnerabilidade e para aconselhamento sobre como corrigir o repositório vulnerável clique no nome do repositório.

Leia mais