Repolode
securego

securego/gosec

Ferramenta de análise estática que verifica código Go em busca de vulnerabilidades de segurança comuns e padrões de codificação inseguros.

Estrelas
9,001
Forks
731
Issues abertas
5
Último commit
há 4 dias

O que é?

gosec inspeciona código Go em busca de problemas de segurança, percorrendo as representações AST e SSA do código. A ferramenta inclui grupos de regras para credenciais hardcoded, uso inseguro de APIs, configurações fracas de criptografia e TLS, permissões de arquivos e tratamento de caminhos, além de imports em uma lista de bloqueio; cada regra é associada a um identificador CWE.

As regras de taint analysis acompanham o fluxo de dados da entrada do usuário até pontos sensíveis, cobrindo tipos de injeção como SQL, comandos, templates e SMTP, além de SSRF, path traversal, XSS, open redirect e desserialização insegura. É possível suprimir resultados em linha com comentários #nosec ou //gosec:disable, ou filtrá-los por regra, caminho, severidade e confiança.

Os resultados podem ser exportados como texto, JSON, YAML, CSV, JUnit XML, HTML, SonarQube, golint ou SARIF. A ferramenta também pode ser executada como GitHub Action ou instalada com go install.

Recursos principais

  • 01Regras baseadas em padrões para problemas comuns de segurança em Go, como credenciais hardcoded e criptografia fraca
  • 02Taint analysis que acompanha a entrada do usuário até pontos de destino de SQL, comandos, caminhos, SSRF e XSS
  • 03Supressão em linha com #nosec ou //gosec:disable, com a opção de exigir justificativas
  • 04Exclusões de regras por caminho e filtros de severidade e confiança
  • 05Vários formatos de relatório, incluindo SARIF para o code scanning do GitHub

Casos de uso

  • Executar verificações de segurança em código Go em pipelines de CI usando a GitHub Action
  • Enviar resultados SARIF ao code scanning do GitHub para revisão de pull requests
  • Auditar uma base de código Go em busca de injeções, criptografia fraca ou configurações inseguras de TLS antes do lançamento

Início rápido

  1. 1

    Instale o gosec com go install (requer Go 1.25 ou posterior)

    go install github.com/securego/gosec/v2/cmd/gosec@latest
  2. 2

    Analise todos os pacotes do módulo atual

    gosec ./...

Antes de usar

  • É necessário ter Go 1.25 ou posterior para instalar e compilar.

Em coleções

Tópicos

Perguntas frequentes

O que é gosec?
Ferramenta de análise estática que verifica código Go em busca de vulnerabilidades de segurança comuns e padrões de codificação inseguros. gosec inspeciona código Go em busca de problemas de segurança, percorrendo as representações AST e SSA do código. A ferramenta inclui grupos de regras para credenciais hardcoded, uso inseguro de APIs, configurações fracas de criptografia e TLS, permissões de arquivos e tratamento de caminhos, além de imports em uma lista de bloqueio; cada regra é associada a um identificador CWE.
gosec é gratuito? Qual é a licença?
gosec é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
gosec ainda é mantido?
Manutenção ativa. O último commit de gosec foi em 3 de nov. de 2026.
Para que posso usar gosec?
Executar verificações de segurança em código Go em pipelines de CI usando a GitHub Action Enviar resultados SARIF ao code scanning do GitHub para revisão de pull requests Auditar uma base de código Go em busca de injeções, criptografia fraca ou configurações inseguras de TLS antes do lançamento
Como instalar gosec?
Instale o gosec com go install (requer Go 1.25 ou posterior): go install github.com/securego/gosec/v2/cmd/gosec@latest Analise todos os pacotes do módulo atual: gosec ./...
Onde consigo gosec?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/securego/gosec

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados