Pular para o conteúdo

SECURITY.md: como criar a política de segurança do repositório

Diga como relatar uma vulnerabilidade sem expô-la em uma issue pública. Passo a passo e um modelo.

Como criar um SECURITY.md no GitHub?

Na aba de segurança do repositório, abra Security policy e clique em Start setup. Edite o arquivo com as versões com suporte e o modo de relatar uma vulnerabilidade, e faça o commit.

O que é o SECURITY.md

É o arquivo em que o projeto diz como relatar uma vulnerabilidade de segurança. A documentação do GitHub resume o conteúdo em duas partes: as versões do projeto que recebem correções de segurança e o caminho para relatar uma vulnerabilidade. Sem esse arquivo, quem encontra um problema grave só tem as issues públicas, e relatar uma falha de segurança em público antes de existir correção expõe todos os usuários.

Como criar pelo GitHub

Pelo passo a passo da documentação:

  1. Na página principal do repositório, abra a aba de segurança (Security and quality; se ela não aparecer, procure no menu de três pontos).
  2. Na barra lateral, em Reporting, clique em Security policy e depois em Start setup.
  3. O GitHub cria um SECURITY.md para você editar. Escreva as versões com suporte e como relatar uma vulnerabilidade.
  4. Faça o commit com uma mensagem curta e descritiva. Se você está na branch padrão, a documentação orienta criar uma nova branch e abrir um pull request.

Sobre a pasta: a página do GitHub que lemos não diz em quais pastas o arquivo pode ficar (raiz, docs ou .github). Isso está não confirmado nesta leitura; o caminho mais comum é a raiz do repositório, mas confira na documentação do GitHub antes de apostar em outra pasta.

Relato privado de vulnerabilidades

Além do arquivo, o GitHub tem o relato privado de vulnerabilidades (private vulnerability reporting). Segundo a documentação, ele dá a pesquisadores de segurança um jeito estruturado de avisar sobre uma vulnerabilidade sem divulgá-la em público. Donos e administradores de repositórios públicos ativam em Settings, depois Advanced Security, e Enable ao lado de "Private vulnerability reporting". Quem relata usa o botão Report a vulnerability da página de advisories ou a API REST.

Se você ativar o recurso, diga isso no SECURITY.md: "use o botão Report a vulnerability na aba Security". Se não ativar, informe um e-mail que alguém lê.

O que escrever

Estes pontos são prática comum, não regra oficial; ajuste ao seu projeto:

  • Versões com suporte: quais recebem correção (por exemplo, só a mais recente).
  • Como relatar: o canal privado, e a frase "não abra uma issue pública".
  • O que esperar: em quanto tempo você responde. Só prometa o que consegue cumprir: um projeto de uma pessoa não tem o mesmo prazo de uma empresa.
  • O que enviar: versão afetada, passos para reproduzir e impacto.

Exemplo resolvido: um SECURITY.md pequeno

# Política de segurança

## Versões com suporte

| Versão | Recebe correções |
| --- | --- |
| 1.x | sim |
| 0.x | não |

## Como relatar uma vulnerabilidade

Não abra uma issue pública. Use o botão "Report a vulnerability" na aba
Security deste repositório ou escreva para seguranca@exemplo.org.

Inclua a versão afetada, os passos para reproduzir e o impacto que você viu.

## O que esperar

Respondo em até sete dias corridos para confirmar o recebimento. O prazo
da correção depende da gravidade e será combinado com quem relatou.

Os endereços e prazos acima são inventados para o exemplo. Troque pelos seus e depois aponte para o arquivo no README (o gerador de README tem uma caixa "Tenho um SECURITY.md") e no CONTRIBUTING.

Perguntas frequentes

O que o SECURITY.md deve conter?

Segundo a documentação do GitHub, as versões do projeto que têm suporte e como relatar uma vulnerabilidade. Acrescente um canal privado e o prazo em que você consegue responder, sem prometer o que não pode cumprir.

O que é o relato privado de vulnerabilidades?

É um recurso do GitHub que dá a pesquisadores um jeito estruturado de avisar sobre uma vulnerabilidade sem divulgá-la em público. Donos e administradores de repositório público o ativam em Settings, Advanced Security, ao lado de Private vulnerability reporting.

Em que pasta fica o SECURITY.md?

Não confirmado nesta leitura: a página do GitHub sobre como adicionar a política não diz em quais pastas o arquivo pode ficar. Confira na documentação do GitHub antes de usar outra pasta que não a raiz.

Posso relatar uma vulnerabilidade em uma issue pública?

Evite. Relatar uma falha em público antes de existir correção a expõe a todos os usuários do projeto. Procure o SECURITY.md do repositório e use o canal privado indicado nele, como o botão Report a vulnerability.

Fontes deste guia

Abertas em 11/10/2026. O texto é nosso, em português; as fontes ficam aqui com link, licença e o que foi lido.

  • Adding a security policy to your repository (GitHub Docs)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY 4.0 (conteúdo); MIT (código)
    O que lemos: Como criar o SECURITY.md pela aba de segurança do repositório e o que ele deve trazer: versões com suporte e como relatar uma vulnerabilidade. A página não diz em quais pastas o arquivo pode ficar.
    Como usamos: Texto próprio em português; os fatos e os comandos vêm da página, sem copiar trechos. Link e data em cada uso.
  • Configuring private vulnerability reporting for a repository (GitHub Docs)
    A página não mostra data · aberta em · reconferência: confirmada na abertura (11/10/2026) · licença do conteúdo: CC BY 4.0 (conteúdo); MIT (código)
    O que lemos: O que é o relato privado de vulnerabilidades, que dono e administradores de repositório público ativam em Settings, Advanced Security, e que pesquisadores relatam pelo botão "Report a vulnerability".
    Como usamos: Texto próprio em português; os fatos e os comandos vêm da página, sem copiar trechos. Link e data em cada uso.

Informação geral, não é aconselhamento jurídico. Quando um guia cita uma licença de conteúdo, ela vale para a página citada, não para este site.