Tema: github
-
Reforçando workflows do GitHub Actions: actions fixadas por SHA, tokens com privilégio mínimo e entradas não confiáveis
Fixe actions de terceiros a um SHA de commit completo, defina o GITHUB_TOKEN como somente leitura por padrão e amplie as permissões por job, nunca interpole campos de eventos não confiáveis em scripts run e trate pull_request_target e workflow_run como gatilhos privilegiados.
-
Paginação da API REST do GitHub e leitura dos cabeçalhos de limite de taxa primário e secundário
A API REST do GitHub pagina por meio de um cabeçalho link com URLs rel="next"/"last" e um parâmetro per_page limitado a 100 na maioria dos endpoints. Os limites primários aparecem em x-ratelimit-limit/remaining/used/reset/resource, ambos os tipos de limite respondem com 403 ou 429 (os secundários às vezes com retry-after), e um GET condicional autorizado que retorna 304 não conta para o limite primário.
-
Verificação de assinaturas de webhooks do GitHub: X-Hub-Signature-256, comparação em tempo constante e IDs de entrega
O GitHub assina cada entrega de webhook com HMAC-SHA256 sobre o corpo bruto da requisição e envia o resultado como sha256=<digest hex> no cabeçalho X-Hub-Signature-256. O receptor deve recalcular o digest a partir dos bytes exatos recebidos, compará-lo com uma função de tempo constante e usar X-GitHub-Delivery para reconhecer eventos reenviados; o antigo X-Hub-Signature (HMAC-SHA1) existe apenas por compatibilidade.
Legível por máquina: JSON