Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/zegl/kube-score
Scanner di VulnerabilitàAnalisi Statica del Codice (SAST)Sicurezza CloudDevSecOpsConfigurazione Errata
GitHubzegl/kube-score

kube-score

Analisi degli oggetti Kubernetes con raccomandazioni per migliorare affidabilità e sicurezza. kube-score previene attivamente tempi di inattività e bug nei tuoi YAML e Charts Kubernetes. Analisi statica del codice per Kubernetes.

Vedi Repository
3.1k1983 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

kube-score

Go Report Card Test Go Releases GitHub stars Downloads License


kube-score è uno strumento che esegue l'analisi statica del codice delle definizioni degli oggetti Kubernetes.

L'output è un elenco di raccomandazioni su cosa puoi migliorare per rendere la tua applicazione più sicura e resiliente.

Puoi provare kube-score nel browser con la demo online (sorgente).

Installazione

kube-score è facile da installare ed è disponibile dalle seguenti fonti:

Sponsor

La tua azienda qui?

Controlli

Per un elenco completo dei controlli, vedi README_CHECKS.md.

  • Limiti dei container (dovrebbero essere impostati)
  • Il Pod è target di una NetworkPolicy, si raccomandano regole sia di egress che di ingress
  • Deployments e StatefulSets dovrebbero avere un PodDisruptionPolicy
  • Deployments e StatefulSets dovrebbero avere configurato l'host PodAntiAffinity
  • Probe dei container, dovrebbe essere configurato un readiness probe, e non dovrebbe essere identico al liveness probe. Leggi di più in README_PROBES.md.
  • securityContext del container, esegui come utente/gruppo con numero alto, non eseguire come root o con filesystem root privilegiato. Leggi di più in README_SECURITYCONTEXT.md.
  • API stabili, utilizza un'API stabile se disponibile (supportate: Deployments, StatefulSets, DaemonSet)

Esempio di output

Utilizzo in CI

kube-score può essere eseguito nel tuo ambiente CI/CD e terminerà con codice di uscita 1 se viene trovato un errore critico. Il livello di trigger può essere cambiato a warning con l'argomento --exit-one-on-warning.

L'input a kube-score dovrebbero essere tutte le applicazioni che distribuisci nello stesso namespace per il miglior risultato.

Esempio con Helm

root@kitploit:~
helm template my-app | kube-score score -

Esempio con Kustomize

root@kitploit:~
kustomize build . | kube-score score -

Esempio con YAML statici

root@kitploit:~
kube-score score my-app/*.yaml
root@kitploit:~
kube-score score my-app/deployment.yaml my-app/service.yaml

Esempio con un cluster esistente

root@kitploit:~
kubectl api-resources --verbs=list --namespaced -o name \
  | xargs -n1 -I{} bash -c "kubectl get {} --all-namespaces -oyaml && echo ---" \
  | kube-score score -

Esempio con Docker

root@kitploit:~
docker run -v $(pwd):/project zegl/kube-score:latest score my-app/*.yaml

Configurazione

root@kitploit:~
Usage of kube-score:
kube-score [action] --flags

Actions:
	score	Checks all files in the input, and gives them a score and recommendations
	list	Prints a CSV list of all available score checks
	version	Print the version of kube-score
	help	Print this message

Flags for score:
      --disable-ignore-checks-annotations   Set to true to disable the effect of the 'kube-score/ignore' annotations
      --disable-optional-checks-annotations Set to true to disable the effect of the 'kube-score/enable' annotations
      --enable-optional-test strings        Enable an optional test, can be set multiple times
      --exit-one-on-warning                 Exit with code 1 in case of warnings
      --help                                Print help
      --ignore-container-cpu-limit          Disables the requirement of setting a container CPU limit
      --ignore-container-memory-limit       Disables the requirement of setting a container memory limit
      --ignore-test strings                 Disable a test, can be set multiple times
      --kubernetes-version string           Setting the kubernetes-version will affect the checks ran against the manifests. Set this to the version of Kubernetes that you're using in production for the best results. (default "v1.18")
  -o, --output-format string                Set to 'human', 'json', 'ci' or 'sarif'. If set to ci, kube-score will output the program in a format that is easier to parse by other programs. Sarif output allows for easier integration with CI platforms. (default "human")
      --output-version string               Changes the version of the --output-format. The 'json' format has version 'v2' (default) and 'v1' (deprecated, will be removed in v1.7.0). The 'human' and 'ci' formats has only version 'v1' (default). If not explicitly set, the default version for that particular output format will be used.
  -v, --verbose count                       Enable verbose output, can be set multiple times for increased verbosity.

Ignorare un test

I test possono essere ignorati nell'intera esecuzione del programma, con il flag --ignore-test.

Un test può anche essere ignorato per oggetto, aggiungendo l'annotazione kube-score/ignore all'oggetto. Il valore dovrebbe essere una stringa separata da virgole dei ID test.

Esempio:

Testare questo oggetto disabiliterà temporaneamente il test service-type, che avvisa contro l'uso di servizi di tipo NodePort.

root@kitploit:~
apiVersion: v1
kind: Service
metadata:
  name: node-port-service-with-ignore
  namespace: foospace
  annotations:
    kube-score/ignore: service-type
spec:
  selector:
    app: my-app
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
  type: NodePort

Abilitare un test opzionale

I test opzionali possono essere abilitati nell'intera esecuzione del programma, con il flag --enable-optional-test.

Un test può anche essere abilitato per oggetto, aggiungendo l'annotazione kube-score/enable all'oggetto. Il valore dovrebbe essere una stringa separata da virgole dei ID test.

Esempio:

Testare questo oggetto abiliterà il test container-seccomp-profile. Inoltre, anche più test definiti da kube-score/ignore vengono ignorati contemporaneamente.

root@kitploit:~
apiVersion: apps/v1
kind: Deployment
metadata:
  name: optional-test-manifest-deployment
  labels:
    app: optional-test-manifest
  annotations:
    kube-score/ignore: pod-networkpolicy,container-resources,container-image-pull-policy,container-security-context-privileged,container-security-context-user-group-id,container-security-context-readonlyrootfilesystem,container-ephemeral-storage-request-and-limit
    kube-score/enable: container-seccomp-profile
spec:
  replicas: 1
  selector:
    matchLabels:
      app: optional-test-manifest
  template:
    metadata:
      labels:
        app: optional-test-manifest
    spec:
      containers:
      - name: optional-test-manifest
        image: busybox:1.34
        command:
        - /bin/sh
        - -c
        - date; env; tail -f /dev/null

Compilazione dal sorgente

kube-score richiede Go 1.21 o successivo per essere compilato. Clona questo repository, e poi:

root@kitploit:~
# Build the project
go build ./cmd/kube-score

# Run all tests
go test -v ./...

Contribuire?

Vuoi dare una mano? Dai un'occhiata alle Linee guida per contribuire per maggiori informazioni. 🤩

Dipendenze

ProgettoVersione
go.dev^1.21

Creato da

Scarica lo strumento
DistribuzioneComando / Link
Binari precompilati per macOS, Linux e WindowsGitHub releases
Dockerdocker pull zegl/kube-score (Docker Hub)
Homebrew (macOS e Linux)brew install kube-score
Krew (macOS e Linux)kubectl krew install score