Chaves de API e Segredos Expostos
Se um segredo da TrucklineMP - uma chave da Public API (tlmp_api_..., ou uma chave legada tl_...), um segredo de cliente OAuth (tlmp_secret_...), um token OAuth (tlmp_oat_... / tlmp_ort_...), ou um segredo de assinatura de webhook - for submetido a um repositório público, colado num canal público, ou exposto de qualquer outra forma, trata-o como comprometido imediatamente e segue os passos abaixo.
A TrucklineMP participa na pesquisa de segredos do GitHub. Se o GitHub detetar um padrão de segredo da TrucklineMP num repositório público, esta página é a orientação de correção associada a esse alerta.
1. Roda o segredo imediatamente
Seção intitulada “1. Roda o segredo imediatamente”Os segredos expostos devem ser tratados como comprometidos, não apenas “em risco”. Rodar o segredo remove o valor exposto do serviço, independentemente de já ter sido explorado ou não.
Chaves de API (tlmp_api_..., ou legado tl_...)
Seção intitulada “Chaves de API (tlmp_api_..., ou legado tl_...)”- Inicia sessão e abre a Consola de Programador.
- Seleciona o projeto ao qual a chave pertence.
- Elimina a chave exposta e gera uma nova.
- Atualiza a chave em todos os locais onde é usada (servidores, segredos de CI, bots). A chave antiga deixa de funcionar assim que é eliminada.
Segredos de cliente OAuth
Seção intitulada “Segredos de cliente OAuth”- Abre a Consola de Programador → Aplicações OAuth → a tua aplicação.
- Regenera o segredo de cliente nas definições da aplicação.
- Atualiza o segredo na configuração do lado do servidor da tua aplicação. As sessões de utilizadores existentes não são afetadas, mas qualquer código que ainda use o segredo antigo falhará ao obter novos tokens.
Segredos de assinatura de webhook
Seção intitulada “Segredos de assinatura de webhook”- Abre a Consola de Programador → Webhooks → a subscrição afetada.
- Regenera o segredo de assinatura.
- Atualiza o teu recetor de webhook para verificar assinaturas com o novo segredo.
2. Remove o segredo do histórico de código-fonte
Seção intitulada “2. Remove o segredo do histórico de código-fonte”Eliminar o ficheiro ou a linha num novo commit não é suficiente - o segredo continua legível no histórico do git. Reescreve o histórico para o eliminar:
Se o repositório for público e tiver sido clonado ou bifurcado (forked), assume que o valor antigo está permanentemente exposto mesmo depois de reescrever o histórico - a rotação (passo 1) é o que de facto protege a tua conta, não a limpeza do histórico.
3. Verifica se houve abuso
Seção intitulada “3. Verifica se houve abuso”- Chaves de API: revê o volume de pedidos e as origens do projeto nas análises/registo de auditoria da Consola de Programador.
- Aplicações OAuth: revê as autorizações recentes em busca de utilizadores que não reconheças.
- Webhooks: revê as entregas recentes em busca de atividade inesperada no endpoint.
Se vires atividade que não iniciaste, contacta o suporte (abaixo) para que a equipa possa investigar.
4. Previne futuras fugas
Seção intitulada “4. Previne futuras fugas”- Nunca submetas segredos ao controlo de versões. Usa variáveis de ambiente ou um gestor de segredos.
- Adiciona um hook de pre-commit ou uma verificação de CI (por exemplo, gitleaks, trufflehog) para detetar segredos antes de serem submetidos (pushed).
- Limita o âmbito das Aplicações OAuth e das chaves de API apenas ao que a integração necessita.
Denunciar uma fuga ou atividade suspeita
Seção intitulada “Denunciar uma fuga ou atividade suspeita”Se acreditas que um segredo da TrucklineMP foi exposto ou usado indevidamente e precisas de ajuda para além de o rodar tu próprio, contacta:
- Discord: https://discord.gg/trucklinemp
- Email: [email protected]