Repolode
securego

securego/gosec

Herramienta de análisis estático que busca vulnerabilidades de seguridad comunes y patrones de código inseguros en código Go.

Estrellas
9,000
Forks
731
Issues abiertos
5
Último commit
hace 4 días

¿Qué es?

gosec inspecciona el código Go en busca de problemas de seguridad mediante el recorrido de sus representaciones AST y SSA. Incluye grupos de reglas para detectar credenciales codificadas en el código, uso inseguro de API, criptografía débil y configuraciones TLS inseguras, permisos de archivos y gestión de rutas, e imports incluidos en listas de bloqueo; cada regla está asociada a un identificador CWE.

Sus reglas de análisis de taint rastrean el flujo de datos desde la entrada del usuario hasta los puntos sensibles, y cubren tipos de inyección como SQL, comandos, plantillas y SMTP, además de SSRF, traversal de rutas, XSS, redirecciones abiertas y deserialización insegura. Los hallazgos se pueden suprimir en línea con comentarios #nosec o //gosec:disable, o filtrar por regla, ruta, gravedad y nivel de confianza.

Los resultados se pueden exportar como texto, JSON, YAML, CSV, JUnit XML, HTML, SonarQube, golint o SARIF. La herramienta también se puede ejecutar como GitHub Action o instalar con go install.

Funciones clave

  • 01Reglas basadas en patrones para problemas de seguridad comunes en Go, como credenciales codificadas en el código y criptografía débil
  • 02Análisis de taint que rastrea la entrada del usuario hasta puntos de SQL, comandos, rutas, SSRF y XSS
  • 03Supresión en línea con #nosec o //gosec:disable y la opción de exigir una justificación
  • 04Exclusiones de reglas por ruta y filtros de gravedad y nivel de confianza
  • 05Varios formatos de informe, incluido SARIF para GitHub code scanning

Casos de uso

  • Ejecutar comprobaciones de seguridad en código Go dentro de pipelines de CI mediante GitHub Action
  • Subir resultados SARIF a GitHub code scanning para revisar pull requests
  • Auditar una base de código Go en busca de inyecciones, criptografía débil o configuraciones TLS inseguras antes de publicar

Inicio rápido

  1. 1

    Instala gosec con go install (requiere Go 1.25 o posterior)

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

    Analiza todos los paquetes del módulo actual

    gosec ./...

Antes de usarlo

  • Se requiere Go 1.25 o posterior para instalar y compilar.

En colecciones

Temas

Preguntas frecuentes

¿Qué es gosec?
Herramienta de análisis estático que busca vulnerabilidades de seguridad comunes y patrones de código inseguros en código Go. gosec inspecciona el código Go en busca de problemas de seguridad mediante el recorrido de sus representaciones AST y SSA. Incluye grupos de reglas para detectar credenciales codificadas en el código, uso inseguro de API, criptografía débil y configuraciones TLS inseguras, permisos de archivos y gestión de rutas, e imports incluidos en listas de bloqueo; cada regla está asociada a un identificador CWE.
¿gosec es gratuito? ¿Qué licencia tiene?
gosec es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿gosec sigue mantenido?
Mantenimiento activo. El último commit de gosec fue el 3 nov 2026.
¿Para qué puedo usar gosec?
Ejecutar comprobaciones de seguridad en código Go dentro de pipelines de CI mediante GitHub Action Subir resultados SARIF a GitHub code scanning para revisar pull requests Auditar una base de código Go en busca de inyecciones, criptografía débil o configuraciones TLS inseguras antes de publicar
¿Cómo se instala gosec?
Instala gosec con go install (requiere Go 1.25 o posterior): go install github.com/securego/gosec/v2/cmd/gosec@latest Analiza todos los paquetes del módulo actual: gosec ./...
¿Dónde consigo gosec?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/securego/gosec

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados