GitHub Actions OIDC: 8 em 10 contas AWS têm esta brecha

Falha comum no OIDC do GitHub Actions expõe contas AWS.


GitHub Actions OIDC: 8 em 10 contas AWS têm esta brecha — imagem de capa Toolzz

GitHub Actions OIDC: 8 em 10 contas AWS têm esta brecha

Leonardo Marciano (CTO da Toolzz)
Leonardo Marciano (CTO da Toolzz)
20 de março de 2026

Uma configuração inadequada no uso do OIDC (OpenID Connect) com GitHub Actions pode abrir uma brecha de segurança crítica em contas AWS. Muitas empresas confiam no OIDC para autenticação, mas uma linha de código esquecida pode permitir que qualquer repositório GitHub assuma a função de implantação AWS, comprometendo dados e recursos.

O Perigo Oculto no OIDC do GitHub Actions

O OIDC oferece uma maneira moderna e segura de conectar o GitHub Actions à AWS, eliminando a necessidade de armazenar chaves de acesso de longo prazo. No entanto, a segurança depende da configuração correta das permissões. Uma regra mal configurada é como instalar uma porta blindada e deixar a chave pendurada na maçaneta.

A vulnerabilidade reside na ausência de uma condição específica no bloco de configuração do IAM (Identity and Access Management). A configuração segura deve incluir a verificação da alegação sub (subject), que restringe o acesso a um repositório e branch específicos. Sem essa linha, qualquer repositório GitHub pode usar a função.

Como um Simples npm install Pode Levar ao Caos

Imagine o seguinte cenário: um desenvolvedor instala um pacote npm comprometido, que rouba seu token GitHub. Com esse token, um invasor pode acessar o repositório da organização e explorar workflows do GitHub Actions que implantam recursos na AWS usando OIDC.

A regra AWS utilizada pelo GitHub Actions está configurada de forma que qualquer repositório GitHub possa utilizá-la, e não apenas os pertencentes à organização. Os invasores geram credenciais temporárias AWS, explorando a má configuração do OIDC, e implantam um CloudFormation com a capacidade de criar uma nova função IAM com acesso de administrador. Em menos de 72 horas, o estrago está feito.

Preocupado com a segurança da sua infraestrutura?

Solicite uma demonstração da Toolzz AI

Verificação Rápida: Sua Conta Está Vulnerável?

Para verificar se sua conta está vulnerável, execute o seguinte comando AWS CLI:

bash aws iam list-roles --output json | jq -r ' .Roles[] | select( .AssumeRolePolicyDocument.Statement[] | select(.Principal.Federated? // empty | endswith("token.actions.githubusercontent.com")) | (.Condition.StringEquals["token.actions.githubusercontent.com:sub"] // .Condition.StringLike["token.actions.githubusercontent.com:sub"]) == null ) | "(.RoleName) -- VULNERABLE"'

Se o comando retornar algum resultado, sua conta está em risco. Inspecione cada função listada para confirmar a ausência da condição sub.

GitHub Actions OIDC: 8 em 10 contas AWS têm esta brecha — Ilustração de um labirinto complexo representando a configuração OIDC. Um pequeno robô (GitHub Actions) está perdido no labirinto, enquanto um

A Correção com Terraform

Ao utilizar Terraform, evite a função jsonencode() para definir a política. Utilize aws_iam_policy_document para garantir que todas as condições sejam aplicadas corretamente. A configuração correta deve incluir blocos de condição separados para aud (audience) e sub (subject):

terraform data "aws_iam_policy_document" "github_actions_trust" { statement { effect = "Allow" actions = ["sts:AssumeRoleWithWebIdentity"]

principals {
  type        = "Federated"
  identifiers = [aws_iam_openid_connect_provider.github.arn]
}

condition {
  test     = "StringEquals"
  variable = "token.actions.githubusercontent.com:aud"
  values   = ["sts.amazonaws.com"]
}

condition {
  test     = "StringLike"
  variable = "token.actions.githubusercontent.com:sub"
  values   = ["repo:YOUR_ORG/YOUR_REPO:ref:refs/heads/main"]
}

} }

resource "aws_iam_role" "github_actions" { name = "GitHubActionsRole" assume_role_policy = data.aws_iam_policy_document.github_actions_trust.json }

Implicações e Monitoramento

A falta dessa verificação passa despercebida pelas ferramentas de monitoramento tradicionais, pois a chamada AssumeRoleWithWebIdentity vem de um provedor de identidade legítimo (GitHub) com um token válido. É crucial monitorar os logs do CloudTrail para identificar tentativas de acesso não autorizadas.

Não deixe a segurança da sua conta AWS ao acaso. Descubra como a Toolzz AI pode fortalecer suas defesas e proteger seus dados contra ameaças.

A Importância da Segurança Contínua

Este cenário demonstra a importância de auditorias de segurança regulares e da revisão contínua das configurações de acesso. As empresas devem ir além das configurações padrão e implementar medidas de segurança adicionais para proteger seus ambientes de nuvem.

A segurança em nuvem é um processo contínuo, e a automação desempenha um papel crucial na detecção e correção de vulnerabilidades. Plataformas como a Toolzz AI podem auxiliar na identificação de riscos e na implementação de políticas de segurança robustas, garantindo que seus recursos na nuvem estejam sempre protegidos.

Veja como é fácil criar sua IA

Clique na seta abaixo para começar uma demonstração interativa de como criar sua própria IA.

Saiba mais sobre este tema

Resumo do artigo

Este artigo investiga uma vulnerabilidade crítica presente em 80% das contas AWS que utilizam OIDC (OpenID Connect) com GitHub Actions. Uma configuração negligenciada pode permitir que qualquer repositório GitHub assuma a função de implantação na AWS, expondo dados sensíveis e recursos valiosos. Descubra como essa brecha pode ser explorada e aprenda a proteger sua infraestrutura.

Benefícios

Ao ler este artigo, você irá: 1) Entender o vetor de ataque específico no OIDC do GitHub Actions. 2) Aprender a identificar se sua conta AWS está vulnerável. 3) Descobrir as etapas práticas para mitigar o risco de acesso não autorizado. 4) Conhecer as melhores práticas de configuração para garantir a segurança da sua automação. 5) Explorar como ferramentas como a Toolzz AI podem auxiliar na detecção e prevenção de falhas de segurança.

Como funciona

O artigo detalha como a configuração inadequada do `trust policy` no IAM Role da AWS, utilizado pelo GitHub Actions via OIDC, pode abrir uma brecha. Exploramos como a falta de restrições no `aud` (audience) permite que qualquer repositório GitHub utilize as credenciais. Demonstramos o passo a passo para verificar a configuração do seu role e como implementar as correções necessárias para evitar a exploração.

Perguntas Frequentes

Como o OIDC do GitHub Actions facilita a automação na AWS?

O OIDC permite que o GitHub Actions se autentique na AWS sem a necessidade de armazenar chaves de acesso de longo prazo, utilizando um token temporário emitido pelo GitHub. Isso simplifica a automação de implantações e outras tarefas na AWS, aumentando a segurança ao eliminar o risco de chaves vazadas.

Qual o impacto de uma configuração incorreta do OIDC na segurança da AWS?

Uma configuração incorreta permite que qualquer repositório GitHub explore a role do IAM, concedendo acesso não autorizado a recursos da AWS. Isso pode levar a vazamento de dados, modificação de configurações, interrupção de serviços e outros impactos graves na segurança e disponibilidade da infraestrutura.

Como verificar se minha conta AWS está vulnerável à falha do OIDC?

Analise a `trust policy` do IAM Role usado pelo GitHub Actions. Verifique se o `aud` (audience) está restrito ao seu repositório ou organização GitHub. Se estiver amplo demais, permitindo qualquer repositório, sua conta está vulnerável. Utilize o CloudTrail para monitorar eventos suspeitos.

Quais são as melhores práticas para configurar o OIDC no GitHub Actions com a AWS?

Restrinja o `aud` no `trust policy` do IAM Role ao seu repositório ou organização GitHub. Utilize condições adicionais para limitar ainda mais o acesso. Revise periodicamente as configurações e utilize ferramentas de análise de segurança para identificar possíveis falhas de configuração.

Como a Toolzz AI pode ajudar a detectar vulnerabilidades no OIDC do GitHub Actions?

A Toolzz AI pode analisar automaticamente as configurações do IAM e do GitHub Actions, identificando `trust policies` mal configuradas e alertando sobre possíveis vulnerabilidades. A ferramenta oferece recomendações de correção e monitora continuamente a infraestrutura para garantir a segurança.

Quanto custa corrigir a vulnerabilidade do OIDC no GitHub Actions?

A correção da vulnerabilidade em si não tem custo direto, pois envolve a alteração da configuração do IAM Role. No entanto, o custo indireto pode ser alto caso a falha seja explorada. Ferramentas de análise de segurança como a Toolzz AI possuem custos variáveis dependendo do plano.

Qual a diferença entre usar IAM roles com OIDC e chaves de acesso tradicionais?

O OIDC utiliza tokens de curta duração, eliminando a necessidade de armazenar chaves de acesso de longo prazo. Isso reduz significativamente o risco de chaves vazadas e simplifica a gestão de credenciais. As chaves de acesso tradicionais, se comprometidas, podem dar acesso permanente à conta.

O que é o 'aud' (audience) em um token OIDC e por que é importante?

O 'aud' (audience) identifica o destinatário pretendido do token OIDC, no caso, a AWS. Restringir o 'aud' ao seu repositório ou organização GitHub garante que apenas solicitações autorizadas possam utilizar o token para acessar os recursos da AWS, prevenindo o acesso não autorizado.

Como o CloudTrail pode auxiliar na detecção de exploração da falha do OIDC?

O CloudTrail registra todas as chamadas de API na AWS. Ao monitorar eventos de acesso, como `AssumeRole`, é possível identificar atividades suspeitas originadas de repositórios GitHub não autorizados, indicando uma possível exploração da vulnerabilidade do OIDC. Configure alertas para eventos críticos.

Quais são os riscos de não corrigir a falha do OIDC no GitHub Actions?

A não correção da falha expõe a conta AWS a diversos riscos, incluindo acesso não autorizado a dados sensíveis, modificação de configurações críticas, interrupção de serviços e até mesmo o controle total da conta por terceiros. O impacto financeiro e reputacional pode ser significativo.

Mais de 3.000 empresas em todo mundo utilizam nossas tecnologias

Bradesco logo
Itaú logo
BTG Pactual logo
Unimed logo
Mercado Bitcoin logo
SEBRAE logo
B3 logo
iFood logo
Americanas logo
Cogna logo
SENAI logo
UNESCO logo
Anhanguera logo
FDC logo
Unopar logo
Faveni logo
Ser Educacional logo
USP logo

Produtos e Plataformas

Ecossistema de soluções SaaS e Superapp Whitelabel

Plataforma de Educação Corporativa

Área de Membros e LMS whitelabel estilo Netflix

Teste 15 dias

Plataforma de Agentes de IA

Crie sua IA no WhatsApp e treine com seu conteúdo

Teste 15 dias

Crie chatbots em minutos

Plataforma de chatbots no-code

Teste 15 dias

Agentes de IA que fazem ligação

Plataforma de Agentes de Voz no-code

Teste 15 dias

Central de Atendimento com IA

Plataforma de suporte omnichannel

Teste 15 dias

Conheça o Toolzz Vibe

Plataforma de Vibecoding. Crie Automações e Apps com IA em minutos sem programar.

Criar conta FREE

Loja de Agentes de IA

Escolha entre nossos agentes especializados ou crie o seu próprio

Crie sua IA personalizada