
minder v0.2.2
Piattaforma di sicurezza della catena di fornitura del software

|
|
|
| | 
Installazione | Documentazione | Rilasci
Cos'è Minder?
Minder è una piattaforma open source che aiuta i team di sviluppo e le comunità open source a creare software più sicuri e a dimostrare agli altri che ciò che hanno costruito è sicuro. Minder aiuta i proprietari di progetto a gestire proattivamente la loro postura di sicurezza fornendo un insieme di controlli e policy per minimizzare i rischi lungo la catena di fornitura del software e ad attestare le loro pratiche di sicurezza ai consumatori a valle.
Minder consente agli utenti di iscrivere repository e definire policy per garantire che i repository e gli artefatti siano configurati in modo coerente e sicuro. Le policy possono essere impostate per avvisare solo o per autoriparare. Minder fornisce un insieme predefinito di regole e può anche essere configurato per applicare regole personalizzate.
Minder può essere distribuito come un chart Helm e fornisce uno strumento CLI minder. Custcodian fornisce anche
una versione hosted gratuita di Minder. Minder è progettato per essere estensibile,
consentendo agli utenti di integrarsi con i propri strumenti e processi esistenti.
Caratteristiche
- Configurazione e sicurezza dei repository: Semplifica la configurazione e la gestione delle impostazioni e delle policy di sicurezza tra i repository.
- Applicazione proattiva della sicurezza: Applica continuamente le configurazioni di sicurezza delle best practice impostando policy granulari per avvisare solo o autoriparare.
- Attestazione degli artefatti: Verifica continuamente che i pacchetti siano firmati per garantire che siano a prova di manomissione, utilizzando il progetto open source Sigstore.
- Gestione delle dipendenze: Gestisci la postura di sicurezza delle dipendenze aiutando gli sviluppatori a fare scelte migliori e applicando controlli. Minder è integrato con OSV (e può essere integrato con altre API SCA) per abilitare una gestione delle dipendenze basata su policy in base al livello di rischio delle dipendenze.
Istanza Pubblica
Custcodian fornisce un'istanza pubblica gratuita di Minder all'indirizzo api.custcodian.dev. Questa è l'istanza predefinita utilizzata quando usi la CLI minder a partire dalla release 0.0.89. Questa istanza è gratuita per i repository pubblici; per i repository privati, potrebbe esserci un costo aggiuntivo per l'utilizzo di questa istanza cloud-hosted.
Per Iniziare (in meno di 1 minuto)
Avviare e utilizzare Minder richiede meno di un minuto ed è facile come:
- Installare Minder
- Effettuare il login a Minder
- ed eseguire
minder quickstartper creare il tuo primo profilo.
In pochi secondi, registrerai i tuoi repository e abiliterai la protezione da scansione dei segreti per tutti! 🤯
Installazione
Scegli il metodo che preferisci per installare minder:
MacOS (Homebrew)
Assicurati di avere Homebrew installato.
brew install minder
Windows (Winget)
Assicurati di avere Winget installato.
winget install mindersec.minder
Scarica una release
Scarica l'ultima release da minder/releases.
Compila dal sorgente
Compila minder e minder-server dal sorgente seguendo la guida alla compilazione dal sorgente.
Effettuare il login a Minder
Per usare minder con l'istanza pubblica di Minder (api.custcodian.dev), esegui il login eseguendo:
minder auth login --grpc-host api.custcodian.dev
(Questo host API è il predefinito a partire dalla release 0.0.89.) Al termine, dovresti vedere che il server Minder è impostato su api.custcodian.dev.
Esegui quickstart di Minder
Il comando quickstart ti guida nella creazione del tuo primo profilo in Minder, nella registrazione dei tuoi repository e nell'abilitazione della protezione da scansione dei segreti per i tuoi repository in pochi secondi.
Per farlo, esegui:
minder quickstart
Questo ti chiederà di iscrivere il tuo provider, selezionare i repository che desideri, creare il tipo di regola secret_scanning
e creare un profilo che abilita la scansione dei segreti per i repository selezionati.
Per vedere lo stato del tuo profilo, esegui:
minder profile status list --profile quickstart-profile --detailed
Dovresti vedere lo stato complessivo del profilo e una vista dettagliata degli stati di valutazione delle regole per ciascuno dei tuoi repository registrati.
Minder continuerà a monitorare i tuoi repository e garantirà di correggere eventuali derive dallo stato desiderato utilizzando
la funzione remediate o ti avviserà, se necessario, utilizzando la funzione alert.
Congratulazioni! 🎉 Hai creato con successo il tuo primo profilo!
Quali sono i prossimi passi?
Ora puoi continuare a esplorare le funzionalità di Minder aggiungendo o rimuovendo repository, creando più profili con regole varie e molto altro. C'è molto di più in Minder della sola scansione dei segreti.
La regola secret_scanning è solo uno dei tanti tipi di regole supportati da Minder.
Puoi vedere l'elenco completo delle regole e dei profili pronti all'uso mantenuti dal team di Minder qui - mindersec/minder-rules-and-profiles.
Nel caso in cui non trovi qualcosa di ancora, Minder è progettato per essere estensibile. Ciò consente agli utenti di creare propri tipi di regole e profili personalizzati e garantire che le specificità della loro postura di sicurezza siano attestate.
Ora che hai tutto configurato, puoi continuare a eseguire comandi minder contro l'istanza pubblica di Minder
dove puoi gestire i tuoi repository registrati, creare profili, regole e molto altro, così da garantire che i tuoi repository siano
configurati in modo coerente e sicuro.
Per maggiori informazioni su minder, vedi:
- Comandi CLI di
minder- Documentazione. - Documentazione API REST di
minder- Documentazione. - Regole e profili di
mindermantenuti dal team di Minder - GitHub. - Documentazione di Minder - Documentazione.
Roadmap
La comunità di Minder sta lavorando attivamente a nuove funzionalità e miglioramenti per Minder.
Puoi trovare la nostra roadmap qui.
Se desideri richiedere o contribuire con una funzionalità o un miglioramento, utilizza il seguente modello di issue
Sviluppo
Questa sezione descrive come compilare ed eseguire Minder dal sorgente.
Compilazione dal sorgente
Prerequisiti
Avrai bisogno dei seguenti strumenti disponibili - Go, Docker e Docker Compose.
Per compilare ed eseguire minder-server, avrai anche bisogno di ko.
Per eseguire la suite di test con make test, avrai bisogno di gotestfmt e helm.
Per invocare il target make run-docker, avrai bisogno di yq.
Clona il repository
git clone [email protected]:mindersec/minder.git
Compilazione
Esegui quanto segue per compilare minder e minder-server (i binari saranno presenti in ./bin/)
make build
Per usare minder con l'istanza pubblica di Minder (api.custcodian.dev), esegui:
minder auth login --grpc-host api.custcodian.dev
Al termine, dovresti vedere che il server Minder è impostato su api.custcodian.dev.
Se vuoi eseguire minder contro un'istanza locale di minder-server, puoi usare i flag --grpc-host=localhost e --grpc-port=8090, oppure usare un file di configurazione seguendo i passaggi seguenti.
Configurazione iniziale
Crea il file di configurazione iniziale per minder. Puoi farlo eseguendo:
cp config/config.yaml.example config.yaml
Crea il file di configurazione iniziale per minder-server. Puoi farlo eseguendo:
cp config/server-config.yaml.example server-config.yaml
Devi anche configurare un'applicazione OAuth2 per minder-server.
Una volta completato, aggiorna il file di configurazione con i valori appropriati.
Consulta la documentazione su come farlo - Documentazione.
Eseguire minder-server
Avvia minder-server insieme ai suoi servizi dipendenti (keycloak e postgres) eseguendo:
make run-docker
Configurare il login sociale (GitHub)
minder-server utilizza Keycloak come IAM. Per effettuare il login, dovrai configurare un'applicazione OAuth2 di GitHub e configurare
Keycloak per utilizzarla.
Crea un'applicazione OAuth2 per GitHub qui. Seleziona
New OAuth App e compila i dettagli. L'URL di callback dovrebbe essere http://localhost:8081/realms/stacklok/broker/github/endpoint.
Crea un nuovo segreto client per il tuo client OAuth2.
Utilizzando il client_id e il client_secret creati sopra, abilita il login GitHub su Keycloak eseguendo il seguente comando:
make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login
Eseguire minder
Assicurati che il file config.yaml sia presente nella directory corrente in modo che minder possa utilizzarlo.
Esegui minder contro la tua istanza locale di Minder (localhost:8090):
minder auth login
Al termine, dovresti vedere che il server Minder è impostato su localhost:8090.
Per impostazione predefinita, la CLI minder punterà all'ambiente cloud di Custcodian se non è presente un file di configurazione, ma la creazione del file config.yaml per eseguire il server farà puntare la CLI al tuo ambiente di sviluppo locale. Se vuoi esplicitamente usare un'istanza diversa, puoi impostare la variabile d'ambiente MINDER_CONFIG per puntare a una configurazione particolare. Abbiamo configurazioni per lo sviluppo locale e l'ambiente cloud di Custcodian nel direttorio config.
Linee guida per lo sviluppo
Puoi trovare informazioni più dettagliate sul processo di sviluppo nella Guida per sviluppatori.
API di Minder
Contribuire
Accogliamo con favore i contributi a Minder. Consulta la nostra guida Contributing per maggiori informazioni.
- La comunità di Minder si riunisce regolarmente. Puoi trovare il calendario delle riunioni sul Calendario della comunità OpenSSF.
- La carta del progetto e i documenti di governance sono mantenuti nel repository mindersec/community.
Provenienza
Il progetto Minder segue le migliori pratiche per la sicurezza e la trasparenza della catena di fornitura del software.
Tutti gli asset rilasciati:
- Hanno una provenienza generata e verificabile di livello SLSA Build Level 3. Per maggiori informazioni, consulta il sito web SLSA.
- Sono stati firmati e verificati durante il rilascio utilizzando il progetto Sigstore. Ciò garantisce che siano a prova di manomissione e possano essere verificati da chiunque.
- Hanno un archivio SBOM generato e pubblicato insieme alla release. Ciò consente agli utenti di comprendere le dipendenze del progetto e la loro postura di sicurezza.
Licenza
Minder è concesso in licenza con Licenza Apache 2.0.