Nenhum comentário

Tokens de autenticação vazados descobertos em artefatos do GitHub Actions de grandes projetos

 

Vários projetos de código aberto proeminentes, incluindo aqueles de gigantes da tecnologia como Google, Microsoft, AWS e Red Hat, foram descobertos vazando tokens de autenticação do GitHub por meio de artefatos do GitHub Actions em seus fluxos de trabalho de CI/CD.

Se explorados, esses tokens roubados podem conceder aos invasores acesso não autorizado a repositórios privados, permitindo que eles roubem código-fonte ou injetem código malicioso em projetos críticos.

Essa descoberta alarmante, feita pela Unidade 42 da Palo Alto Networks, estimulou ações entre os proprietários de repositórios cujos segredos foram expostos por meio de artefatos do GitHub Actions. Apesar disso, o GitHub optou por não resolver os problemas raiz, deixando a responsabilidade sobre os usuários de proteger seus artefatos.

À luz desses desenvolvimentos, os usuários do GitHub devem avaliar suas vulnerabilidades, reconhecer os riscos potenciais e implementar medidas preventivas para evitar vazamentos futuros.

Artefato gerado por GitHub Actions
Artefato gerado por GitHub Actions
Fonte: Unidade 42

Vazamento de tokens do GitHub

O relatório da Unidade 42 ressalta uma convergência de problemas — que vão desde configurações padrão inseguras e configurações incorretas do usuário até verificações de segurança fraca — que podem resultar em vazamentos de tokens do GitHub no que eles chamam de Ataque “ArtiPACKED“.

Uma vulnerabilidade importante está na ação amplamente usada ‘actions/checkout’, que permite que os fluxos de trabalho do GitHubclonem o código do repositório para uso durante a execução do fluxo de trabalho.

Por padrão, essa ação salva o token do GitHub no diretório .git oculto local, facilitando operações autenticadas em todo o fluxo de trabalho.

No entanto, se os usuários incluirem por engano todo o diretório checkout em um upload de artefato, o token armazenado na pasta git pode ser exposto inadvertidamente.

Token GitHub exposto publicamente
Token GitHub exposto publicamente
Fonte: Unidade 42

Juntamente com o token, outros dados confidenciais, como chaves de API,tokens de acesso ao serviço de nuvem e credenciais de conta também podem ser revelados no processo.

Riscos semelhantes surgem quando artefatos criados durante fluxos de trabalho de CI/CD — como saídas de build ou resultados de teste — são manipulados e armazenados incorretamente. Esses artefatos permanecem acessíveis por até três meses, potencialmente expondo informações confidenciais.

Além disso, pipelines de CI/CD que dependem de variáveis ​​de ambiente para armazenar tokens do GitHub são vulneráveis ​​se essas variáveis ​​forem registradas durante fluxos de trabalho, sejaintencionalmente ouacidentalmente. Quando os logs são carregados como artefatos, tokens podem ser expostos.

A Unidade 42 também destaca a ação 'super-linter', que pode gerar logs detalhados que incluem variáveis ​​de ambiente se a propriedade 'CREATE_LOG_FILE' estiver definida como'True.'

Explorando os vazamentos

Por fim, os invasores visam explorar condições de corrida específicas, extraindo tokens efêmeros do GitHub de logs e usando-os antes que expirem.

A validade dos tokens do GitHub está vinculada à duração do trabalho do fluxo de trabalho, o que significa que seu potencial de exploração varia caso a caso.

Por exemplo, o 'Actions_Runtime_Token', que o GitHub usa internamente para armazenamento em cache e gerenciamento de artefatos, permanece válido por cerca de seis horas, oferecendo uma janela limitada para exploração.

Em contraste, segredos e tokens personalizados, como chaves de API ou tokens de acesso a serviços de nuvem, têm durações variadas — variando de alguns minutos a indefinidamente.

A Unidade 42 descreve um cenário de ataque potencial no qual scripts automatizados têm como alvo repositórios ou projetos públicos que utilizam o GitHub Actions, escaneando-os em busca de características que aumentam a probabilidade de criação de artefatos.

Outro conjunto de scripts poderia então baixar automaticamente artefatos dos pipelines de CI/CD desses repositórios — uma tarefa simples no caso de projetos públicos — e pesquisá-los em busca de informações confidenciais ou segredos.

Fluxo de ataque
Fluxo de ataque
Fonte: Unidade 42

Mitigação

A Unidade 42 descobriu 14 instâncias onde grandes projetos de código aberto tinham exposto artefatos contendo tokens do GitHub e prontamente relatou essas vulnerabilidades às respectivas organizações para correção:

  • Firebase (Google)
  • OpenSearch Security (AWS)
  • Clair (Red Hat)
  • Active Directory System (Adsys) (Canonical)
  • Esquemas JSON (Microsoft)
  • TypeScript Repos Automation, TypeScript Bot Test Triggerer, Azure Draft (Microsoft)
  • CycloneDX SBOM (OWASP)
  • Stockfish
  • Libevent
  • Guardian for Apache Kafka (Aiven-Open)
  • Git Annex (Datalad)
  • Penrose
  • Deckhouse
  • Concrete-ML (Zama AI)

Para mitigar tais riscos, os usuários do GitHub são aconselhados a evitar carregar diretórios inteiros em artefatos, sanitizar logs e revisar consistentemente suas configurações de pipeline de CI/CD.

Também é recomendável modificar as configurações padrão de ações como 'actions/checkout' para evitar que as credenciais persistam. Além disso, as permissões de token dentro dos fluxos de trabalho devem ser configuradas usando o princípio do menor privilégio, minimizando danos potenciais se os tokens vazarem.

 


Fonte: BleepingComputer,

Você pode gostar também

More Similar Posts

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Preencha esse campo
Preencha esse campo
Digite um endereço de e-mail válido.