Ferramenta de análise estática que encontra e corrige problemas de segurança em configurações de CI/CD, como GitHub Actions, Dependabot e pre-commit.
suzuki-shunsuke/pinact
CLI que fixa GitHub Actions e reusable workflows em SHAs completos de commit e pode atualizar e verificar os comentários de versão.
- Estrelas
- 1,252
- Forks
- 43
- Issues abertas
- 33
- Último commit
- há 23 horas
O que é?
pinact edita arquivos de workflows do GitHub e de composite actions para que cada referência a uma action ou reusable workflow aponte para um SHA de commit imutável e completo, mantendo a versão original em um comentário no fim da linha. Tags mutáveis, como v3, podem ser movidas por quem as mantém; fixar em um SHA elimina esse risco à cadeia de suprimentos.
Além de fixar versões, pinact pode atualizar actions fixadas para versões mais recentes, verificar se os arquivos já estão fixados sem editá-los e confirmar se os comentários de versão correspondem ao SHA fixado. Também funciona offline no modo de verificação, oferece suporte ao GitHub Enterprise Server e pode ler um token do GitHub no chaveiro do sistema operacional ou no ghtkn.
Pipelines de CI podem executar pinact no modo de verificação para fazer builds falharem quando houver actions sem versão fixada e gerar SARIF para ferramentas de revisão, como o reviewdog.
Recursos principais
- 01Fixa GitHub Actions e reusable workflows em SHAs de commit, mantendo a versão em um comentário.
- 02Verifica se as referências estão fixadas sem editar os arquivos, inclusive em modo offline e sem usar a API do GitHub.
- 03Atualiza actions fixadas, com a opção de exigir um tempo mínimo desde o lançamento.
- 04Verifica se os comentários de versão correspondem ao commit fixado.
- 05Permite incluir ou excluir actions específicas e fixar versões somente nas linhas alteradas.
- 06Gera SARIF e oferece suporte ao GitHub Enterprise Server.
Casos de uso
- Reforçar a segurança de workflows de CI para impedir que actions de terceiros mudem sem aviso.
- Exigir actions fixadas na CI com um modo de verificação que falha quando encontra referências sem versão fixada.
- Manter actions fixadas atualizadas manualmente em equipes que não usam Renovate.
- Adotar a fixação de versões gradualmente em um repositório grande, fixando apenas as linhas alteradas.
Início rápido
- 1
Instale o pinact (consulte INSTALL.md)
- 2
Fixe as actions de um repositório
pinact run - 3
Verifique o versionamento fixo no CI sem modificar arquivos
pinact run --check - 4
Configure um token do GitHub para evitar limites de taxa nas chamadas à API
export GITHUB_TOKEN=<your token>
Antes de usar
- Sem um token de acesso do GitHub, as chamadas à API estão sujeitas a limites de taxa.
Em coleções
Tópicos
Perguntas frequentes
- O que é pinact?
- CLI que fixa GitHub Actions e reusable workflows em SHAs completos de commit e pode atualizar e verificar os comentários de versão. pinact edita arquivos de workflows do GitHub e de composite actions para que cada referência a uma action ou reusable workflow aponte para um SHA de commit imutável e completo, mantendo a versão original em um comentário no fim da linha. Tags mutáveis, como v3, podem ser movidas por quem as mantém; fixar em um SHA elimina esse risco à cadeia de suprimentos.
- pinact é gratuito? Qual é a licença?
- pinact é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pinact ainda é mantido?
- Manutenção ativa. O último commit de pinact foi em 6 de nov. de 2026.
- Para que posso usar pinact?
- Reforçar a segurança de workflows de CI para impedir que actions de terceiros mudem sem aviso. Exigir actions fixadas na CI com um modo de verificação que falha quando encontra referências sem versão fixada. Manter actions fixadas atualizadas manualmente em equipes que não usam Renovate. Adotar a fixação de versões gradualmente em um repositório grande, fixando apenas as linhas alteradas.
- Como instalar pinact?
- Instale o pinact (consulte INSTALL.md) Fixe as actions de um repositório: pinact run Verifique o versionamento fixo no CI sem modificar arquivos: pinact run --check Configure um token do GitHub para evitar limites de taxa nas chamadas à API: export GITHUB_TOKEN=<your token>
- Onde consigo pinact?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/suzuki-shunsuke/pinact
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Gerenciador open source de secrets e variáveis de ambiente, com painel web, CLI e sincronização com GitHub Actions.
Ferramenta de automação de releases para projetos Go que compila, empacota e publica binários no GitHub, em gerenciadores de pacotes e em registros de contêineres.
CLI open source para executar fluxos de CI/CD em projetos de machine learning e publicar métricas e gráficos em pull requests.
Ferramenta CLI para detectar segredos hardcoded, como senhas, chaves de API e tokens, em repositórios Git, arquivos e stdin.
CLI que detecta e valida mais de 500 tipos de segredos hardcoded em arquivos, repositórios Git, imagens Docker e pacotes, com uso em hooks pre-commit ou no CI.