Skip to main content

Colaborando em uma bifurcação privada temporária para resolver uma vulnerabilidade de segurança do repositório

Você pode criar uma bifurcação privada temporária para colaborar de maneira privada na correção de uma vulnerabilidade de segurança em seu repositório público.

Nota: Este artigo aplica-se à edição de consultorias em nível de repositório como proprietário de um repositório público.

Os usuários que não são proprietários do repositório podem contribuir com consultorias de segurança global no GitHub Advisory Database em github.com/advisories. As edições nas consultorias globais não mudarão ou afetarão a forma como a consultoria aparece no repositório. Para obter mais informações, confira "Editando consultorias de segurança no banco de dados consultivo do GitHub".

Pré-requisitos

Antes de poder colaborar em uma bifurcação privada temporária, você deverá criar um rascunho da consultoria de segurança. Para obter mais informações, confira "Criando uma consultoria de segurança do repositório".

Criar uma bifurcação privada temporária

Qualquer pessoa com permissões de administrador em uma consultoria de segurança pode criar uma bifurcação privada temporária.

Para manter as informações sobre vulnerabilidades em segurança, as integrações, incluindo CI, não podem acessar bifurcações privadas temporárias.

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.

  3. Na barra lateral esquerda, em "Relatórios", clique em Avisos.

  4. Na lista "Aviso de Segurança", clique no nome do aviso de segurança que você gostaria de criar um fork privado temporário.

  5. Role até a parte inferior do formulário do aviso e clique em Iniciar um fork privado temporário.

    Captura de tela da área "Colaborar em um patch em particular" do formulário. Um botão, rotulado "Iniciar um fork temporário privado", está contornado em laranja escuro.

    Um fork privado do repositório é criado e mostrado na página do aviso.

    A convenção de nomenclatura para o fork privado é muito semelhante à convenção usada para avisos no GitHub Advisory Database e segue este formato: repo-ghsa-xxxx-xxxx-xxxx, sendo que:

    • repo é o nome do repositório. Para permanecer abaixo do limite de 100 caracteres nos nomes de repositórios, truncamos o nome do repositório original para 80 caracteres.
    • xxxx-xxxx-xxxx é o identificador exclusivo aviso de segurança de rascunho:
      • x é uma letra ou um número do seguinte conjunto: 23456789cfghjmpqrvwx.
      • Os números e letras são atribuídos aleatoriamente.
      • Todas as letras e números são minúsculos.

Por exemplo, se você criar um fork privado temporário em um repositório chamado octocat-repo e a ID gerada automaticamente para o aviso de rascunho for GHSA-x854-cvjg-vx26, o fork temporário será chamado octocat-repo-ghsa-x854-cvjg-vx26.

Também é possível usar a API REST para criar um fork privado temporário. Para mais informações, confira "Criar fork privado temporário" na documentação da API REST.

Adicionar colaboradores a uma bifurcação temporária privada

Qualquer pessoa com permissão de administrador para uma consultoria de segurança pode adicionar colaboradores ao consultor de segurança, e os colaboradores na consultoria de segurança podem acessar uma bifurcação privada temporária. Para obter mais informações, confira "Adicionando um colaborador a uma consultoria de segurança de repositório".

Adicionar alterações a uma bifurcação privada temporária

Qualquer pessoa com permissões de gravação para um aviso de segurança pode colaborar em um patch, confirmando as alterações em um fork privado temporário.

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.

  3. Na barra lateral esquerda, em "Relatórios", clique em Avisos.

  4. Na lista "Avisos de Segurança", clique no nome do aviso de segurança no qual você gostaria de trabalhar.

  5. Você pode fazer alterações no GitHub ou localmente:

    • Para fazer suas alterações no GitHub, em "Colaborar em um patch", clique no fork privado temporário. Em seguida, crie um branch e edite os arquivos. Para obter mais informações, confira "Criar e excluir branches no repositório" e "Editando arquivos."
    • Para adicionar as alterações localmente, siga as instruções em "Clonar e criar um novo branch" e "Faça suas alterações e, em seguida, faça o push."

    Captura de tela da área "Colaborar em um patch" de um rascunho de aviso de segurança. O link "o fork privado temporário" está contornado em laranja escuro.

Criar uma pull request de uma bifurcação privada temporária

Qualquer pessoa com permissões de gravação em uma consultoria de segurança pode criar uma pull request de uma bifurcação privada temporária.

  1. Em GitHub, acesse a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.

  3. Na barra lateral esquerda, em "Relatórios", clique em Avisos.

  4. Na lista "Avisos de Segurança", clique no nome do aviso de segurança no qual deseja criar uma solicitação de pull.

  5. Role para a parte inferior do formulário do aviso. Em "Colaborar em um patch", clique em Comparar e solicitação de pull para criar uma solicitação de pull para o branch associado.

    Captura de tela da área "Colaborar em um patch" de um rascunho de aviso de segurança. O botão "Comparar e solicitação de pull" está contornado em laranja escuro.
    A opção "Abrir uma solicitação de pull" inclui um cabeçalho mostrando os branches que serão usados em uma comparação do Git de três pontos quando a solicitação de pull for criada. Para obter mais informações, confira "Sobre como comparar branches nas pull requests".

  6. Para criar uma solicitação de pull pronta para revisão, clique em Criar Solicitação de Pull. Para criar uma solicitação de pull de rascunho, use o manu suspenso, selecione Criar Solicitação de Pull de Rascunho e clique em Solicitação de Pull de Rascunho. Se você for membro de uma organização, talvez seja necessário solicitar acesso a pull requests de rascunho a um proprietário da organização. Confira "Sobre solicitação de pull".

Você não pode realizar o merge de pull requests individuais em uma bifurcação privada temporária. Em vez disso, você pode fazer merge de todos os pull requests abertos de uma vez, na consultoria de segurança correspondente. Para obter mais informações, confira "Como mesclar alterações em um aviso de segurança".

Mesclar alterações em uma consultoria de segurança

Qualquer pessoa com permissão de administrador para uma consultoria de segurança pode mesclar alterações em uma consultora de segurança.

Você não pode realizar o merge de pull requests individuais em uma bifurcação privada temporária. Em vez disso, você pode fazer merge de todos os pull requests abertos de uma vez, na consultoria de segurança correspondente.

Antes de poder mesclar as alterações em uma consultoria de segurança, todo pull request aberto na bifurcação privada temporária deverá ser mesclada. Para manter as informações sobre vulnerabilidades seguras, as verificações de status não são executadas em pull requests de bifurcações privadas temporárias. Para obter mais informações, confira "Sobre branches protegidos".

Além disso, não pode haver conflitos de mesclagem, e o GitHub não imporá nenhuma das regras de proteção que você pode ter configurado para o branch no qual você está tentando mesclar as alterações.

  1. Em GitHub, acesse a página principal do repositório.
  2. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.
    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.
  3. Na barra lateral esquerda, em "Relatórios", clique em Avisos.
  4. Na lista "Avisos de segurança", clique no nome do aviso de segurança com as alterações que gostaria de mesclar.
  5. Role para a parte inferior do formulário do aviso. Em "Este aviso está pronto para ser mesclado", clique em Mesclar solicitações de pull para mesclar todas as solicitações de pull abertas no fork privado temporário.

Captura de tela da área "Colaborar em um patch" de um rascunho de aviso de segurança. O botão "Mesclar solicitação de pull" está contornado em laranja escuro.

Note

Você só pode mesclar uma pull request no branch main de um fork privado temporário. Se mais de uma solicitação de pull for direcionada ao branch main, a mesclagem será bloqueada.

Após mesclar as alterações em uma consultoria de segurança, você poderá publicar a consultoria de segurança para alertar a sua comunidade sobre a vulnerabilidade de segurança em versões anteriores do seu projeto. Para obter mais informações, confira "Publicando uma consultoria de segurança do repositório".

Leitura adicional