Skip to content
Latchkey

O Que É Exfiltração de Credenciais na CI? Secrets Roubados de um Build

Exfiltração de credenciais na CI é quando um step ou dependência maliciosa lê os secrets disponíveis para um build e os envia para fora, para um atacante.

Um job de CI muitas vezes tem secrets poderosos em seu ambiente: deploy keys, credenciais de nuvem, tokens de registry. Exfiltração de credenciais é o ato de roubar esses secrets de dentro do job em execução, geralmente através de código que o atacante te enganou para executar. Como o job legitimamente detém os secrets, o roubo pode parecer atividade normal.

Como a exfiltração acontece

  • Uma dependência maliciosa roda um script de post-install que lê env vars.
  • Um pull request envenenado modifica o pipeline para imprimir ou enviar secrets.
  • Uma action comprometida exfiltra os tokens a que tem acesso.
  • Uma ferramenta de build é enganada a fazer upload do ambiente para uma URL de atacante.

Por que é difícil de notar

O código malicioso roda com as mesmas permissões que o build real. Enviar algumas centenas de bytes para um host externo se mistura ao tráfego de rede normal, especialmente em um pipeline que já conversa com muitos registries e serviços.

O risco do pull request

Workflows que rodam com secrets em pull requests não confiáveis são um vetor clássico de exfiltração. Um contribuidor externo submete um PR que adiciona um step despejando secrets para um endpoint de atacante. Restringir o acesso a secrets em PRs de fork fecha essa porta.

Defesas que funcionam

Tokens de menor privilégio significam que um secret roubado faz menos. Credenciais efêmeras por job expiram antes de serem úteis. A filtragem de egress bloqueia o build de alcançar destinos desconhecidos. Fixar dependências e actions em versões exatas remove o vetor de atualização-surpresa.

Isolamento como backstop

Em um runner compartilhado, um secret exfiltrado pode se juntar a qualquer outra coisa que o host tenha visto. Runners isolados e efêmeros (como os runners gerenciados da Latchkey) confinam cada job ao seu próprio ambiente e o destroem depois, então não há estado compartilhado para um atacante colher entre jobs.

Principais conclusões

  • Exfiltração é o roubo dos secrets de um build por código rodando dentro do job.
  • Dependências maliciosas e PRs envenenados são os principais vetores.
  • Menor privilégio, credenciais efêmeras, filtragem de egress e isolamento a limitam.

Guias relacionados