Título, corpo, comentários, labels, URLs e anexos de Issues são entrada não confiável. O pipeline não deve interpolar esses valores em comandos shell, expressões do workflow ou nomes de branch. O MVP entrega o payload como arquivo JSON ao Python e usa o número inteiro da Issue nos identificadores.
- permissões explícitas e mínimas no workflow;
- Actions de terceiros fixadas por SHA e anotadas com a versão correspondente;
- processamento limitado a Issues recém-abertas ou ao evento da label exata
knowledge/ready; - comentários exigem
/knowledgecomo primeira linha, excluem Pull Requests e usam apenas IDs numéricos em paths e branches; - somente comentários de
OWNER,MEMBERouCOLLABORATORiniciam a automação com permissão de escrita; - nenhuma execução de conteúdo da Issue;
- escrita dentro de paths construídos por slugs normalizados;
- escrita atômica de notas, manifest e MOCs;
- PR de revisão antes de publicar na branch principal;
- proveniência e estado
unverifiedvisíveis na nota.
Proteja main, exija ao menos uma revisão, bloqueie force pushes e habilite
secret scanning e análise de dependências. Toda nova Issue é considerada uma
captura de pesquisa e recebe knowledge/ready; use outro repositório para bugs
ou altere a regra antes de adotar Issues para desenvolvimento. Revise
periodicamente os SHAs das Actions antes de atualizar.
O projeto não inclui um secret scanner próprio. Não cole credenciais, tokens, dados pessoais ou material confidencial nas Issues. Se um segredo for publicado, revogue-o antes de limpar o histórico.
Não publique detalhes exploráveis numa Issue pública. Use o canal privado de security advisories do repositório GitHub.