Qualquer pessoa com permissões de administrador em um repositório público pode criar um aviso de segurança.
Qualquer pessoa com permissões de administrador para um repositório público também tem permissões de administrador para todos os avisos de segurança nesse repositório. Pessoas com permissões de administrador para uma consultoria de segurança podem adicionar colaboradores, e os colaboradores têm permissões de gravação para a consultoria de segurança.
Observação: se você é um pesquisador de segurança, você deve entrar em contato diretamente com os mantenedores para pedir que criem consultorias de segurança ou emitam CVEs em seu nome em repositórios que você não administra. No entanto, se os relatórios de vulnerabilidade privados estiverem habilitados para o repositório, será possível relatar uma vulnerabilidade de maneira privada por conta própria. Para obter mais informações, confira "Como relatar de modo privado uma vulnerabilidade de segurança".
Sobre os avisos de segurança do repositório
A divulgação de vulnerabilidades é uma área onde a colaboração entre relatores de vulnerabilidade, como investigadores de segurança, e mantenedores de projeto, é muito importante. A partir do momento em que se detecta uma vulnerabilidade potencialmente prejudicial em termos de segurança, ambas as partes terão de trabalhar em conjunto até que uma vulnerabilidade seja divulgada para todos, idealmente com um patch disponível. Normalmente, quando alguém deixa um mantenedor saber em particular sobre uma vulnerabilidade de segurança, o mantenedor desenvolve uma correção, valida-a e notifica os usuários do projeto ou pacote. Para saber mais, confira "Sobre a divulgação coordenada de vulnerabilidades de segurança".
Os avisos de segurança do repositório permitem que os mantenedores dos repositórios públicos discutam e corrijam de modo privado as vulnerabilidades de segurança em um projeto. Depois de colaborar em uma correção, os responsáveis pelo repositório podem publicar o aviso de segurança para divulgar publicamente a vulnerabilidade de segurança na comunidade do projeto. Ao publicar avisos de segurança, os responsáveis pelo repositório facilitam para a comunidade a atualização das dependências do pacote e a pesquisa sobre o impacto das vulnerabilidades de segurança.
Com os avisos de segurança do repositório, você pode:
- Criar um aviso de segurança rascunho e usar o rascunho para discutir em particular o impacto da vulnerabilidade no seu projeto. Para obter mais informações, confira "Criando uma consultoria de segurança do repositório".
- Colaborar de modo particular com a correção da vulnerabilidade em uma bifurcação privada temporária.
- Publique a consultoria de segurança para alertar a sua comunidade sobre a vulnerabilidade depois que um patch for lançado. Para obter mais informações, confira "Publicando uma consultoria de segurança do repositório".
Você também pode usar avisos de segurança do repositório para republicar os detalhes de uma vulnerabilidade de segurança que você já revelou em outro lugar, copiando e colando os detalhes da vulnerabilidade em um novo aviso de segurança.
Você também pode usar a API REST para criar, listar e atualizar avisos de segurança do repositório. Para obter mais informações, confira "Pontos de extremidade de API REST para avisos de segurança de repositório".
Você pode dar crédito a indivíduos que contribuíram para um aviso de segurança. Para obter mais informações, confira "Editando uma consultoria de segurança do repositório".
Você pode criar uma política de segurança para dar às pessoas instruções para relatar vulnerabilidades de segurança no seu projeto. Para obter mais informações, confira "Adicionar uma política de segurança a um repositório".
Se você criou uma consultoria de segurança no seu repositório, o consultório de segurança permanecerá no seu repositório. Publicamos avisos de segurança para qualquer um dos ecossistemas compatíveis com o grafo de dependência no GitHub Advisory Database em github.com/advisories. Qualquer um pode enviar uma alteração para um consultor publicado em GitHub Advisory Database. Para obter mais informações, confira "Editando consultorias de segurança no banco de dados consultivo do GitHub".
Se uma consultoria de segurança for especificamente para o npm, nós também publicamos a consultoria nas consultorias de segurança do npm. Para obter mais informações, confira npmjs.com/advisories.
Você também pode ingressar no GitHub Security Lab para procurar tópicos relacionados à segurança e contribuir com ferramentas de segurança e projetos.
Números de identificação CVE
GitHub Security Advisories baseia-se na base da lista de Vulnerabilidades e Exposições Comuns (CVE). O formulário de consultoria de segurança em GitHub é um formulário padronizado que corresponde ao formato de descrição CVE.
GitHub é uma Autoridade de Numeração CVE (CNA) e está autorizada a atribuir números de identificação CVE. Para obter mais informações, confira "Sobre o CVE" e "Autoridades de Numeração do CVE" no site do CVE.
Ao criar um aviso de segurança para um repositório público no GitHub, você tem a opção de fornecer um número de identificação CVE existente para a vulnerabilidade de segurança. Caso você deseje ter um número de identificação CVE para a vulnerabilidade de segurança no seu projeto e ainda não tiver um, solicite um número de identificação CVE ao GitHub. GitHub geralmente revisa o pedido em 72 horas. Solicitar um número de identificação CVE não torna público a sua consultoria de segurança público. Se o seu aviso de segurança for qualificado para um CVE, o GitHub reservará um número de identificação CVE para ele. Em seguida, publicaremos os detalhes da CVE depois que você tornar o aviso de segurança público. Qualquer pessoa com permissões de administrador em um aviso de segurança pode solicitar um número de identificação CVE.
Se você já tiver uma CVE que deseja usar, por exemplo, se usar uma CNA (Autoridade de Numeração CVE) diferente do GitHub, adicione a CVE ao formulário de aviso de segurança. Isso pode acontecer, por exemplo, se você quiser que a consultoria seja consistente com outras comunicações que pretende enviar no horário da publicação. O GitHub não poderá atribuir CVEs ao seu projeto se ele for coberto por outra CNA.
Uma que você publicou a consultoria de segurança e o GitHub atribuiu um número de identificação CVE para a vulnerabilidade, o GitHub irá publicar o CVE no banco de dados do MITRE. Para obter mais informações, confira "Publicando uma consultoria de segurança do repositório".
Dependabot alerts para consultorias de segurança publicadas
GitHub irá revisar cada consultoria de segurança publicada, adicioná-la ao GitHub Advisory Database, e poderá utilizar a consultoria de segurança para enviar Dependabot alerts aos repositórios afetados. Se a consultoria de segurança vier de uma bifurcação, só enviaremos um alerta se a bifurcação possuir um pacote, publicado com um nome único, em um registro de pacote público. Este processo pode levar até 72 horas e GitHub pode entrar em contato com você para obter mais informações.
Para obter mais informações sobre Dependabot alerts, confira "Sobre alertas do Dependabot" e "Sobre as atualizações de segurança do Dependabot". Para obter mais informações sobre GitHub Advisory Database, confira "Como procurar avisos de segurança no GitHub Advisory Database".