0%
Secrets, variáveis e ambientes protegidos

Secrets e ambientes

O que realmente protege um token e o que o divulga sem que você perceba.

10-15 min

Um segredo raramente vaza por causa de um ataque. Ele vaza porque um desenvolvedor apressado adicionou echo $API_KEY para verificar se a variável estava sendo repassada corretamente, porque o log de execução ficou seis meses em um repositório público e ninguém se lembrou disso. Ele vaza também porque um token foi passado como argumento de linha de comando — e, portanto, ficou visível na lista de processos do runner — ou porque um comando curl em modo verboso copiou o cabeçalho de autorização para a sua saída.

O GitHub mascara automaticamente os segredos nos logs, substituindo o valor exato por asteriscos. Essa proteção é real, mas frágil por construção: ela funciona por comparação de strings. Se o segredo for codificado, fatiado ou exibido caractere por caractere, o mascaramento deixa de reconhecê-lo e o valor aparece em texto claro. Entender onde essa proteção termina é mais útil do que tratá-la como uma rede de segurança.

Secrets ou variáveis: a distinção correta

O GitHub oferece dois tipos de armazenamento, nas configurações do repositório.

As variáveis (vars) são legíveis em texto claro na interface e aparecem nos logs. Servem para configuração, e não para direito de acesso: uma URL de API, o nome de uma região, o identificador de um projeto, um nível de log.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!