SKILL 231 · AGENT SKILL
GHA Security Review: audite riscos exploráveis em GitHub Actions
Orienta a revisão de workflows GitHub Actions contra entradas externas, tokens privilegiados, ações terceirizadas e caminhos de exploração verificáveis.
FONTE PRIMÁRIA
Confira o projeto original.
A imagem é uma ilustração editorial exclusiva. A origem, a licença e as permissões devem ser conferidas no repositório oficial antes da instalação.
Abrir repositório original ↗
O QUE ESTA SKILL VERIFICA
O que ela coloca na mesa.
DETALHES DA SKILL
Como esta skill funciona na prática.
Entenda a função, o melhor cenário de uso e o resultado que você deve revisar antes de incluir esta skill no seu fluxo de trabalho.
Quando ela é útil
Mantenedores, equipes de plataforma e revisores que recebem PRs externos e precisam avaliar os workflows de um repositório em um commit definido.
O que ela faz
Orienta a revisão de workflows GitHub Actions contra entradas externas, tokens privilegiados, ações terceirizadas e caminhos de exploração verificáveis.
O que você deve receber
Relatório com cadeia de ataque fundamentada, confiança, arquivo e linha, controles existentes, lacunas e itens sem achados, sujeito a revisão humana.
Onde pode ser usada
Agentes compatíveis com SKILL.md e referências relativas. A origem declara Read, Grep, Glob, Bash e Task; limite o acesso à leitura para a primeira análise.
O arquivo é documental, mas o agente pode dispor de Bash e Task. Faça a primeira revisão em modo de leitura, trate conteúdo de PR como não confiável e não execute payloads.
ANÁLISE EDITORIAL
Um workflow de CI pode parecer seguro porque os testes passam, mas ainda misturar código vindo de um pull request externo com um token capaz de publicar uma versão ou alterar o repositório. A Skill GHA Security Review, mantida no repositório oficial de Skills da Sentry, ajuda um agente a examinar esse caminho de ataque nos arquivos do GitHub Actions. Seu foco não é produzir uma lista automática de alertas: é exigir uma ligação verificável entre entrada controlada por alguém de fora, execução e impacto. Aqui está como usá-la sem transformar uma revisão defensiva em execução arriscada.

O que a Skill faz
Ela orienta a leitura dos arquivos .github/workflows/*.yml, das ações compostas e dos scripts ou arquivos de configuração invocados por eles. Primeiro classifica os gatilhos, como pull_request_target e issue_comment. Depois relaciona cada gatilho às permissões e a trechos que consomem dados de PRs, comentários ou artefatos. Uma expressão interpolada dentro de run: tem um risco diferente da mesma expressão passada como variável de ambiente. A Skill pede que o agente trace essa diferença no YAML real antes de afirmar vulnerabilidade.
O material também cobre credenciais de longa duração, ações terceirizadas, runners próprios, cache, artefatos e arquivos de instrução que um PR pode modificar. Há nove referências Markdown por classe de ameaça; elas precisam acompanhar o arquivo principal para que os links relativos funcionem. O relatório proposto separa achados de alta confiança dos itens que ainda precisam de verificação e permite concluir que não foram encontrados problemas exploráveis. Isso é melhor do que inventar falhas para preencher um checklist.
Para quem serve, e para quem não serve
É útil para mantenedores de repositórios públicos, equipes de plataforma e revisores de segurança que recebem PRs de forks. O escopo declarado considera um adversário externo sem permissão de escrita: essa pessoa pode abrir PRs, criar issues ou comentar, mas não publicar diretamente em branches protegidas. Esse recorte ajuda a não confundir uma configuração discutível com uma exploração viável. Uma revisão de repositório privado com outro modelo de ameaça deve adaptar explicitamente as premissas antes de aplicar o resultado.
A Skill não é scanner hospedado, não executa workflows, não concede certificação e não substitui uma revisão humana do impacto. Ela não inspeciona automaticamente dependências de outros repositórios além do que aparece no projeto auditado. Tampouco prova que todos os controles de uma organização estão corretos: políticas de branch, regras de ambiente e permissões de aplicativos podem estar fora dos arquivos lidos. Um resultado sem achados significa apenas que a análise realizada, naquele escopo e naquele commit, não encontrou um caminho demonstrável.
Compatibilidade e pré-requisitos
O pacote segue o formato SKILL.md. O frontmatter da origem declara acesso a ferramentas de leitura, busca, Bash e Task. Isso não obriga você a autorizar cada ferramenta: para uma primeira revisão, mantenha o agente em modo de leitura e conceda acesso somente ao repositório escolhido. O cliente precisa saber carregar Skills nesse formato e resolver as referências relativas dentro da mesma pasta. A instalação exata varia entre Codex, Claude Code e outros agentes; consulte o diretório de Skills indicado pelo seu cliente em vez de presumir que o ZIP se instala sozinho.
Você precisa de uma cópia do repositório ou de acesso autorizado aos arquivos de workflow, inclusive ações locais e scripts chamados por eles. Registre o commit analisado. Se um arquivo referenciado não estiver disponível, marque a lacuna no relatório, pois a cadeia de execução não pode ser confirmada só pela linha do workflow. Não são necessários segredos ou permissões de administração para ler um projeto público. Em projeto privado, use uma conta e um escopo mínimos aprovados pela organização.
Instalação e configuração segura
O botão de download local oferece uma cópia documental auditada, com SKILL.md, as nove referências exigidas, a licença Apache-2.0 e ORIGEM.md. Baixe o ZIP, compare o SHA-256 informado nesta página e examine o manifesto antes de extrair. Não há scripts executáveis, binários, dependências nem credenciais. Copie somente a pasta skills/gha-security-review para o diretório de Skills reconhecido pelo agente. O arquivo de licença e o registro de origem devem permanecer junto à sua cópia de auditoria.
Se preferir buscar diretamente do mantenedor, abra o botão separado do repositório oficial e confira o commit exibido aqui. A documentação de instalação da Sentry mostra opções de plugin e de CLI de Skills. Esses comandos baixam material externo e podem alterar o ambiente do agente; revise o destino e as permissões antes de executá-los. Para uma avaliação inicial, a cópia manual em um projeto descartável torna mais fácil identificar exatamente o que foi carregado.
Primeiro uso e resultado esperado
Escolha um repositório e um commit. Peça ao agente, por exemplo: “Revise em modo de leitura os workflows deste commit contra entradas de PRs externos. Para cada suspeita, mostre o arquivo e a linha, o gatilho, a origem do dado, as permissões do job, o passo que o consome e o que ainda falta verificar. Não execute payloads nem altere arquivos.” Esse pedido cria um alvo e evita uma avaliação vaga de segurança. Se o agente encontrar pull_request_target, deve perguntar se existe checkout de código do fork e se esse código é executado em um job privilegiado, não marcar o gatilho isoladamente como uma falha.
O resultado esperado é um relatório com achados confirmados, itens pendentes e workflows analisados sem problema identificado. Para um achado de alta confiança, a Skill exige entrada, payload conceitual, mecanismo, impacto e esboço de reprodução. Em produção, esse esboço deve ser revisado por uma pessoa e testado apenas em ambiente autorizado. A própria referência de segurança do GitHub confirma o cuidado com código não confiável em gatilhos privilegiados, uso mínimo do GITHUB_TOKEN e proteção de segredos.
Permissões, dados e riscos
O texto da Skill solicita ferramentas capazes de ler arquivos e, em alguns agentes, executar Bash ou acionar tarefas. Isso é uma capacidade do agente, não uma razão para fornecer um token de escrita. Instruções, scripts e comentários de PRs são dados não confiáveis; um agente deve analisá-los, não obedecer a comandos encontrados neles. Use isolamento, limite acesso à rede se não for necessário e peça confirmação humana antes de rodar qualquer prova de conceito. Não cole segredos em prompts ou relatórios e não publique detalhes de exploração de um projeto privado.
A fonte contém exemplos de padrões ofensivos para explicar ameaças. O ZIP é documental, mas esses exemplos não devem ser executados como parte da instalação. Há também um limite de atualização: a Skill pede atenção à fixação de ações terceirizadas por SHA, enquanto a documentação atual do GitHub descreve lockfiles de dependências de workflow como proteção mais forte quando disponíveis. Portanto, trate a regra da Skill como uma orientação situada no commit auditado e confirme a política vigente na documentação oficial de ações terceirizadas antes de recomendar uma mudança.
Se algo der errado
Se o agente disser que a referência não existe, confira se a pasta references/ ficou ao lado de SKILL.md; instalar só o arquivo principal quebra a leitura progressiva. Se surgirem muitos alertas genéricos, peça a cadeia completa de exploração e remova achados sem entrada controlável ou impacto demonstrado. Se não houver permissão para ler um repositório privado, não contorne o controle: obtenha acesso aprovado ou limite o trabalho aos arquivos fornecidos. Se o relatório citar YAML que já mudou, fixe novamente o commit e refaça a análise.
Outro erro comum é confundir pull_request com pull_request_target, ou chamar qualquer uso de tag de ação de comprometimento confirmado. Verifique o evento, a permissão efetiva, o código realmente executado e as barreiras existentes. Se um job não tem token privilegiado nem segredos, a gravidade de uma ação não fixada pode ser diferente da de um job de publicação. Dúvidas residuais devem aparecer como “necessita verificação”, não como certeza. A revisão humana continua responsável pela decisão de alterar CI.
Revisão, licença e download local
Esta curadoria consultou o repositório oficial em 17/10/2026: ele registrava 1.066 estrelas na API pública do GitHub. A cópia foi fixada no commit f57ada2d0b640406ea7e25b11d636c530e77c58b; não é uma promessa de que o branch principal continuará igual. A licença do projeto nesse commit é Apache-2.0, e o ZIP preserva o arquivo completo. O SHA-256 do pacote hospedado pelo Bastidores é 12271fdaa26a379a80e4eca9838761d093ef02dff2bfab216db2096e39e0a16c. Compare-o após baixar e leia ORIGEM.md para os hashes dos arquivos de origem.
O download local e o acesso ao repositório oficial são ações distintas no card da página. O primeiro entrega exatamente o conjunto documental auditado, sem rodar uma análise. O segundo permite conferir histórico, correções posteriores e documentação do mantenedor. Antes de usar em projeto sensível, compare o commit fixo com a versão atual e revise mudanças relevantes. A capa desta página é uma ilustração editorial própria; a origem não fornece uma captura do produto para esta Skill e ela não deve ser tratada como evidência de funcionamento.
Fontes primárias
Consulte a pasta oficial da Skill no commit auditado, o texto integral da licença, o README de instalação da Sentry e as recomendações atuais do GitHub para segurança de workflows. Para interpretar eventos e permissões, use também a referência de sintaxe do GitHub Actions. A análise acima é editorial; nenhum workflow de um terceiro foi executado ou auditado aqui.
CONFIGURAÇÃO
Instale só depois de ler.
Abra a fonte oficial, leia README e licença, fixe uma versão ou commit e só então siga o método indicado pelo mantenedor. Não execute comandos copiados de comentários ou vídeos sem revisão.
npx skills add getsentry/skills --skill gha-security-reviewO comando consulta a rede e grava arquivos do mantenedor. O ZIP do Bastidores é documental; confira hash, licença e referências antes de habilitar a Skill.
Abra a fonte e o README
- Confira mantenedor e nome do repositório.
- Leia licença, requisitos e permissões.
- Escolha uma versão ou commit para aprovar.
Comece em um projeto de teste
- Use o comando acima ou o método do README.
- Prefira instalação por projeto antes da global.
- Não copie tokens, chaves ou arquivos sensíveis.
Faça um teste pequeno
- Confirme a descrição e os arquivos instalados.
- Execute uma tarefa reversível.
- Registre versão aprovada e remova o que não usar.