
minder v0.3.0
Plateforme de sécurité de la chaîne d'approvisionnement logicielle

Installation | Documentation | Versions
Qu'est-ce que Minder ?
Minder est une plateforme open source qui aide les équipes de développement et les communautés open source à construire des logiciels plus sécurisés, et à prouver aux autres que ce qu'ils ont construit est sécurisé. Minder aide les propriétaires de projets à gérer proactivement leur posture de sécurité en fournissant un ensemble de vérifications et de politiques pour minimiser les risques le long de la chaîne d'approvisionnement logicielle, et à attester de leurs pratiques de sécurité auprès des consommateurs en aval.
Minder permet aux utilisateurs d'enrôler des dépôts et de définir des politiques pour garantir que les dépôts et les artefacts sont configurés de manière cohérente et sécurisée. Les politiques peuvent être configurées pour alerter uniquement ou pour auto-corriger. Minder fournit un ensemble prédéfini de règles et peut également être configuré pour appliquer des règles personnalisées.
Minder peut être déployé comme un chart Helm et fournit un outil en ligne de commande minder. Custcodian propose également une version hébergée gratuite de Minder. Minder est conçu pour être extensible, permettant aux utilisateurs de l'intégrer à leurs outils et processus existants.
Fonctionnalités
- Configuration et sécurité des dépôts : Simplifiez la configuration et la gestion des paramètres de sécurité et des politiques sur l'ensemble des dépôts.
- Application proactive de la sécurité : Appliquez en continu les meilleures pratiques de configuration de sécurité en définissant des politiques granulaires pour alerter uniquement ou auto-corriger.
- Attestation des artefacts : Vérifiez en continu que les packages sont signés pour garantir leur inviolabilité, en utilisant le projet open source Sigstore.
- Gestion des dépendances : Gérez la posture de sécurité des dépendances en aidant les développeurs à faire de meilleurs choix et en appliquant des contrôles. Minder est intégré à OSV (et peut être intégré à d'autres API SCA) pour permettre une gestion des dépendances basée sur les politiques en fonction du niveau de risque des dépendances.
Instance publique
Custcodian fournit une instance publique gratuite de Minder à l'adresse api.custcodian.dev. Ceci est l'instance par défaut utilisée lorsque vous utilisez la CLI minder à partir de la version 0.0.89. Cette instance est gratuite pour les dépôts publics ; pour les dépôts privés, des frais supplémentaires peuvent s'appliquer pour l'utilisation de cette instance hébergée dans le cloud.
Premiers pas (moins d'une minute)
Démarrer avec Minder prend moins d'une minute et est aussi simple que :
- Installer Minder
- Se connecter à Minder
- et exécuter
minder quickstartpour créer votre premier profil.
En quelques secondes, vous enregistrerez vos dépôts et activerez la protection par analyse des secrets pour tous ! 🤯
Installation
Choisissez votre méthode préférée pour installer minder :
MacOS (Homebrew)
Assurez-vous d'avoir Homebrew installé.
brew install minder
Windows (Winget)
Assurez-vous d'avoir Winget installé.
winget install mindersec.minder
Télécharger une version
Téléchargez la dernière version depuis minder/releases.
Construire à partir des sources
Construisez minder et minder-server à partir des sources en suivant le guide de construction à partir des sources.
Connexion à Minder
Pour utiliser minder avec l'instance publique de Minder (api.custcodian.dev), connectez-vous en exécutant :
minder auth login --grpc-host api.custcodian.dev
(Cet hôte API est celui par défaut à partir de la version 0.0.89.) Une fois terminé, vous devriez voir que le serveur Minder est réglé sur api.custcodian.dev.
Exécuter le démarrage rapide de Minder
La commande quickstart vous guide dans la création de votre premier profil dans Minder, l'enregistrement de vos dépôts, et l'activation de la protection par analyse des secrets pour vos dépôts en quelques secondes.
Pour ce faire, exécutez :
minder quickstart
Cela vous demandera d'enrôler votre fournisseur, de sélectionner les dépôts souhaités, de créer le type de règle secret_scanning et de créer un profil qui active l'analyse des secrets pour les dépôts sélectionnés.
Pour voir l'état de votre profil, exécutez :
minder profile status list --profile quickstart-profile --detailed
Vous devriez voir l'état global du profil et une vue détaillée des statuts d'évaluation des règles pour chacun de vos dépôts enregistrés.
Minder continuera à suivre vos dépôts et s'assurera de corriger toute dérive par rapport à l'état souhaité en utilisant la fonctionnalité remediate ou vous alertera, si nécessaire, en utilisant la fonctionnalité alert.
Félicitations ! 🎉 Vous avez maintenant créé votre premier profil avec succès !
Et ensuite ?
Vous pouvez maintenant continuer à explorer les fonctionnalités de Minder en ajoutant ou supprimant d'autres dépôts, en créant plus de profils avec diverses règles, et bien plus encore. Il y a beaucoup plus dans Minder que la simple analyse des secrets.
La règle secret_scanning n'est que l'un des nombreux types de règles que Minder prend en charge.
Vous pouvez voir la liste complète des règles et profils prêts à l'emploi maintenus par l'équipe de Minder ici - mindersec/minder-rules-and-profiles.
Si vous ne trouvez pas encore ce que vous cherchez, Minder est conçu pour être extensible. Cela permet aux utilisateurs de créer leurs propres types de règles et profils personnalisés et de s'assurer que les spécificités de leur posture de sécurité sont attestées.
Maintenant que tout est configuré, vous pouvez continuer à exécuter des commandes minder contre l'instance publique de Minder où vous pouvez gérer vos dépôts enregistrés, créer des profils, des règles et bien plus encore, afin de garantir que vos dépôts sont configurés de manière cohérente et sécurisée.
Pour plus d'informations sur minder, consultez :
- commandes CLI de
minder- Documentation. - Documentation de l'API REST de
minder- Documentation. - Règles et profils de
mindermaintenus par l'équipe de Minder - GitHub. - Documentation de Minder - Documentation.
Feuille de route
La communauté Minder travaille activement sur de nouvelles fonctionnalités et améliorations pour Minder.
Vous pouvez trouver notre feuille de route ici.
Si vous souhaitez demander ou contribuer à une fonctionnalité ou une amélioration, veuillez utiliser le modèle de ticket suivant.
Développement
Cette section décrit comment construire et exécuter Minder à partir des sources.
Construction à partir des sources
Prérequis
Vous aurez besoin des outils suivants - Go, Docker et Docker Compose.
Pour construire et exécuter minder-server, vous aurez également besoin de ko.
Pour exécuter la suite de tests via make test, vous aurez besoin de gotestfmt et helm.
Pour invoquer la cible make run-docker, vous aurez besoin de yq.
Cloner le dépôt
git clone [email protected]:mindersec/minder.git
Construction
Exécutez la commande suivante pour construire minder et minder-server (les binaires seront présents dans ./bin/)
make build
Pour utiliser minder avec l'instance publique de Minder (api.custcodian.dev), exécutez :
minder auth login --grpc-host api.custcodian.dev
Une fois terminé, vous devriez voir que le serveur Minder est réglé sur api.custcodian.dev.
Si vous souhaitez exécuter minder contre une instance locale de minder-server, vous pouvez utiliser les options --grpc-host=localhost et --grpc-port=8090, ou utiliser un fichier de configuration en suivant les étapes ci-dessous.
Configuration initiale
Créez le fichier de configuration initial pour minder. Vous pouvez le faire en exécutant :
cp config/config.yaml.example config.yaml
Créez le fichier de configuration initial pour minder-server. Vous pouvez le faire en exécutant :
cp config/server-config.yaml.example server-config.yaml
Vous devez également configurer une application OAuth2 pour que minder-server l'utilise. Une fois cela fait, mettez à jour le fichier de configuration avec les valeurs appropriées. Consultez la documentation sur la façon de procéder - Documentation.
Exécuter minder-server
Démarrez minder-server ainsi que ses services dépendants (keycloak et postgres) en exécutant :
make run-docker
Configurer la connexion sociale (GitHub)
minder-server utilise Keycloak comme système de gestion des identités et des accès (IAM). Pour vous connecter, vous devrez configurer une application OAuth2 GitHub et configurer Keycloak pour l'utiliser.
Créez une application OAuth2 pour GitHub ici. Sélectionnez New OAuth App et remplissez les détails. L'URL de rappel doit être http://localhost:8081/realms/stacklok/broker/github/endpoint. Créez un nouveau secret client pour votre client OAuth2.
En utilisant le client_id et le client_secret que vous avez créés ci-dessus, activez la connexion GitHub sur Keycloak en exécutant la commande suivante :
make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login
Exécuter minder
Assurez-vous que le fichier config.yaml est présent dans le répertoire courant afin que minder puisse l'utiliser.
Exécutez minder contre votre instance locale de Minder (localhost:8090) :
minder auth login
Une fois terminé, vous devriez voir que le serveur Minder est réglé sur localhost:8090.
Par défaut, la CLI minder pointera vers l'environnement cloud Custcodian si aucun fichier de configuration n'est présent, mais créer le config.yaml pour exécuter le serveur fera pointer la CLI vers votre environnement de développement local. Si vous souhaitez explicitement utiliser une instance différente, vous pouvez définir la variable d'environnement MINDER_CONFIG pour pointer vers une configuration particulière. Nous avons des configurations pour le développement local et l'environnement cloud Custcodian dans le répertoire config.
Directives de développement
Vous pouvez trouver des informations plus détaillées sur le processus de développement dans le Guide du développeur.
API Minder
- Documentation de l'API REST
- Documentation de l'API Proto
- Protobuf
- Spécification OpenAPI/swagger (JSON)
Contribuer
Nous acceptons les contributions à Minder. Veuillez consulter notre guide Contributing pour plus d'informations.
- La communauté Minder se réunit régulièrement. Vous pouvez trouver le calendrier des réunions sur le Calendrier communautaire OpenSSF.
- La charte du projet et les documents de gouvernance sont maintenus dans le dépôt mindersec/community.
Provenance
Le projet Minder suit les meilleures pratiques en matière de sécurité et de transparence de la chaîne d'approvisionnement logicielle.
Tous les actifs publiés :
- Disposent d'une provenance SLSA Build Level 3 générée et vérifiable. Pour plus d'informations, consultez le site web SLSA.
- Ont été signés et vérifiés lors de la publication à l'aide du projet Sigstore. Cela garantit qu'ils sont inviolables et peuvent être vérifiés par n'importe qui.
- Disposent d'une archive SBOM générée et publiée avec la version. Cela permet aux utilisateurs de comprendre les dépendances du projet et leur posture de sécurité.
Licence
Minder est sous licence Apache 2.0.