Pular para o conteúdo
TrucklineMP

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.

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.

  1. Inicia sessão e abre a Consola de Programador.
  2. Seleciona o projeto ao qual a chave pertence.
  3. Elimina a chave exposta e gera uma nova.
  4. Atualiza a chave em todos os locais onde é usada (servidores, segredos de CI, bots). A chave antiga deixa de funcionar assim que é eliminada.
  1. Abre a Consola de Programador → Aplicações OAuth → a tua aplicação.
  2. Regenera o segredo de cliente nas definições da aplicação.
  3. 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.
  1. Abre a Consola de Programador → Webhooks → a subscrição afetada.
  2. Regenera o segredo de assinatura.
  3. 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.

  • 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.

  • 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.

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: