Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
kubesec — Análisis de riesgos de seguridad para recursos de Kubernetes | Kitploit
Herramientas/GitHubGitHub/controlplaneio/kubesec
Seguridad de Infraestructura en la NubeHerramientas DefensivasAnálisis EstáticoSeguridad de ContenedoresAnálisis Estático de Código (SAST)Auditoría de ConfiguraciónSeguridad en la NubeDevSecOpsMala ConfiguraciónEscape de ContenedoresTop en Auditoría de Configuración #13
1.5k10936hace 3 mesesRevisado por Kitploit
Top en Escape de Contenedores #15
Top en Seguridad de Contenedores #9
Top en Mala Configuración #13
Top en Análisis Estático de Código (SAST) #18
GitHubcontrolplaneio/kubesec

kubesec

Análisis de riesgos de seguridad para recursos de Kubernetes

Ver RepositorioSitio web

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

Kubesec

[![Testing Workflow][testing_workflow_badge]][testing_workflow_badge] [![Security Analysis Workflow][security_workflow_badge]][security_workflow_badge] [![Release Workflow][release_workflow_badge]][release_workflow_badge]

[![Go Report Card][goreportcard_badge]][goreportcard] [![PkgGoDev][go_dev_badge]][go_dev]

🚨 La API v1 está obsoleta, por favor lee las notas de la versión 🚨

Análisis de riesgos de seguridad para recursos de Kubernetes

🎬 Demostración

Demostración de la CLI de Kubesec

Para más ejemplos visita Kubesec.io, que utiliza la API alojada de ControlPlane en v2.kubesec.io/scan.


  • Inicio rápido
  • Descargar Kubesec
  • Ejemplos de uso
    • Escaneo
      • Uso con Docker
      • Formatos de salida
    • Imprimir reglas
    • Esquemas personalizados
  • Modo servidor HTTP
  • Kubesec como servicio
  • Contribuir
  • Obtener ayuda
  • Historial de cambios

🚀 Inicio rápido

1. Prepara tu manifiesto

Crea un archivo de recurso de Kubernetes (p. ej., kubesec-test.yaml) para escanear. Para una prueba rápida, puedes guardar el siguiente manifiesto de Pod:

$ cat <<EOF > kubesec-test.yaml
apiVersion: v1
kind: Pod
metadata:
  name: kubesec-demo
spec:
  containers:
  - name: kubesec-demo
    image: gcr.io/google-samples/node-hello:1.0
    securityContext:
      readOnlyRootFilesystem: true
EOF

2. Ejecuta tu primer escaneo

Ejecuta un escaneo contra tu archivo de manifiesto:

# Using the local binary
kubesec scan kubesec-test.yaml

# Or using Docker
docker run -i kubesec/kubesec:v2 scan /dev/stdin < kubesec-test.yaml

# Using the local binary with a human-readable table output format
kubesec scan kubesec-test.yaml --format table

[!TIP] Para ver los resultados en una tabla legible en lugar del formato JSON predeterminado, usa la opción --format table

kubesec generará una puntuación de seguridad y un análisis detallado de tu recurso.

📦 Descargar Kubesec

Kubesec está disponible como:

  • Imagen de contenedor Docker en docker.io/kubesec/kubesec:v2
  • Binario para Linux/MacOS/Windows (obtén la última versión)
  • Controlador de admisión de Kubernetes
  • Plugin de Kubectl

O instala el último commit desde GitHub con:

Go 1.16+

$ go install github.com/controlplaneio/kubesec/v2@latest

Versión de Go < 1.16

$ GO111MODULE="on" go get github.com/controlplaneio/kubesec/v2

📖 Ejemplos de uso

Escaneo

Escanea recursos de Kubernetes desde archivos locales o desde la entrada estándar.

Kubesec puede escanear múltiples documentos YAML en un solo archivo de entrada, o escanear documentos de varios archivos a la vez, siempre que estén formateados correctamente como múltiples documentos separados por ---.

# Scan a specific local YAML file
kubesec scan ./deployment.yaml

# Scan from standard input (JSON or YAML)
cat file.json | kubesec scan -

# Scan a rendered Helm chart
helm template -f values.yaml ./chart | kubesec scan /dev/stdin

# Scan multiple YAML documents separated by '---'
{ cat test/asset/multi.yml; echo "---"; cat test/asset/critical.yml; } | kubesec scan -

Uso con Docker

Puedes ejecutar los mismos comandos de escaneo usando la imagen oficial de Docker:

# Scan a file via Docker using standard input
docker run -i kubesec/kubesec:v2 scan /dev/stdin < kubesec-test.yaml

Formatos de salida

Kubesec admite tres formatos de salida diferentes, especificados mediante la opción --format / -f: json (predeterminado), table y template, y puede escanear múltiples documentos YAML en un solo archivo de entrada.

# JSON array output (default behaviour)
kubesec scan ./deployment.yaml --format json

# Human-readable table output
kubesec scan ./deployment.yaml --format table

# Use a custom template for the output
kubesec scan ./deployment.yaml --format template --template report-template.tmpl

Escanear reglas específicas

# One rule
kubesec scan --rules CapSysAdmin kubesec-test.yaml

# Multiple rules
kubesec scan --rules RunAsNonRoot,SeccompAny,ApparmorAny kubesec-test.yaml
Ejemplo de salida JSON
[
  {
    "object": "Pod/security-context-demo.default",
    "valid": true,
    "message": "Failed with a score of -30 points",
    "score": -30,
    "scoring": {
      "critical": [
        {
          "selector": "containers[] .securityContext .capabilities .add == SYS_ADMIN",
          "reason": "CAP_SYS_ADMIN is the most privileged capability and should always be avoided",
          "points": -30
        }
      ],
      "advise": [
        {
          "selector": "containers[] .securityContext .runAsNonRoot == true",
          "reason": "Force the running image to run as a non-root user to ensure least privilege",
          "points": 1
        },
        {
          // ...
        }
      ]
    }
  }
]
Ejemplo de salida en tabla

Salida en tabla

Imprimir reglas

# Print all scanning rules with their associated point scores
kubesec print-rules

# Print all scanning rules with their associated point scores as a table
kubesec print-rules --format table

Ejemplo de salida JSON de reglas

[
  {
    "id": "AllowPrivilegeEscalation",
    "selector": "containers[] .securityContext .allowPrivilegeEscalation == true",
    "reason": "Ensure a non-root process can not gain more privileges",
    "kinds": [
      "Pod",
      "Deployment",
      "StatefulSet",
      "DaemonSet"
    ],
    "points": -7,
    "advise": 0
  },
...
]

Esquemas personalizados

Kubesec utiliza kubeconform (gracias a @yannh) para validar los manifiestos a escanear. Esto implica que especificar diferentes ubicaciones de esquemas sigue las reglas descritas en el README de kubeconform.

# Usees the latest schema from upstream
# Schema will be fetched from: https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master-standalone-strict/pod-v1.json
kubesec scan ./pod.yaml

# Use a specific schema version from upstream (format x.y.z with no v prefix)
# Schema will be fetched from: https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.25.3-standalone-strict/pod-v1.json
kubesec scan ./pod.yaml --kubernetes-version 1.25.3
Descargar herramienta