Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gokart — Una herramienta de análisis estático para asegurar código Go. | Kitploit
Herramientas/GitHubGitHub/praetorian-inc/gokart
Análisis Estático de Código (SAST)Análisis de VulnerabilidadesAnálisis de CódigoDevSecOpsDetección de SecretosMala ConfiguraciónArchived
GitHubpraetorian-inc/gokart

gokart

Una herramienta de análisis estático para asegurar código Go.

Ver Repositorio
2.2k106hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

GoKart - Análisis Estático de Seguridad para Go

CI Release

GoKart es una herramienta de análisis estático para Go que encuentra vulnerabilidades utilizando la forma SSA (asignación única estática) del código fuente Go. Es capaz de rastrear el origen de variables y argumentos de funciones para determinar si las fuentes de entrada son seguras, lo que reduce el número de falsos positivos en comparación con otros escáneres de seguridad de Go. Por ejemplo, una consulta SQL que se concatena con una variable tradicionalmente podría marcarse como inyección SQL; sin embargo, GoKart puede determinar si la variable es realmente una constante o equivalente de constante, en cuyo caso no hay vulnerabilidad.

GoKart también ayuda a impulsar Chariot, la plataforma de seguridad de Praetorian que ayuda a encontrar, gestionar y corregir vulnerabilidades en su código fuente y entornos en la nube. Chariot simplifica la ejecución de escaneos automatizados y continuos de GoKart en su código fuente. Si desea probar GoKart, puede crear una cuenta gratuita de Chariot en minutos haciendo clic aquí.

Por Qué Construimos GoKart

El análisis estático es una técnica poderosa para encontrar vulnerabilidades en el código fuente. Sin embargo, este enfoque ha sufrido de ser ruidoso, es decir, muchas herramientas de análisis estático encuentran bastantes "vulnerabilidades" que en realidad no son reales. Esto ha generado fricción con los desarrolladores, cansados de que las herramientas "llamen al lobo" una vez de más.

La motivación de GoKart fue abordar esto: ¿Podríamos crear un escáner con tasas de falsos positivos significativamente más bajas que las herramientas existentes? Según nuestra experimentación, la respuesta es sí. Al aprovechar el rastreo de fuente a sumidero y SSA, GoKart es capaz de rastrear la contaminación de variables entre asignaciones, mejorando significativamente la precisión de los hallazgos. Nuestro enfoque está en la usabilidad: pragmáticamente, eso significa que hemos optimizado nuestros enfoques para reducir las falsas alarmas.

Para más información, lea nuestra publicación en el blog.

Instalación

Puede instalar GoKart localmente utilizando cualquiera de las opciones listadas a continuación.

Instalar con go install

root@kitploit:~
$ go install github.com/praetorian-inc/gokart@latest

Instalar un binario de lanzamiento

  1. Descargue el binario para su sistema operativo desde la página de lanzamientos.

  2. (OPCIONAL) Descargue el archivo checksums.txt para verificar la integridad del archivo

root@kitploit:~
# Check the checksum of the downloaded archive
$ shasum -a 256 gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz

$ cat gokart_${VERSION}_${ARCH}_checksums.txt | grep gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz
  1. Extraiga el archivo descargado
root@kitploit:~
$ tar -xvf gokart_${VERSION}_${ARCH}.tar.gz
  1. Mueva el binario gokart a su PATH:
root@kitploit:~
$ mv ./gokart /usr/local/bin/

Clonar y compilar usted mismo

root@kitploit:~
# clone the GoKart repo
$ git clone https://github.com/praetorian-inc/gokart.git

# navigate into the repo directory and build
$ cd gokart
$ go build

# Move the gokart binary into your path
$ mv ./gokart /usr/local/bin

Soporte Docker

Construir la imagen Docker

root@kitploit:~
docker build -t gokart .

Ejecutar el contenedor con un escaneo local (el directorio de escaneo local debe estar montado en la imagen del contenedor)

root@kitploit:~
docker run -v /path/to/scan-dir:/scan-dir gokart scan /scan-dir

Ejecutar el contenedor con un escaneo remoto (al especificar una clave privada para autenticación, también deberá montarse en el contenedor)

root@kitploit:~
docker run gokart scan -r https://github.com/praetorian-inc/gokart

# specifying a private key for private repository ssh authentication
docker run -v /path/to/key-dir/:/key-dir gokart scan -r [email protected]:praetorian-inc/gokart.git -k /key-dir/ssh_key

Uso

Ejecutar GoKart en un módulo Go en el directorio actual

root@kitploit:~
# running without a directory specified defaults to '.'
gokart scan <flags>

Escanear un módulo Go en un directorio diferente

root@kitploit:~
gokart scan <directory> <flags> 

Obtener Ayuda

root@kitploit:~
gokart help

Primeros Pasos - Escaneando una Aplicación de Ejemplo

Puede seguir los pasos a continuación para ejecutar GoKart en Go Test Bench, una aplicación Go intencionalmente vulnerable del equipo de Contrast Security.

root@kitploit:~
# Clone sample vulnerable application
git clone https://github.com/Contrast-Security-OSS/go-test-bench.git
gokart scan go-test-bench/

La salida debería mostrar algunas vulnerabilidades identificadas, cada una con una Función Vulnerable y una Fuente de Entrada de Usuario identificada.

Para probar algunas características adicionales de GoKart, puede escanear con las banderas de CLI sugeridas a continuación.

root@kitploit:~
# Use verbose flag to show full traces of these vulnerabilities
gokart scan go-test-bench/ -v

# Use globalsTainted flag to ignore whitelisted Sources
# may increase false positive results
gokart scan go-test-bench/ -v -g

# Use debug flag to display internal analysis information
# which is useful for development and debugging
gokart scan go-test-bench/ -d

# Output results in sarif format
gokart scan go-test-bench/ -s

# Output results to file
gokart scan go-test-bench/ -o gokart-go-test-bench.txt

# Output scarif results to file
gokart scan go-test-bench/ -o gokart-go-test-bench.txt -s

# Scan remote public repository 
# Repository will be cloned locally, scanned and deleted afterwards
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -v

# Specify the remote branch to scan
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -b actions_fix

# Scan remote private repository via ssh
gokart scan -r [email protected]:Contrast-Security-OSS/go-test-bench.git 

# Scan remote private repository and optionally specify a key for ssh authentication 
gokart scan -r [email protected]:Contrast-Security-OSS/go-test-bench.git -k /home/gokart/.ssh/github_rsa_key

# Use remote scan and output flags together for seamless security reviews
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -o gokart-shiftleft-go-demo.txt -v 

# Use remote scan, output and sarif flags for frictionless integration into CI/CD
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -o gokart-shiftleft-go-demo.txt -s

Para probar la extensibilidad de GoKart, puede modificar el archivo de configuración que GoKart utiliza para introducir un nuevo sumidero vulnerable en el análisis. Hay un analizador de Sumidero de Prueba definido en el archivo de configuración por defecto incluido en util/analyzers.yml. Modifique util/analyzers.yml para eliminar los comentarios del analizador de Sumidero de Prueba y luego indique a GoKart que use el archivo de configuración modificado con la bandera -i.

root@kitploit:~
# Scan using modified analyzers.yml file and output full traces
gokart scan go-test-bench/ -v -i <path-to-gokart>/util/analyzers.yml

La salida ahora debería contener vulnerabilidades adicionales, incluyendo nuevas vulnerabilidades de "Sumidero de Prueba alcanzable por entrada de usuario".

Ejecutar las Pruebas de GoKart

Puede ejecutar las pruebas incluidas con el siguiente comando, invocado desde el directorio raíz de GoKart.

root@kitploit:~
go test -v ./...
Descargar herramienta