Skip to content

docs: adiciona SECURITY.md com canal de reporte (Scorecard #7) - #57

Merged
NullSablex merged 1 commit into
masterfrom
docs/security-policy
Sep 26, 2026
Merged

NullSablex merged 1 commit into
masterfrom
docs/security-policy

Conversation

@NullSablex

Copy link
Copy Markdown
Owner

Resolve o alerta #7 do Scorecard (SecurityPolicyID, medium):

score is 4: security policy file detected
Warn: no linked content found

O que estava acontecendo

Não existia SECURITY.md no repositório. O arquivo que o Scorecard detectou foi o docs/security.md, que é outra coisa: a página de documentação sobre usar o plugin com segurança, não uma política de reporte. Daí os 4 pontos e o aviso de "no linked content" — uma página de hardening não tem canal de contato.

Efeito colateral: o GitHub também não mostrava política alguma na aba Security nem para quem fosse reportar algo.

O que entra

Um SECURITY.md na raiz, com o que o check pedia (conteúdo com links) e o que o arquivo precisa dizer de qualquer forma:

  • Canal de reporte privado — aponta para abrir um advisory privado. Conferi pela API que o private vulnerability reporting está habilitado no repositório, então o link funciona de verdade; não é um link morto para satisfazer o linter.
  • O que incluir no relato — versão do plugin e do servidor, versão do MySQL/MariaDB, o que dá para fazer com a falha, e o menor trecho que a demonstre.
  • Versões suportadas — só a linha de release atual, apontando para o Cargo.toml em vez de fixar um número que envelhece.
  • O que esperar — melhor esforço, explicitamente. Preferi isso a prometer uma janela de resposta que um projeto mantido por uma pessoa não cumpre.
  • Escopo — fora ficam falhas do MySQL, do SA-MP e do open.mp, gamemode que usa a API errado e configuração do operador. Com uma exceção registrada de propósito: relato mostrando que a nossa própria documentação leva a um padrão inseguro conta como válido, mesmo sem mudança de código.

Não coloquei e-mail pessoal no arquivo; o advisory privado do GitHub cobre o caso sem publicar endereço. Se preferir um e-mail listado, é uma linha.

Achado no caminho, para decidir depois

O docs/CNAME foi removido no #37, mas o domínio continua configurado nas settings do Pages:

cname: mysql-samp.nullsablex.com | https: true | fonte: workflow

Na prática o site serve em mysql-samp.nullsablex.com e o nullsablex.github.io/mysql_samp/ dá 301 para lá — enquanto o site_url do mkdocs.yml, que o #37 apontou para o github.io, diz o contrário. Ou seja, a URL canônica declarada e a real divergem.

Não mexi nisso aqui. Os links deste arquivo usam o github.io, que funciona nos dois cenários. Vale decidir: remover o domínio das settings, ou restaurar o site_url (e o CNAME) para o domínio.

O Scorecard reclamava no alerta #7 (SecurityPolicyID, medium):

    score is 4: security policy file detected
    Warn: no linked content found

O arquivo que ele detectou e o `docs/security.md`, que e outra coisa: e a
pagina de doc sobre usar o plugin com seguranca, nao uma politica de
reporte. Nao havia `SECURITY.md` no repositorio, entao o GitHub tambem nao
mostrava a politica na aba Security nem no fluxo de quem quer reportar.

Agora existe, na raiz, com o que faltava para o check: conteudo com links.
Aponta para o relato privado por advisory do GitHub - conferi que o
recurso esta habilitado no repositorio, entao o link funciona - e diz o
que incluir no relato.

O resto e o que o arquivo precisa dizer de qualquer forma: quais versoes
recebem correcao, o que esperar (melhor esforco, sem prometer prazo que
um projeto de uma pessoa so nao cumpre) e o escopo. Fora de escopo ficam
falhas do MySQL, do SA-MP e do open.mp, gamemode que usa a API errado e
configuracao do operador - mas com uma excecao registrada de proposito:
relato mostrando que a nossa propria documentacao leva a um padrao
inseguro conta como valido, mesmo sem mudanca de codigo.
@NullSablex
NullSablex merged commit 269ff91 into master Sep 26, 2026
9 checks passed
@NullSablex
NullSablex deleted the docs/security-policy branch September 26, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant