CEVIU Logo
Voltar
GitHub endurece actions/checkout para bloquear pwn requests comuns

GitHub endurece actions/checkout para bloquear pwn requests comuns

Aprofundamento CEVIU

Aprofundamento

GitHub agora bloqueia por padrão o checkout de pull requests de forks em workflows disparados por pull_request_target e workflow_run, fechando uma brecha que permitia código malicioso rodar com permissões elevadas do repositório base. A mudança ataca diretamente o padrão mais usado em ataques de supply chain, quando um atacante envia um PR com scripts maliciosos, o workflow faz checkout automático e executa o código com o GITHUB_TOKEN, secrets e cache do repositório original. Isso foi explorado em campanhas como s1ngularity contra Nx e PostHog, onde o acesso aos segredos permitiu a comprometimento de pacotes distribuídos para milhares de usuários.

A nova regra do actions/checkout v7 recusa automaticamente refs como refs/pull/number/head ou commits de fork, a menos que o mantenedor ative explicitamente allow-unsafe-pr-checkout: true. O foco é evitar que workflows privilegiados executem código não revisado sem consentimento consciente. Mas o risco não some: workflows que usam git clone manual, CLI ou outros triggers como issue_comment ainda estão expostos. A proteção é uma barreira, não uma solução completa.

Por que isso importa

Essa mudança força equipes a reconsiderar o uso de pull_request_target, um gatilho criado para automação de metadados, não para execução de código externo. Muitos ainda o usam por conveniência, mas a nova política torna explícito o custo de segurança: se você precisa de permissões de escrita ou acesso a secrets, o código que roda deve ser confiável desde o início. Empresas que não revisam workflows de terceiros ou que aceitam contribuições de forks sem validação ficam vulneráveis mesmo com a atualização. A mudança não corrige a cultura de confiança cega, mas impõe um custo operacional que obriga a pensar antes de agir.

Linha do tempo

  1. GitHub lança actions/checkout v7 com bloqueio padrão de checkouts de forks em pull_request_target

  2. Atualização é amplamente adotada e documentada como mudança crítica de segurança para supply chain

Perguntas frequentes

O que é um pwn request e por que ele é perigoso?

Um pwn request é um ataque que explora workflows do GitHub Actions que executam código de pull requests de forks com permissões elevadas. O atacante envia um PR com scripts maliciosos, e quando o workflow faz checkout e executa esse código, ele tem acesso ao GITHUB_TOKEN, secrets e cache do repositório base. Isso permite roubo de credenciais, injetar malware em pacotes ou fazer push não autorizado, comprometendo toda a cadeia de distribuição.

Minha equipe usa pull_request_target para atualizar labels e comentários. Preciso mudar algo?

Não. O gatilho pull_request_target foi feito para isso, automação de metadados sem execução de código externo. Se seu workflow só usa actions como actions/labeler ou actions/comment, e não faz checkout de código de fork, não há risco. O novo bloqueio só afeta workflows que usam actions/checkout com refs de pull requests de forks. Verifique se seu workflow tem esse passo e, se não tiver, continue como está.

Se eu ativar allow-unsafe-pr-checkout, estou seguro?

Não. Ativar essa flag desabilita a proteção automática, mas não corrige o risco. Se você permitir checkout de código de fork em um workflow com permissões de escrita ou secrets, ainda está executando código não confiável com privilégios elevados. A flag só serve para casos legítimos que exigem esse comportamento, e mesmo assim, você deve validar o código antes de executar, usar permissões mínimas e monitorar logs rigorosamente.

Essa mudança protege contra todos os tipos de ataques no GitHub Actions?

Não. Ela bloqueia apenas o checkout de pull requests de forks via actions/checkout em gatilhos privilegiados. Ataques por git clone manual, uso do GitHub CLI, execução de scripts via issue_comment ou checkout de repositórios externos (ex: repository: user/other-repo) continuam possíveis. A proteção é específica e necessária, mas não é abrangente. Revisar permissões e evitar execução de código não confiável ainda é a melhor prática.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Segurança da Informação
Publicado
24 de junho de 2026
Editoria
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser