stamatios
← Voltar ao feed
Pequeno robô vermelho rastejando por rachadura num cano de pipeline em direção a um arquivo trancado, ilustrando a invasão automatizada no Snowflake
Agentes · Dev & Engenharia

Red Agent da Wiz explora vulnerabilidade em pipeline do Snowflake

resumo de ~3 min

O que aconteceu

A Wiz afirma que seu agente autônomo de pesquisa de segurança, Red Agent, encontrou e explorou uma vulnerabilidade crítica em um fluxo do GitHub Actions usado por um repositório público da Snowflake. A falha ficou ativa por cinco dias, entre a fusão do PR #1218, em 18 de junho de 2026, e a descoberta e comunicação à Snowflake, em 23 de junho.

O problema estava no fluxo jira_issue.yml, acionado sempre que qualquer usuário abrisse uma issue. Uma alteração substituiu um padrão considerado seguro - uma variável env combinada com jq --arg - pela interpolação direta do título controlado pelo usuário em um bloco run. Como a etapa de escape ocorria depois da expansão dos templates do GitHub, um título contendo uma aspa simples podia romper a string do shell e permitir a execução de comandos arbitrários no executor do GitHub Actions.

O fluxo também tinha uma condição que parecia bloquear determinados eventos, mas comparava o usuário de um pull request durante eventos de issues, nos quais esse objeto é nulo. Segundo a análise da Wiz, a condição era portanto sempre verdadeira, deixando passar qualquer usuário.

Descoberta e exploração automatizadas

A capacidade de CI/CD do Red Agent examinou a organização da Snowflake no GitHub, identificou o padrão vulnerável e criou um título de issue para extrair credenciais do Jira por meio de uma conexão externa. Na primeira tentativa, o agente encontrou um erro de sintaxe do Bash: o caractere # usado para comentar o restante da linha também consumia o fechamento de uma expressão. Em vez de parar, analisou o erro, ajustou a carga para fechar corretamente o bloco de shell e recebeu, em segundos, um retorno com credenciais codificadas em base64.

O token autenticou-se como [email protected] no Jira da Snowflake e permitia acesso de leitura a projetos de engenharia, conformidade de segurança e acompanhamento de vulnerabilidades. A Wiz diz que usou esse acesso apenas para validação, apagou os dados acessados e confirmou, com os registros de auditoria da Snowflake, que foi a única participante durante a janela de exposição.

Falhas de revisão e resposta

A análise também aponta que o GitHub Advanced Security examinou a revisão final do PR e extraiu o fluxo vulnerável, mas não sinalizou a injeção crítica. Uma atualização do texto esclarece que o GitHub Copilot foi coautor que verificou o PR mesclado e classificou a alteração como segura; a Wiz afirma que não está claro se o código que introduziu a falha foi assistido por IA.

A Snowflake corrigiu o fluxo em 23 de junho, restaurando o padrão com env e jq --arg, e revogou e substituiu o token do Jira em 24 de junho. A empresa declarou não ter encontrado evidências de acesso não autorizado por terceiros.

Como conclusão, a Wiz sustenta que agentes de programação podem introduzir ou permitir regressões de segurança que passam por verificações automatizadas, enquanto agentes autônomos podem encontrá-las e explorá-las rapidamente. O texto defende revisão rigorosa de código assistido por IA, aplicação explícita de padrões seguros, ciclos de correção mais curtos e credenciais de duração limitada.