| | | |
Minder est une plateforme open source qui aide les équipes de développement et les communautés open source à créer des logiciels plus sécurisés et à prouver aux autres que ce qu'elles ont créé est sécurisé. Minder aide les propriétaires de projets à gérer de manière proactive leur posture de sécurité en fournissant un ensemble de contrôles et de politiques visant à minimiser les risques tout au long de la chaîne d'approvisionnement des logiciels et à attester de leurs pratiques de sécurité auprès des consommateurs en aval.
Minder permet aux utilisateurs d'inscrire des référentiels et de définir une politique pour garantir que les référentiels et les artefacts sont configurés de manière cohérente et sécurisée. Les stratégies peuvent être définies pour alerter uniquement ou pour corriger automatiquement. 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é sous forme de graphique Helm et fournit un outil CLI minder
. Stacklok, une société prenant en charge Minder, propose également une version hébergée gratuite de Minder (pour les référentiels publics uniquement). Minder est conçu pour être extensible, permettant aux utilisateurs de s'intégrer à leurs outils et processus existants.
Stacklok, une société prenant en charge Minder, fournit une instance publique gratuite de Minder. Il s'agit de l'instance par défaut utilisée lorsque vous utilisez la CLI minder
. Cette instance est disponible uniquement pour les référentiels publics.
La mise en route de Minder prend moins d'une minute et est aussi simple que :
minder quickstart
pour créer votre premier profil.En quelques secondes seulement, vous enregistrerez vos référentiels et activerez la protection par analyse secrète pour chacun d'entre eux ! ?
Choisissez votre méthode préférée pour installer minder
:
Assurez-vous que Homebrew est installé.
brew install minder
Assurez-vous que Winget est installé.
winget install stacklok.minder
Téléchargez la dernière version depuis minder/releases.
Créez minder
et minder-server
à partir des sources en suivant le guide de construction à partir des sources.
Pour utiliser minder
avec l'instance publique de Minder ( api.stacklok.com
), connectez-vous en exécutant :
minder auth login
Une fois terminé, vous devriez voir que le serveur Minder est défini sur api.stacklok.com
.
La commande quickstart
vous guide dans la création de votre premier profil dans Minder, l'enregistrement de vos référentiels et l'activation de la protection par analyse secrète pour vos référentiels en quelques secondes.
Pour ce faire, exécutez :
minder quickstart
Cela vous demandera d'inscrire votre fournisseur, de sélectionner les référentiels que vous souhaitez, de créer le type de règle secret_scanning
et de créer un profil qui active l'analyse secrète pour les référentiels 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 référentiels enregistrés.
Minder continuera à suivre vos référentiels et veillera à corriger toute dérive par rapport à l'état souhaité en utilisant la fonction remediate
ou à vous alerter, si nécessaire, à l'aide de la fonction alert
.
Félicitations! ? Vous avez maintenant créé avec succès votre premier profil !
Vous pouvez désormais continuer à explorer les fonctionnalités de Minder en ajoutant ou en supprimant davantage de référentiels, en créant davantage de profils avec diverses règles, et bien plus encore. Minder offre bien plus qu’une simple analyse secrète.
La règle secret_scanning
n'est que l'un des nombreux types de règles pris en charge par Minder.
Vous pouvez voir la liste complète des règles et profils prêts à l'emploi gérés par l'équipe de Minder ici - mindersec/minder-rules-and-profiles.
Au cas où vous n'y trouveriez pas encore quelque chose, Minder est conçu pour être extensible. Cela permet aux utilisateurs de créer leurs propres types et profils de règles personnalisés et de garantir 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
sur l'instance publique de Minder où vous pouvez gérer vos référentiels enregistrés, créer des profils, des règles et bien plus encore, afin de vous assurer que vos référentiels sont configurés de manière cohérente et sécurisée.
Pour plus d'informations sur minder
, voir :
minder
- Docs.minder
- Docs.minder
maintenus par l'équipe de Minder - GitHub.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 problème suivant
Cette section décrit comment créer et exécuter Minder à partir des sources.
Vous auriez besoin des outils suivants disponibles : 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 de helm.
Pour appeler la cible run-docker
make, vous aurez besoin de yq.
git clone [email protected]:mindersec/minder.git
Exécutez ce qui suit pour créer minder
et minder-server
(les binaires seront présents dans ./bin/
)
make build
Pour utiliser minder
avec l'instance publique de Minder ( api.stacklok.com
), exécutez :
minder auth login
Une fois terminé, vous devriez voir que le serveur Minder est défini sur api.stacklok.com
.
Si vous souhaitez exécuter minder
sur une instance minder-server
locale, suivez les étapes ci-dessous.
Créez le fichier de configuration initial pour minder
. Vous pouvez le faire en faisant.
cp config/config.yaml.example config.yaml
Créez le fichier de configuration initial pour minder-server
. Vous pouvez le faire en faisant.
cp config/server-config.yaml.example server-config.yaml
Vous devrez également configurer une application OAuth2 pour que minder-server
puisse l'utiliser. Une fois terminé, mettez à jour le fichier de configuration avec les valeurs appropriées. Consultez la documentation pour savoir comment procéder - Docs.
minder-server
Démarrez minder-server
ainsi que ses services dépendants ( keycloak
et postgres
) en exécutant :
make run-docker
minder-server
utilise Keycloak comme IAM. Pour vous connecter, vous devrez configurer une application GitHub OAuth2 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.
À l'aide du client_id
et 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
Assurez-vous que le fichier config.yaml
est présent dans le répertoire actuel afin que minder
puisse l'utiliser.
Exécutez minder
sur votre instance locale de Minder ( localhost:8090
) :
minder auth login
Une fois terminé, vous devriez voir que le serveur Minder est défini sur localhost:8090
.
Par défaut, la CLI minder
pointera vers l'environnement de production Stacklok si aucun fichier de configuration n'est présent, mais la création du 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 qu'elle pointe vers une configuration particulière. Nous avons des configurations pour le développement local, l'environnement de production Stacklok et l'environnement de transfert Stacklok (mis à jour fréquemment) archivés dans le répertoire config
.
Vous pouvez trouver des informations plus détaillées sur le processus de développement dans le Guide du développeur.
Documentation de l'API REST - Lien.
Documentation de l'API Proto - Lien.
Protobuf - Lien.
Spécification OpenAPI/swagger (JSON) - Lien.
Nous apprécions les contributions à Minder. Veuillez consulter notre guide de contribution pour plus d'informations.
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 libérés :
Minder est sous licence Apache 2.0.