
Plataforma de Seguridad de la Cadena de Suministro de Software

Minder es una plataforma de código abierto que ayuda a los equipos de desarrollo y a las comunidades de código abierto a construir software más seguro y demostrar a otros que lo construido es seguro. Minder ayuda a los propietarios de proyectos a gestionar de manera proactiva su postura de seguridad proporcionando un conjunto de controles y políticas para minimizar el riesgo a lo largo de la cadena de suministro de software, y atestiguar sus prácticas de seguridad a los consumidores posteriores.
Minder permite a los usuarios inscribir repositorios y definir políticas para garantizar que los repositorios y los artefactos estén configurados de manera consistente y segura. Las políticas se pueden configurar solo para alertar o para auto-remediar. Minder proporciona un conjunto predefinido de reglas y también se puede configurar para aplicar reglas personalizadas.
Minder se puede implementar como un gráfico de Helm y proporciona una herramienta CLI minder. Custcodian también proporciona una versión alojada gratuita de Minder. Minder está diseñado para ser extensible, permitiendo a los usuarios integrarse con sus herramientas y procesos existentes.
Custcodian proporciona una instancia pública gratuita de Minder en api.custcodian.dev. Esta es la instancia predeterminada que se utiliza cuando usas la CLI minder a partir de la versión 0.0.89. Esta instancia es de uso gratuito para repositorios públicos; para repositorios privados, puede haber un costo adicional por usar esta instancia alojada en la nube.
Poner en marcha Minder lleva menos de un minuto y es tan fácil como:
minder quickstart para crear tu primer perfil.En solo unos segundos, registrarás tus repositorios y habilitarás la protección de escaneo de secretos para todos ellos. 🤯
Elige tu método preferido para instalar minder:
Asegúrate de tener Homebrew instalado.
brew install minder
Asegúrate de tener Winget instalado.
winget install mindersec.minder
Descarga la última versión desde minder/releases.
Compila minder y minder-server desde el código fuente siguiendo la guía de compilación desde el código fuente.
Para usar minder con la instancia pública de Minder (api.custcodian.dev), inicia sesión ejecutando:
minder auth login --grpc-host api.custcodian.dev
(Esta API host es la predeterminada a partir de la versión 0.0.89.) Al finalizar, deberías ver que el Servidor Minder está configurado en api.custcodian.dev.
El comando quickstart te guía a través de la creación de tu primer perfil en Minder, registrar tus repositorios y habilitar la protección de escaneo de secretos para tus repositorios en segundos.
Para ello, ejecuta:
minder quickstart
Esto te pedirá inscribir tu proveedor, seleccionar los repositorios que desees, crear el tipo de regla secret_scanning y crear un perfil que habilite el escaneo de secretos para los repositorios seleccionados.
Para ver el estado de tu perfil, ejecuta:
minder profile status list --profile quickstart-profile --detailed
Deberías ver el estado general del perfil y una vista detallada de los estados de evaluación de reglas para cada uno de tus repositorios registrados.
Minder continuará realizando un seguimiento de tus repositorios y se asegurará de corregir cualquier desviación del estado deseado mediante la función remediate o te alertará, si es necesario, mediante la función alert.
¡Felicidades! 🎉 ¡Has creado exitosamente tu primer perfil!
Ahora puedes continuar explorando las funciones de Minder agregando o eliminando más repositorios, creando más perfiles con varias reglas y mucho más. Minder ofrece mucho más que solo escaneo de secretos.
La regla secret_scanning es solo uno de los muchos tipos de reglas que admite Minder.
Puedes ver la lista completa de reglas y perfiles listos para usar mantenidos por el equipo de Minder aquí: mindersec/minder-rules-and-profiles.
En caso de que no encuentres algo allí, Minder está diseñado para ser extensible. Esto permite a los usuarios crear sus propios tipos de reglas y perfiles personalizados y garantizar que los detalles de su postura de seguridad estén atestiguados.
Ahora que tienes todo configurado, puedes continuar ejecutando comandos de minder contra la instancia pública de Minder, donde puedes administrar tus repositorios registrados, crear perfiles, reglas y mucho más, para asegurarte de que tus repositorios estén configurados de manera consistente y segura.
Para obtener más información sobre minder, consulta:
minder - Documentación.minder - Documentación.minder mantenidos por el equipo de Minder - GitHub.La comunidad de Minder está trabajando activamente en nuevas funciones y mejoras para Minder.
Puedes encontrar nuestra hoja de ruta aquí.
Si deseas solicitar o contribuir con una función o mejora, utiliza la siguiente plantilla de incidencia
Esta sección describe cómo compilar y ejecutar Minder desde el código fuente.
Necesitarás las siguientes herramientas: Go, Docker y Docker Compose.
Para compilar y ejecutar minder-server, también necesitarás ko.
Para ejecutar el conjunto de pruebas mediante make test, necesitarás gotestfmt y helm.
Para invocar el objetivo make run-docker, necesitarás yq.
git clone [email protected]:mindersec/minder.git
Ejecuta lo siguiente para compilar minder y minder-server (los binarios estarán presentes en ./bin/)
make build
Para usar minder con la instancia pública de Minder (api.custcodian.dev), ejecuta:
minder auth login --grpc-host api.custcodian.dev
Al finalizar, deberías ver que el Servidor Minder está configurado en api.custcodian.dev.
Si deseas ejecutar minder contra una instancia local de minder-server, puedes usar las banderas --grpc-host=localhost y --grpc-port=8090, o usar un archivo de configuración siguiendo los pasos a continuación.
Crea el archivo de configuración inicial para minder. Puedes hacerlo ejecutando:
cp config/config.yaml.example config.yaml
Crea el archivo de configuración inicial para minder-server. Puedes hacerlo ejecutando:
cp config/server-config.yaml.example server-config.yaml
También debes configurar una aplicación OAuth2 para que minder-server la use. Una vez completado, actualiza el archivo de configuración con los valores apropiados. Consulta la documentación sobre cómo hacerlo: Documentación.
minder-serverInicia minder-server junto con sus servicios dependientes (keycloak y postgres) ejecutando:
make run-docker
minder-server usa Keycloak como IAM. Para iniciar sesión, deberás configurar una aplicación OAuth2 de GitHub y configurar Keycloak para que la use.
Crea una aplicación OAuth2 para GitHub aquí. Selecciona New OAuth App y completa los detalles. La URL de devolución de llamada debe ser http://localhost:8081/realms/stacklok/broker/github/endpoint. Crea un nuevo secreto de cliente para tu cliente OAuth2.
Usando el client_id y client_secret que creaste anteriormente, habilita el inicio de sesión de GitHub en Keycloak ejecutando el siguiente comando:
make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login
Asegúrate de que el archivo config.yaml esté presente en el directorio actual para que minder pueda usarlo.
Ejecuta minder contra tu instancia local de Minder (localhost:8090):
minder auth login
Al finalizar, deberías ver que el Servidor Minder está configurado en localhost:8090.
Por defecto, la CLI de minder apuntará al entorno en la nube de Custcodian si no hay un archivo de configuración, pero crear el config.yaml para ejecutar el servidor hará que la CLI apunte a tu entorno de desarrollo local. Si deseas explícitamente usar una instancia diferente, puedes configurar la variable de entorno MINDER_CONFIG para que apunte a una configuración particular. Tenemos configuraciones para el desarrollo local y el entorno en la nube de Custcodian en el directorio config.
Puedes encontrar información más detallada sobre el proceso de desarrollo en la Guía de desarrollo.
Damos la bienvenida a contribuciones a Minder. Consulta nuestra guía Cómo contribuir para obtener más información.
El proyecto Minder sigue las mejores prácticas de seguridad y transparencia en la cadena de suministro de software.
Todos los activos publicados:
Minder está licenciado bajo la Licencia Apache 2.0.