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
wrongsecrets — App vulnerabile con esempi che mostrano come non utilizzare i segreti | Kitploit
Strumenti/GitHubGitHub/owasp/wrongsecrets
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàCTFSicurezza CloudDevSecOpsRilevamento SegretiApprendimento e FormazioneLab e Pratica
GitHubowasp/wrongsecrets

wrongsecrets

App vulnerabile con esempi che mostrano come non utilizzare i segreti

Vedi Repository
1.5k5993 giorni 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

OWASP WrongSecrets

Tweet

Java checkstyle and testing Pre-commit Terraform FMT CodeQL Dead Link Checker Javadoc and Swaggerdoc generator Test Heroku with cypress

Test minikube script (k8s) Test minikube script (k8s&vault) Docker container test Test container on podman DAST with ZAP PR Preview and Visual Diff Build Preview Visual Diff

OWASP Production Project OpenSSF Best Practices Discussions Docker pulls

Benvenuto nel gioco OWASP WrongSecrets! Il gioco è ricco di esempi reali su come non memorizzare i segreti nel tuo software. Ciascuno di questi esempi è racchiuso in una sfida, che devi risolvere usando vari strumenti e tecniche. Risolvere queste sfide ti aiuterà a riconoscere gli errori comuni e potrà aiutarti a riflettere sulla tua strategia di gestione dei segreti.

Riesci a risolvere tutte le 67 sfide?

Provane alcune sul nostro ambiente demo Heroku.

Vuoi giocare con le altre sfide? Leggi le istruzioni su come configurarle qui sotto.

🚀 Avvio Rapido

Nuovo a WrongSecrets? Inizia qui:

  1. Prova prima online: Visita la nostra demo Heroku per familiarizzare con le sfide
  2. Esegui localmente: Usa Docker per l'esperienza completa con tutte le sfide: ```bash docker run -p 8080:8080 -p 8090:8090 jeroenwillemsen/wrongsecrets:latest-no-vault
    root@kitploit:~

Then open http://localhost:8080 3. Vuoi vedere cosa ci aspetta? Prova il nostro container master all'avanguardia con le ultime funzionalità: ```bash docker run -p 8080:8080 -p 8090:8090 ghcr.io/owasp/wrongsecrets/wrongsecrets-master:latest-master

root@kitploit:~
⚠️ *Nota: Questa è una versione di sviluppo e potrebbe essere instabile*
4. **Configurazione Avanzata**: Per le sfide cloud e gli esercizi Kubernetes, consulta le istruzioni dettagliate qui sotto

**Cosa imparerai:**
- Errori comuni nella gestione dei segreti
- Come identificare le credenziali esposte
- Migliori pratiche per la protezione dei segreti
- Strumenti e tecniche per il rilevamento dei segreti

**Come funziona:**
Questo repository contiene **codice e file di configurazione intenzionalmente vulnerabili** con segreti reali e fittizi nascosti in tutto il codice. Esaminerai codice sorgente, file di configurazione, container Docker e deployment cloud per scoprire questi segreti. Ogni sfida ti insegna diversi modi in cui i segreti possono essere accidentalmente esposti in applicazioni reali.

![screenshot della sfida 1](https://assets.kitploit.com/production/public/readmes/6937/ad02ece4104616d09ac232d1423d84111048b3437c4439ebf44172a60c673546.png)

## 📋 Prerequisiti

**Per uso base:**
- Un browser web
- Docker (per configurazione locale) - [Installa qui](https://docs.docker.com/get-docker/)

**Per configurazioni avanzate:**
- Kubernetes/Minikube - [Installa qui](https://minikube.sigs.k8s.io/docs/start/)
- Account cloud (AWS/GCP/Azure) per le sfide cloud
- Familiarità con la riga di comando

<a href="https://github.com/vshymanskyy/StandWithUkraine/blob/main/README.md"><img src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-no-action.svg" /></a>

## Indice dei contenuti

### 🎯 Per Iniziare
-   [Avvio Rapido](#-quick-start)
-   [Prerequisiti](#-prerequisites)
-   [Supporto](#support)

### 🐳 Opzioni di Deployment
-   [Esercizi docker base](#basic-docker-exercises)
 -   [Eseguirli su Heroku](#running-these-on-heroku)
 -   [Eseguirli su Render.io](#running-these-on-renderio)
 -   [Eseguirli su Railway](#running-these-on-railway)
-   [Esercizio K8s base](#basic-k8s-exercise)
 -   [Basato su Minikube](#minikube-based)
 -   [Basato su k8s](#k8s-based)
 -   [Esercizi Vault con minikube](#vault-exercises-with-minikube)

### ☁️ Sfide Cloud
-   [Sfide Cloud](#cloud-challenges)
 -   [Eseguire WrongSecrets su AWS](#running-wrongsecrets-in-aws)
 -   [Eseguire WrongSecrets su GCP](#running-wrongsecrets-in-gcp)
 -   [Eseguire WrongSecrets su Azure](#running-wrongsecrets-in-azure)
 -   [Eseguire Challenge15 solo nel tuo cloud](#running-challenge15-in-your-own-cloud-only)

### 🎮 Uso Avanzato
-   [Vuoi giocare senza aiuto?](#do-you-want-to-play-without-guidance-or-spoils)
-   [CTF](#ctf)
 -   [Supporto CTFD](#ctfd-support)
 -   [Supporto FBCTF](#fbctf-support-experimental)
-   [Usa OWASP WrongSecrets come benchmark per il rilevamento di segreti](#use-owasp-wrongsecrets-as-a-secret-detection-benchmark)

### 👨‍💻 Sviluppo e Contributi
-   [Note sullo sviluppo](#notes-on-development)
-   [Checklist di adozione Spring Boot 4](https://github.com/owasp/wrongsecrets/blob/HEAD/docs/SPRING_BOOT_4_ADOPTION_CHECKLIST.md)
 -   [Gestione dipendenze](#dependency-management)
 -   [Avviare il progetto in IntelliJ IDEA](#get-the-project-started-in-intellij-idea)
 -   [Ricaricamento automatico durante lo sviluppo](#automatic-reload-during-development)
 -   [Come aggiungere una Sfida](#how-to-add-a-challenge)
 -   [Test locale](#local-testing)
 -   [Test automatico locale](#Local-automated-testing)
-   [Vuoi disabilitare sfide nella tua release?](#want-to-disable-challenges-in-your-own-release)

### 📚 Risorse e Community
-   [Ringraziamenti speciali e Contributori](#special-thanks--contributors)
-   [Sponsorizzazioni](#sponsorships)
-   [Aiuto Richiesto](#help-wanted)
-   [Letture consigliate sulla gestione dei segreti](#further-reading-on-secrets-management)

## Supporto

Hai bisogno di supporto? Contattaci tramite [OWASP Slack](https://owasp.slack.com/archives/C02KQ7D9XHR) per il quale ti registri [qui](https://owasp.org/slack/invite), apri una [PR](https://github.com/OWASP/wrongsecrets/pulls), segnala un [problema](https://github.com/OWASP/wrongsecrets/issues) o usa le [discussioni](https://github.com/OWASP/wrongsecrets/discussions). Nota che questo è un progetto basato su volontari OWASP, quindi potrebbe volerci un po' prima di ricevere una risposta.

Copyright (c) 2020-2025 Jeroen Willemsen e contributori di WrongSecrets.

## 🛤️ Scegli il tuo Percorso

Non sei sicuro di quale configurazione sia giusta per te? Ecco una guida rapida:

| **Voglio...** | **Configurazione Raccomandata** | **Sfide Disponibili** |
|------------------|----------------------|--------------------------|
| Provarlo rapidamente online | [Container in esecuzione su Heroku](https://www.wrongsecrets.com/) | Sfide base (0-4, 8, 12-32, 34-43, 49-52, 54-66) |
| Eseguire localmente con Docker | [Docker Base](#basic-docker-exercises) | Come sopra, ma sulla tua macchina |
| Imparare i segreti di Kubernetes | [Configurazione K8s/Minikube](#basic-k8s-exercise) | Sfide Kubernetes (0-6, 8, 12-43, 48-66) |
| Praticare con segreti cloud | [Sfide Cloud](#cloud-challenges) | Tutte le sfide (0-66) |
| Organizzare un workshop/CTF | [Configurazione CTF](#ctf) | Set di sfide personalizzabili |
| Contribuire al progetto | [Configurazione Sviluppo](#notes-on-development) | Tutte le sfide + strumenti di sviluppo |

## Esercizi docker base

_Possono essere usati per le sfide 0-4, 8, 12-32, 34-43, 49-52, 54-66_

Per gli esercizi docker base attualmente hai bisogno di:

-   Docker [Installa da qui](https://docs.docker.com/get-docker/)
-   Un browser in grado di renderizzare HTML

Puoi installarlo eseguendo:```bash
docker run -p 8080:8080 -p 8090:8090 jeroenwillemsen/wrongsecrets:latest-no-vault

🚀 Vuoi provare la versione all'avanguardia?

Se vuoi vedere cosa arriverà nella prossima release, puoi utilizzare il nostro container master costruito automaticamente:```bash docker run -p 8080:8080 -p 8090:8090 ghcr.io/owasp/wrongsecrets/wrongsecrets-master:latest-master

root@kitploit:~
⚠️ **Avviso**: Questa è una versione di sviluppo costruita dall'ultimo ramo master e potrebbe contenere funzionalità sperimentali o instabilità.

**📝 Nota sulle porte:**
- Porta **8080**: Applicazione principale (challenge 0-66)
- Porta **8090**: Server MCP (richiesto per Challenge 60)

**📝 Nota sul Challenge 62 (Google Drive MCP):**
Il Challenge 62 richiede che un account di servizio Google sia configurato per la piena funzionalità. Vedi [docs/CHALLENGE62_GOOGLE_DRIVE_SETUP.md](https://github.com/owasp/wrongsecrets/blob/HEAD/docs/CHALLENGE62_GOOGLE_DRIVE_SETUP.md) per le istruzioni di configurazione. Senza configurazione, il challenge mostrerà un messaggio placeholder.

Ora puoi provare a trovare i segreti risolvendo i challenge offerti ai link seguenti
<details>
    <summary>tutti i link per i challenge docker (clicca sul triangolo per aprire il blocco).
    </summary>

-   [localhost:8080/challenge/challenge-0](http://localhost:8080/challenge/challenge-0)
-   [localhost:8080/challenge/challenge-1](http://localhost:8080/challenge/challenge-1)
-   [localhost:8080/challenge/challenge-2](http://localhost:8080/challenge/challenge-2)
-   [localhost:8080/challenge/challenge-3](http://localhost:8080/challenge/challenge-3)
-   [localhost:8080/challenge/challenge-4](http://localhost:8080/challenge/challenge-4)
-   [localhost:8080/challenge/challenge-8](http://localhost:8080/challenge/challenge-8)
-   [localhost:8080/challenge/challenge-12](http://localhost:8080/challenge/challenge-12)
-   [localhost:8080/challenge/challenge-13](http://localhost:8080/challenge/challenge-13)
-   [localhost:8080/challenge/challenge-14](http://localhost:8080/challenge/challenge-14)
-   [localhost:8080/challenge/challenge-15](http://localhost:8080/challenge/challenge-15)
-   [localhost:8080/challenge/challenge-16](http://localhost:8080/challenge/challenge-16)
-   [localhost:8080/challenge/challenge-17](http://localhost:8080/challenge/challenge-17)
-   [localhost:8080/challenge/challenge-18](http://localhost:8080/challenge/challenge-18)
-   [localhost:8080/challenge/challenge-19](http://localhost:8080/challenge/challenge-19)
-   [localhost:8080/challenge/challenge-20](http://localhost:8080/challenge/challenge-20)
-   [localhost:8080/challenge/challenge-21](http://localhost:8080/challenge/challenge-21)
-   [localhost:8080/challenge/challenge-22](http://localhost:8080/challenge/challenge-22)
-   [localhost:8080/challenge/challenge-23](http://localhost:8080/challenge/challenge-23)
-   [localhost:8080/challenge/challenge-24](http://localhost:8080/challenge/challenge-24)
-   [localhost:8080/challenge/challenge-25](http://localhost:8080/challenge/challenge-25)
-   [localhost:8080/challenge/challenge-26](http://localhost:8080/challenge/challenge-26)
-   [localhost:8080/challenge/challenge-27](http://localhost:8080/challenge/challenge-27)
-   [localhost:8080/challenge/challenge-28](http://localhost:8080/challenge/challenge-28)
-   [localhost:8080/challenge/challenge-29](http://localhost:8080/challenge/challenge-29)
-   [localhost:8080/challenge/challenge-30](http://localhost:8080/challenge/challenge-30)
-   [localhost:8080/challenge/challenge-31](http://localhost:8080/challenge/challenge-31)
-   [localhost:8080/challenge/challenge-32](http://localhost:8080/challenge/challenge-32)
-   [localhost:8080/challenge/challenge-34](http://localhost:8080/challenge/challenge-34)
-   [localhost:8080/challenge/challenge-35](http://localhost:8080/challenge/challenge-35)
-   [localhost:8080/challenge/challenge-36](http://localhost:8080/challenge/challenge-36)
-   [localhost:8080/challenge/challenge-37](http://localhost:8080/challenge/challenge-37)
-   [localhost:8080/challenge/challenge-38](http://localhost:8080/challenge/challenge-38)
-   [localhost:8080/challenge/challenge-39](http://localhost:8080/challenge/challenge-39)
-   [localhost:8080/challenge/challenge-40](http://localhost:8080/challenge/challenge-40)
-   [localhost:8080/challenge/challenge-41](http://localhost:8080/challenge/challenge-41)
-   [localhost:8080/challenge/challenge-42](http://localhost:8080/challenge/challenge-42)
-   [localhost:8080/challenge/challenge-43](http://localhost:8080/challenge/challenge-43)
-   [localhost:8080/challenge/challenge-49](http://localhost:8080/challenge/challenge-49)
-   [localhost:8080/challenge/challenge-50](http://localhost:8080/challenge/challenge-50)
-   [localhost:8080/challenge/challenge-51](http://localhost:8080/challenge/challenge-51)
-   [localhost:8080/challenge/challenge-52](http://localhost:8080/challenge/challenge-52)
-   [localhost:8080/challenge/challenge-54](http://localhost:8080/challenge/challenge-54)
-   [localhost:8080/challenge/challenge-55](http://localhost:8080/challenge/challenge-55)
-   [localhost:8080/challenge/challenge-56](http://localhost:8080/challenge/challenge-56)
-   [localhost:8080/challenge/challenge-57](http://localhost:8080/challenge/challenge-57)
-   [localhost:8080/challenge/challenge-58](http://localhost:8080/challenge/challenge-58)
-   [localhost:8080/challenge/challenge-59](http://localhost:8080/challenge/challenge-59)
-   [localhost:8080/challenge/challenge-60](http://localhost:8080/challenge/challenge-60)
-   [localhost:8080/challenge/challenge-61](http://localhost:8080/challenge/challenge-61)
-   [localhost:8080/challenge/challenge-62](http://localhost:8080/challenge/challenge-62)
-   [localhost:8080/challenge/challenge-63](http://localhost:8080/challenge/challenge-63)
-   [localhost:8080/challenge/challenge-64](http://localhost:8080/challenge/challenge-64)
-   [localhost:8080/challenge/challenge-65](http://localhost:8080/challenge/challenge-65)
-   [localhost:8080/challenge/challenge-66](http://localhost:8080/challenge/challenge-66)
</details>

Nota che questi challenge sono ancora molto basilari, così come le loro spiegazioni. Sentiti libero di aprire una PR per migliorarli ;-).

### Eseguirli su Heroku

Puoi provarli anche su [https://wrongsecrets.herokuapp.com/](https://wrongsecrets.herokuapp.com/)! Le persone di Heroku ci hanno dato un fantastico pacchetto di supporto open source, che ci permette di eseguire l'app gratuitamente lì, dove è quasi sempre attiva. Tuttavia, per favore non fare fuzzing e/o cercare di mandarla giù: rovineresti l'esperienza per altri che vogliono provarla.
Usa [questo link](https://wrongsecrets.herokuapp.com/) per utilizzare la nostra versione hostata. Se vuoi ospitarla tu stesso su Heroku (ad esempio per eseguire un training), puoi farlo cliccando [questo link](https://heroku.com/deploy?template=https://github.com/OWASP/wrongsecrets/tree/master). Tieni presente che ciò comporterà dei costi per i quali questo progetto e/o i suoi manutentori non possono essere ritenuti responsabili.

### Eseguirli su Render.io
*stato: sperimentale*

Puoi provarli su [https://wrongsecrets.onrender.com/](https://wrongsecrets.onrender.com/). Tieni presente che eseguiamo su un'istanza gratuita, non possiamo fornire garanzie. Per favore non fare fuzzing e/o cercare di mandarla giù: rovineresti l'esperienza per altri che vogliono provarla.
Vuoi distribuire tu stesso su Render? Clicca il pulsante qui sotto:

[![Distribuisci su Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/OWASP/wrongsecrets)


### Eseguirli su Railway
*stato: mantenuto da [alphasec.io](https://github.com/alphasecio)*

Se vuoi ospitare WrongSecrets su Railway, puoi farlo distribuendo [questo template con un clic](https://railway.com/deploy/McqJ_j?referralCode=I07F1). Railway non offre più un piano sempre gratuito, ma la prova gratuita è sufficiente per provare questo prima di decidere di aggiornare. Se hai bisogno di una guida passo passo, vedi [questo post sul blog](https://alphasec.io/test-your-secret-management-skills-with-owasp-wrongsecrets/).

[![Distribuisci su Railway](https://railway.com/button.svg)](https://railway.com/deploy/McqJ_j?referralCode=I07F1j)

## Esercizio base K8s

_Può essere usato per i challenge 0-6, 8, 12-43, 48-66_

### Basato su Minikube

Assicurati di avere installato quanto segue:

-   Docker [Installa da qui](https://docs.docker.com/get-docker/)
-   Minikube [Installa da qui](https://minikube.sigs.k8s.io/docs/start/)

La configurazione K8S attualmente si basa sull'uso di Minikube per divertimento locale. Puoi usare i comandi seguenti dalla radice del progetto:```bash
    minikube start
    kubectl apply -f k8s/secrets-config.yml
    kubectl apply -f k8s/secrets-secret.yml
    kubectl apply -f k8s/challenge33.yml
    kubectl apply -f k8s/challenge53/secret-challenge53.yml
    echo "Setting up the bitnami sealed secret controler"
    kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.0/controller.yaml
    kubectl apply -f k8s/sealed-secret-controller.yaml
    kubectl apply -f k8s/main.key
    kubectl delete pod -n kube-system -l name=sealed-secrets-controller
    kubectl create -f k8s/sealed-challenge48.json
    echo "finishing up the sealed secret controler part"
    wait 10 #or check whether secret48 is there
    kubectl apply -f k8s/secret-challenge-deployment.yml
    while [[ $(kubectl get pods -l app=secret-challenge -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') != "True" ]]; do echo "waiting for secret-challenge" && sleep 2; done
    kubectl expose deployment secret-challenge --type=LoadBalancer --port=8080
    minikube service secret-challenge

In alternativa puoi fare :```bash ./k8s-vault-minikube-start.sh

root@kitploit:~
ora puoi utilizzare l'indirizzo IP e la porta forniti per giocare ulteriormente con la variante K8s (invece di localhost).

-   [localhost:8080/challenge/challenge-5](http://localhost:8080/challenge/challenge-5)
-   [localhost:8080/challenge/challenge-6](http://localhost:8080/challenge/challenge-6)
-   [localhost:8080/challenge/challenge-33](http://localhost:8080/challenge/challenge-33)
-   [localhost:8080/challenge/challenge-48](http://localhost:8080/challenge/challenge-48)
-   [localhost:8080/challenge/challenge-53](http://localhost:8080/challenge/challenge-53)

### basato su k8s

Vuoi eseguire vanilla sul tuo k8s? Usa i comandi seguenti:```bash
    kubectl apply -f k8s/secrets-config.yml
    kubectl apply -f k8s/secrets-secret.yml
    echo "Setting up the bitnami sealed secret controler"
    kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.0/controller.yaml
    kubectl apply -f k8s/sealed-secret-controller.yaml
    kubectl apply -f k8s/main.key
    kubectl delete pod -n kube-system -l name=sealed-secrets-controller
    kubectl create -f k8s/sealed-challenge48.json
    echo "finishing up the sealed secret controler part"
    wait 10 #or check whether secret48 is there
    kubectl apply -f k8s/challenge33.yml
    kubectl apply -f k8s/secret-challenge-deployment.yml
    while [[ $(kubectl get pods -l app=secret-challenge -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') != "True" ]]; do echo "waiting for secret-challenge" && sleep 2; done
    kubectl port-forward \
        $(kubectl get pod -l app=secret-challenge -o jsonpath="{.items[0].metadata.name}") \
        8080:8080

ora puoi usare l'indirizzo IP e la porta forniti per giocare ulteriormente con la variante K8s (invece di localhost).

  • localhost:8080/challenge/challenge-5
  • localhost:8080/challenge/challenge-6
  • localhost:8080/challenge/challenge-33
  • localhost:8080/challenge/challenge-48

Esercizi Vault con minikube

Può essere usato per le sfide 0-8, 12-66 Assicurati di avere installato quanto segue:

  • minikube con docker (o commenta la riga 8 e lavora con la tua configurazione k8s),
  • docker,
  • helm Installa da qui,
  • kubectl Installa da qui,
  • jq Installa da qui,
  • vault Installa da qui,
  • grep, Cat e Sed

Esegui ./k8s-vault-minikube-start.sh, quando lo script è completato, le sfide ti aspetteranno all'indirizzo http://localhost:8080. Questo ti permetterà di eseguire le sfide 0-8, 12-66.

Quando hai interrotto lo script k8s-vault-minikube-start.sh e vuoi riprendere il port forward, esegui: k8s-vault-minikube-resume.sh. Questo perché se esegui di nuovo lo script di avvio, sostituirà il segreto in vault e non aggiornerà l'applicazione secret-challenge con il nuovo segreto.

Sfide cloud

Può essere usato per le sfide 0-66

LEGGI QUESTO: Dato che gli esercizi seguenti contengono esercizi di escalation dei privilegi IAM, non eseguire mai questo su un account correlato al tuo ambiente di produzione o che possa influenzare le risorse sovraordinate del tuo account.

Esecuzione di WrongSecrets in AWS

Segui i passaggi nel README nella sottocartella AWS.

Esecuzione di WrongSecrets in GCP

Segui i passaggi nel README nella sottocartella GCP.

Esecuzione di WrongSecrets in Azure

Segui i passaggi nel README nella sottocartella Azure.

Esecuzione di Challenge15 solo nel tuo cloud

Quando vuoi includere i tuoi Canarytokens per il tuo deployment cloud, procedi come segue:

  1. Forka il progetto.
  2. Assicurati di usare gli script GCP ingress o AWS ingress per generare un ingress per il tuo progetto.
  3. Vai su canarytokens.org e seleziona AWS Keys, nel campo webHook URL aggiungi <il-tuo-dominio-creato-al-passo1>/canaries/tokencallback.
  4. Crittografa le credenziali ricevute in modo che Challenge15 possa decrittografarle di nuovo.
  5. Committa i materiali non crittografati e crittografati su Git, poi esegui un altro commit senza i materiali decrittografati.
  6. Adatta gli indizi della Challenge15 nel tuo fork in modo che puntino al tuo fork.
  7. Crea un container e pubblicalo nel tuo registry.
  8. Sovrascrivi i file di definizione K8s per AWS o GCP.

Vuoi giocare senza guida o spoiler?

Ogni sfida ha un pulsante Mostra indizi e un pulsante Cosa c'è che non va?. Questi pulsanti aiutano a semplificare le sfide e forniscono spiegazioni al lettore. Tuttavia, le spiegazioni possono rovinare il divertimento se vuoi fare questo come esercizio di hacking. Pertanto, puoi manipolarli sovrascrivendo le seguenti impostazioni nel tuo ambiente:

  • hints_enabled=false disattiverà il pulsante Mostra indizi.
  • reason_enabled=false disattiverà il pulsante di spiegazione Cosa c'è che non va?.
  • spoiling_enabled=false disattiverà l'endpoint /spoil/challenge-x (dove x è il nome breve della sfida).

Abilitazione di Swaggerdocs e UI

Puoi abilitare la documentazione Swagger e l'interfaccia utente Swagger sovrascrivendo le impostazioni SPRINGDOC_UI e SPRINGDOC_DOC quando esegui il container Docker.

Ringraziamenti speciali e collaboratori

Leader:

  • Ben de Haan @bendehaan
  • Jeroen Willemsen @commjoen

Migliori collaboratori:

  • Jannik Hollenbach @J12934
  • Puneeth Y @puneeth072003
  • Joss Sparkes @RemakingEden

Collaboratori:

  • Nanne Baars @nbaars
  • Marcin Nowak @drnow4u
  • Rodolfo Neves @roddas
  • Osama Magdy @osamamagdy
  • Pastekitoo @Pastekitoo
  • Shubham Patel @Shubham-Patel07
  • za @za
  • Divyanshu Dev @Novice-expert
  • Tibor Hercz @tiborhercz
  • Adarsh A @adarsh-a-tw
  • Chris Elbring Jr. @neatzsche
  • Diamond Rivero @diamant3
  • Norbert Wolniak @nwolniak
  • Robert Felber @rfelber
  • Filip Chyla @fchyla
  • Vineeth Jagadeesh @djvinnie
  • Dmitry Litosh @Dlitosh
  • Mahaputra Ilham Awal @mahaputrailhamawal
  • Turjo Chowdhury @turjoc120
  • SndR @SndR85
  • alphasec @alphasecio
  • CaduRoriz @CaduRoriz
  • Josh Grossman @tghosth
  • Madhu Akula @madhuakula

Tester:

  • Dave van Stein @davevs
  • Marcin Nowak @drnow4u
  • Marc Chang Sing Pang @mchangsp
  • Vineeth Jagadeesh @djvinnie

Ringraziamenti speciali:

  • Madhu Akula @madhuakula @madhuakula
  • Nanne Baars @nbaars @nbaars
  • Bjorn Kimminich @bkimminich
  • Dan Gora @devsecops
  • Xiaolu Dai @saragluna
  • Jonathan Giles @jonathanGiles

Sponsorizzazioni

Vorremmo ringraziare le seguenti parti per il loro aiuto:

gitguardian_logo.png

GitGuardian per la loro sponsorizzazione che ci permette di pagare le bollette per i nostri account cloud.

JetBrains logo.

Jetbrains per aver concesso una licenza di Intellij IDEA Ultimate edition ai responsabili del progetto. Non saremmo stati così veloci nello sviluppo senza di essa!

1password_logo.png

1Password per averci concesso una licenza open source a 1Password per il testbed di rilevamento dei segreti.

AWS Open Source

AWS per averci concesso crediti AWS Open Source che utilizziamo per testare il nostro progetto e la configurazione Wrongsecrets CTF Party su AWS.

Cerchiamo aiuto

Puoi aiutarci nei seguenti modi:

  • Metti una stella
  • Condividi questa app con altri
  • Naturalmente, possiamo sempre usare il tuo aiuto per ottenere più varietà di segreti configurati "erroneamente" per diffondere la consapevolezza! Ci piacerebbe ricevere aiuto con altri provider cloud, come Alibaba o Tencent cloud per esempio. Ti manca qualcosa di diverso da un provider cloud? Apri un issue o crea una PR! Consulta la nostra guida per contribuire per maggiori dettagli. I collaboratori saranno elencati nei rilasci, nella sezione "Ringraziamenti speciali e collaboratori" e nell'app web.

Usa OWASP WrongSecrets come benchmark per la rilevazione di segreti

Poiché stanno emergendo tonnellate di strumenti di rilevamento dei segreti sia per Docker che per Git, stiamo creando un testbed di benchmark per questo. Vuoi sapere se il tuo strumento rileva tutto? Teneremo traccia dei segreti incorporati in questo issue e abbiamo un branch in cui mettiamo segreti aggiuntivi affinché il tuo strumento li rilevi. Il branch conterrà uno script di generazione di container Docker con cui potrai eventualmente testare la scansione dei segreti del tuo container.

Confronto automatizzato degli scanner di segreti

Ora forniamo un flusso di lavoro GitHub Action automatizzato che confronta più strumenti di scansione dei segreti rispetto al codebase di WrongSecrets. Il flusso di lavoro di confronto degli scanner testa 7 diversi strumenti:

  • TruffleHog - Scanner di segreti basato su Docker
  • git-secrets - Scanner di hook git di AWS Labs
  • gitleaks - Scanner ad alte prestazioni basato su Go
  • detect-secrets - Scanner aziendale di Yelp
  • gittyleaks - Rilevatore di pattern basato su Python
  • whispers - Scanner strutturato di Skyscanner
  • trufflehog3 - Versione Python di TruffleHog

Il flusso di lavoro viene eseguito settimanalmente e fornisce una tabella di confronto che mostra quanti segreti rileva ciascuno strumento, aiutandoti a comprendere l'efficacia relativa dei diversi strumenti di scansione dei segreti. Vedi docs/scanner-comparison.md per maggiori dettagli sull'esecuzione e l'interpretazione dei risultati.

CTF

Abbiamo 3 modi per giocare a CTF:

  • Il rapido approccio "giochiamo" basato sul nostro dominio Heroku https://wrongsecrets-ctf.herokuapp.com, che abbiamo documentato per te qui.
  • Un approccio più esteso documentato in ctf-instructions.md.
  • Una configurazione CTF completamente personalizzabile in cui ogni giocatore riceve la propria istanza virtuale di WrongSecrets e una istanza virtuale del wrongsecrets-desktop, così tutti possono giocare senza problemi. Per questo devi usare la configurazione WrongSecrets CTF Party.

Supporto CTFD

Vuoi usare CTFD per giocare a un CTF basato sull'istanza gratuita Heroku wrongsecrets-ctf insieme a CTFD? Puoi!

NOTA: Il supporto CTFD ora funziona basato su JuiceShop CTF CLI.

NOTA-II: https://wrongsecrets-ctf.herokuapp.com (temporaneamente giù per mancanza di crediti OSS) è basato su Heroku e ha capacità limitata.

La creazione iniziale del file zip per CTFD richiede di visitare https://wrongsecrets-ctf.herokuapp.com/api/Challenges una volta prima di eseguire i passaggi seguenti.

Segui i seguenti passaggi:```shell npm install -g [email protected] juice-shop-ctf #choose ctfd and https://wrongsecrets-ctf.herokuapp.com as domain. No trailing slash! The key is 'TRwzkRJnHOTckssAeyJbysWgP!Qc2T', feel free to enable hints. docker run -p 8001:8000 -it ctfd/ctfd:3.7.4

root@kitploit:~
> **Nota:** Gli indizi possono essere generati solo se l'istanza di WrongSecrets ha gli indizi abilitati (`HINTS_ENABLED=true`). L'istanza CTF di Heroku ([https://wrongsecrets-ctf.herokuapp.com](https://wrongsecrets-ctf.herokuapp.com)) esegue con `HINTS_ENABLED=false`, quindi selezionando "Free hints" o "Paid hints" si otterrà una lista di indizi vuota. Per generare indizi, esegui la tua istanza con `HINTS_ENABLED=true`.

Ora visita l'istanza CTFD all'indirizzo [http://localhost:8001](http://localhost:8001) e configura il tuo CTF.
Quindi usa la funzione di backup amministrativo per importare il file zip che hai creato con il comando juice-shop-ctf.
Gioca usando [https://wrongsecrets-ctf.herokuapp.com](https://wrongsecrets-ctf.herokuapp.com)!
Vuoi configurarne uno tuo? Puoi! Tuttavia fai attenzione che qualcuno trovi la tua chiave, quindi proteggila adeguatamente: assicurati che il contenitore in esecuzione con la vera chiave CTF non sia esposto al pubblico, simile al nostro contenitore Heroku.

## Supporto FBCTF (Sperimentale!)

NOTA: Il supporto FBCTF è sperimentale.

Segui gli stessi passaggi di CTFD, solo che ora scegli fbctfd e come URL per il countrymapping scegli `https://raw.githubusercontent.com/OWASP/wrongsecrets/79a982558016c8ce70948a8106f9a2ee5b5b9eea/config/fbctf.yml`.
Poi segui [https://github.com/facebookarchive/fbctf/wiki/Quick-Setup-Guide](https://github.com/facebookarchive/fbctf/wiki/Quick-Setup-Guide) per eseguire FBCTF.

## Note sullo sviluppo

Per lo sviluppo su macchina locale usa il profilo `local` `./mvnw spring-boot:run -Dspring-boot.run.profiles=local,without-vault`

Se vuoi testare con vault senza K8s: avvia vault localmente con```shell
 export SPRING_CLOUD_VAULT_URI='http://127.0.0.1:8200'
 export VAULT_API_ADDR='http://127.0.0.1:8200'
 vault server -dev

e nel tuo prossimo terminale, esegui (con il token dei comandi precedenti):```shell export SPRING_CLOUD_VAULT_URI='http://127.0.0.1:8200' export SPRING_CLOUD_VAULT_TOKEN='' vault token create -id="00000000-0000-0000-0000-000000000000" -policy="root" vault kv put secret/secret-challenge vaultpassword.password="$(openssl rand -base64 16)" vault kv put secret/injected vaultinjected.value="$(openssl rand -base64 16)" vault kv put secret/codified challenge47secret.value="debugvalue"

root@kitploit:~
Ora usa il profilo `local-vault` per fare il tuo sviluppo.```shell
./mvnw spring-boot:run -Dspring-boot.run.profiles=local,local-vault

Se vuoi sviluppare senza un'istanza di Vault, utilizza inoltre il profilo without-vault per il tuo sviluppo:```shell ./mvnw spring-boot:run -Dspring-boot.run.profiles=local,without-vault

root@kitploit:~
Vuoi caricare un container? Consulta `.github/scripts/docker-create-and-push.sh` per uno script che genera e carica tutti i container. Non dimenticare di ricostruire l'app prima di comporre il container.

Vuoi verificare perché qualcosa in vault non funziona in Kubernetes? Esegui `kubectl exec vault-0 -n vault -- vault audit enable file file_path=stdout`.

### Gestione delle dipendenze

Abbiamo integrato CycloneDX e OWASP Dependency-check per controllare le dipendenze alla ricerca di vulnerabilità.
Puoi utilizzare OWASP Dependency-checker chiamando `mvn dependency-check:aggregate` e `mvn cyclonedx:makeBom` per usare CycloneDX e creare un SBOM.

### Configurazione del Plugin Maven Dependency-Check

OWASP WrongSecrets utilizza il plugin [`dependency-check-maven`](https://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html) per scansionare automaticamente le dipendenze del progetto alla ricerca di vulnerabilità note (CVE).

#### Come Funziona

- Il plugin viene eseguito durante la build Maven (`./mvnw clean install`) e controlla tutte le dipendenze confrontandole con database pubblici di vulnerabilità.
- Di default, utilizza l'NVD (National Vulnerability Database) e può anche usare OSS Index per una copertura aggiuntiva.

#### Punti Salienti della Configurazione

Il plugin è configurato in `pom.xml` sotto la sezione `<build><plugins>`:```xml
<plugin>
  <groupId>org.owasp</groupId>
  <artifactId>dependency-check-maven</artifactId>
  <version>${dependency-check-maven.version}</version>
  <configuration>
    <nvdApiKey>...</nvdApiKey>
    <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
    <ossIndexServerId>ossindex</ossIndexServerId>
    <ossIndexAnalyzerEnabled>true</ossIndexAnalyzerEnabled> <!-- SET THIS TO FALSE IF YOU HAVE NO SONATYPE ACCOUNT! -->
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
  </executions>
</plugin>
  • nvdApiKey: Chiave API per accedere al database NVD (consigliata per scansioni più veloci e affidabili).
  • ossIndexServerId: Fa riferimento alle credenziali nel tuo settings.xml di Maven per OSS Index (vedi sotto).
  • ossIndexAnalyzerEnabled: Imposta su true per abilitare la scansione OSS Index. Se incontri errori di autenticazione (401), imposta su false per disabilitare OSS Index.

Autenticazione con OSS Index

Per utilizzare OSS Index, devi aggiungere le tue credenziali al tuo settings.xml di Maven:```xml ossindex YOUR_OSSINDEX_USERNAME YOUR_OSSINDEX_API_TOKEN

root@kitploit:~
Sostituisci `YOUR_OSSINDEX_USERNAME` e `YOUR_OSSINDEX_API_TOKEN` con i tuoi dati dell'account OSS Index.

#### Risoluzione dei problemi

- Se vedi errori `401 Unauthorized` per OSS Index, verifica le tue credenziali o disabilita OSS Index impostando `<ossIndexAnalyzerEnabled>false</ossIndexAnalyzerEnabled>` in `pom.xml`.
- Puoi sempre eseguire la build senza OSS Index se preferisci solo la scansione basata su NVD.

#### Maggiori informazioni

Consulta la [Documentazione del Plugin Maven Dependency-Check](https://jeremylong.github.io/DependencyCheck/dependency-check-maven/index.html) per opzioni di configurazione avanzate.

### Avvia il progetto in IntelliJ IDEA

Prerequisiti: assicurati di avere installati i seguenti strumenti: [Docker](https://www.docker.com/products/docker-desktop/), [Java25 JDK](https://jdk.java.net/25/), [NodeJS 24](https://nodejs.org/en/download/current) e [IntelliJ IDEA](https://www.jetbrains.com/idea/download).

1. Fai il fork e clona il progetto come descritto nella [documentazione](https://github.com/OWASP/wrongsecrets/blob/master/CONTRIBUTING.md).
2. Importa il progetto in IntelliJ (es. importa come progetto mvn / sorgenti locali)
3. Vai nelle impostazioni del progetto e assicurati che utilizzi Java25 (e che il JDK sia trovabile)
4. Vai in Impostazioni IDE > Language & Frameworks > Lombok e assicurati che l'elaborazione di Lombok sia abilitata
5. Apri la scheda Maven nella tua IDEA ed esegui "Reload All Maven Projects" per sincronizzare il sistema e scaricare tutto. Successivamente, nella stessa scheda, usa l'opzione "install" come parte del Lifecycle di OWASP WrongSecrets per generare asciidoc e simili.
6. Ora esegui il metodo `main` in `org.owasp.wrongsecrets.WrongSecretsApplication.java`. Dovrebbe fallire con uno stack trace.
7. Ora vai nella configurazione di esecuzione dell'app e assicurati di avere il profilo attivo `without-vault`. Questo si fa impostando gli argomenti delle opzioni VM su `--server.port=8080 --spring.profiles.active=local,without-vault`. Imposta `K8S_ENV=docker` come argomento di ambiente.
8. Ripeti il passaggio 6: esegui di nuovo l'app, dovresti avere un'applicazione funzionante correttamente e visitabile nel browser all'indirizzo http://localhost:8080.

**Guida illustrata** su come avviare il progetto in IntelliJ IDEA è disponibile su [_Contributing.md_](https://github.com/OWASP/wrongsecrets/blob/master/CONTRIBUTING.md#how-to-get-started-with-the-project-in-intellij-idea).

Sentiti libero di modificare e proporre modifiche tramite pull request. Segui le nostre indicazioni nella [documentazione](https://github.com/OWASP/wrongsecrets/blob/master/CONTRIBUTING.md) per far accettare il tuo lavoro.

Nota che supportiamo ufficialmente solo Linux e MacOS per lo sviluppo. Se vuoi sviluppare usando una macchina Windows, utilizza WSL2 o una macchina virtuale con Linux. Abbiamo incluso il rilevamento di Windows e alcuni file `.exe` per un primo esperimento, ma cerchiamo mantenitori attivi per essi. Vuoi assicurarti che funzioni su Windows? Crea PR ;-).

Se, dopo aver letto questa sezione, non hai ancora idea del codice dell'applicazione: Dai un'occhiata [ad alcuni tutorial su Spring Boot da Baeldung](https://www.baeldung.com/spring-boot).

### Ricarica automatica durante lo sviluppo

Per velocizzare il caricamento delle modifiche, abbiamo aggiunto `spring-dev-tools` al progetto Maven.
Per abilitarlo automaticamente in IntelliJ, assicurati che:

-   In Compiler -> Build automaticamente il progetto sia abilitato, e
-   In Impostazioni avanzate -> Consenti avvio automatico anche se l'applicazione in sviluppo è in esecuzione.

Puoi anche invocare manualmente: Build -> Ricompila il file appena modificato, questo forzerà anche la ricarica dell'applicazione.

### Come aggiungere una challenge

Segui i passaggi seguenti per aggiungere una challenge:

1. Prima assicurati di avere una [Issue](https://github.com/OWASP/wrongsecrets/issues) segnalata per la quale una challenge è realmente desiderata.
2. Aggiungi la nuova challenge nella cartella `org.owasp.wrongsecrets.challenges`. Assicurati di aggiungere una spiegazione in `src/main/resources/explanations` e di farvi riferimento dalla tua nuova classe Challenge.
3. Aggiungi test unitari, di integrazione e UI appropriati per dimostrare che la tua challenge funziona.
4. Non dimenticare di configurare la challenge in `src/main/resources/wrong-secrets-configuration.yaml`
5. Rivedi la [guida CONTRIBUTING](https://github.com/owasp/wrongsecrets/blob/HEAD/CONTRIBUTING.md) per configurare il tuo ambiente di contribuzione e scrivere buoni messaggi di commit.

Per maggiori dettagli, consulta [_Contributing.md_](https://github.com/OWASP/wrongsecrets/blob/master/CONTRIBUTING.md#how-to-add-a-challenge).

Se vuoi spostare challenge cloud esistenti su un altro cloud: estendi le classi Challenge nel pacchetto `org.owasp.wrongsecrets.challenges.cloud` e assicurati di aggiungere il Terraform richiesto in una cartella con il cloud specifico identificato. Assicurati che l'ambiente sia aggiunto a `org.owasp.wrongsecrets.RuntimeEnvironment`.
Collabora con gli altri nel progetto per far funzionare il tuo container in modo da poter testare sull'account cloud.

### Test locale

Se hai apportato alcune modifiche al codebase o aggiunto una nuova challenge e desideri vedere esattamente come sarà il container dopo il merge per il test, abbiamo uno script che rende tutto molto semplice. Segui i passaggi seguenti:

1. Assicurati di avere bash installato e aperto.
2. Naviga in .github/scripts.
3. Esegui lo script docker-create: `bash docker-create.sh`.
   - Nota: Vuoi eseguirlo sul tuo minikube? Allora prima esegui `eval $(minikube docker-env)`.
4. Segui le eventuali istruzioni fornite; potresti dover installare/modificare pacchetti.
5. Esegui il container appena creato:
  - per esecuzione locale: `docker run -p 8080:8080 -p 8090:8090 jeroenwillemsen/wrongsecrets:local-test-no-vault`
  - per esecuzione su minikube: usa il container `jeroenwillemsen/wrongsecrets:local-test-k8s-vault` nella definizione del deployment.
  - per esecuzione con Vault su minikube: usa il container `jeroenwillemsen/wrongsecrets:local-test-local-vault` nella definizione del deployment.

### Test automatico locale

Attualmente abbiamo 2 suite di test diverse, entrambe lanciate con `./mvnw test`.
- Una normale suite di test junit di unit e integration test, situata nella cartella [`test/java`](https://github.com/owasp/wrongsecrets/blob/HEAD/src/test/java) con output salvato nella directory target predefinita.
- Una suite di test cypress, integrata tramite un test junit, situata nella cartella [`test/e2e`](https://github.com/owasp/wrongsecrets/blob/HEAD/src/test/e2e) con output salvato in [`target/test-classes/e2e/cypress/reports/`](https://github.com/owasp/wrongsecrets/blob/HEAD/target/test-classes/e2e/cypress/reports/). Vedi il [readme di cypress](https://github.com/owasp/wrongsecrets/blob/HEAD/src/test/e2e/cypress/README.md) per maggiori dettagli.

Nota: Puoi fare un roundtrip completo di pulizia, build e test con `./mvnw clean install`.

## 🔧 Risoluzione dei problemi

### Problemi comuni

**Problemi Docker:**
- **Porta già in uso**: Cambia il mapping delle porte: `docker run -p 8081:8080 -p 8091:8090 jeroenwillemsen/wrongsecrets:latest-no-vault`
- **Docker non trovato**: Assicurati che Docker sia installato e in esecuzione
- **Permesso negato**: Su Linux, potresti dover aggiungere il tuo utente al gruppo docker

**Problemi browser:**
- **Impossibile accedere a localhost:8080**: Controlla se il container Docker è in esecuzione con `docker ps`
- **Le challenge non si caricano**: Pulisci la cache del browser o prova la modalità incognito

**Problemi Kubernetes:**
- **Minikube non si avvia**: Prova `minikube delete` poi `minikube start`
- **Pod bloccati in pending**: Controlla le risorse con `kubectl describe pod <nome-pod>`

**Hai bisogno di aiuto?**
- Controlla le nostre [GitHub Issues](https://github.com/OWASP/wrongsecrets/issues)
- Unisciti a noi su [OWASP Slack](https://owasp.slack.com/archives/C02KQ7D9XHR)
- Rivedi la sezione [Supporto](#support)

## Vuoi giocare, ma non ti è permesso installare gli strumenti?

Se vuoi giocare alle challenge ma non puoi installare strumenti come keepass, Radare, ecc. ma ti è consentito eseguire container Docker, prova quanto segue:```shell
docker run -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock jeroenwillemsen/wrongsecrets-desktop:latest

o usa qualcosa di più configurabile:```shell docker run -d
--name=webtop
--security-opt seccomp=unconfined
-e PUID=1000
-e PGID=1000
-e TZ=Europe/London
-e SUBFOLDER=/
-e KEYBOARD=en-us-qwerty
-p 3000:3000
-v /var/run/docker.sock:/var/run/docker.sock
--shm-size="2gb"
--restart unless-stopped
jeroenwillemsen/wrongsecrets-desktop:latest

root@kitploit:~
E poi su [http://localhost:3000](http://localhost:3000).

Nota: fai attenzione a quando provi a distribuire il container `jeroenwillemsen/wrongsecrets-desktop` su Heroku ;-).

## Docker su macOS con M1 e Colima (Sperimentale!)

NOTA: non supportiamo ufficialmente Colima, poiché possiamo constatare che i runner di GitHub hanno molti problemi con esso.

Se non puoi passare a Docker Desktop/Podman e vuoi usare Colima con Apple Silicon M1 per eseguire l'immagine Docker `jeroenwillemsen/wrongsecrets`, prova una delle seguenti:

- spegnere Colima (`colima stop`)
- cambiare il contesto Docker (`docker --context desktop-linux run -p 8080:8080 jeroenwillemsen/wrongsecrets:latest-no-vault`)
- eseguire Colima con 1 CPU (`colima start -m 8 -c 1 --arch x86_64`)

## Vuoi disabilitare le sfide nella tua release?

Se vuoi eseguire WrongSecrets ma senza alcune sfide che non vuoi presentare ad altri: leggi questa sezione.

*_NOTA_* Ti informiamo che non forniamo alcun supporto al tuo fork quando segui la procedura qui sotto. Comprendi che la licenza e il copyright dell'applicazione originale rimangono intatti per il tuo Fork.

Requisiti:
- Avere installato il JDK di Java 25;
- Avere un account su un registro a cui puoi inviare la tua variante del container WrongSecrets;

Ecco i passaggi che devi seguire per creare la tua release di WrongSecrets con alcune sfide disabilitate:
1. Forka il repository.
2. In `src/main/resources/wrong-secrets-configuration.yaml` rimuovi il riferimento alla sfida che non vuoi più avere nel tuo fork.
3. Nella radice del progetto esegui `./mvnw clean install`
4. Ora costruisci l'immagine Docker per la tua destinazione preferita:```sh
   docker buildx create --name mybuilder
   docker buildx use mybuilder
   docker buildx build --platform linux/amd64,linux/arm64 -t <registry/container-name>:<yourtag>-no-vault --build-arg "argBasedPassword='this is on your command line'" --build-arg "PORT=8081" --build-arg "argBasedVersion=<yourtag>" --build-arg "spring_profile=without-vault" --push
   docker buildx build --platform linux/amd64,linux/arm64 -t <registry/container-name>:<yourtag>-kubernetes-vault--build-arg "argBasedPassword='this is on your command line'" --build-arg "PORT=8081" --build-arg "argBasedVersion=<yourtag>" --build-arg "spring_profile=kubernetes-vault" --push

Ulteriori letture sulla gestione dei segreti

Vuoi saperne di più? Dai un'occhiata alle fonti seguenti:

  • Blog: 10 consigli sulla gestione dei segreti
  • OWASP SAMM sulla gestione dei segreti
  • Il tema del rilevamento dei segreti su Github
  • Cheatsheet di OWASP per la gestione dei segreti
  • OpenCRE sulla gestione dei segreti
Scarica lo strumento
Mike Woudenberg @mikewoudenberg
  • Spyros @northdpole
  • moeedrehman135 @moeedrehman135
  • RubenAtBinx @RubenAtBinx
  • Seershan Mitra @seershan
  • Alex Bender @alex-bender
  • Danny Lloyd @dannylloyd
  • Fern @f3rn0s
  • Rick M @kingthorin
  • Nicolas Humblot @nhumblot
  • Shlomo Zalman Heigh @szh
  • Jeff Tong @Wind010