
Plataforma de Segurança da Cadeia de Suprimentos de Software

O Minder é uma plataforma open source que ajuda equipas de desenvolvimento e comunidades open source a construir software mais seguro, e a provar aos outros que o que construíram é seguro. O Minder ajuda os proprietários de projetos a gerir proativamente a sua postura de segurança, fornecendo um conjunto de verificações e políticas para minimizar o risco ao longo da cadeia de fornecimento de software, e a atestar as suas práticas de segurança para os consumidores a jusante.
O Minder permite que os utilizadores inscrevam repositórios e definam políticas para garantir que os repositórios e artefactos sejam configurados de forma consistente e segura. As políticas podem ser configuradas para apenas alertar ou para corrigir automaticamente. O Minder fornece um conjunto predefinido de regras e também pode ser configurado para aplicar regras personalizadas.
O Minder pode ser implementado como um Helm chart e fornece uma ferramenta de CLI minder. A Custcodian também fornece uma versão hospedada e gratuita do Minder. O Minder foi concebido para ser extensível, permitindo que os utilizadores se integrem com as suas ferramentas e processos existentes.
A Custcodian fornece uma instância pública e gratuita do Minder em api.custcodian.dev. Esta é a instância predefinida usada quando utiliza a CLI minder a partir da versão 0.0.89. Esta instância é gratuita para repositórios públicos; para repositórios privados, pode haver um custo adicional para usar esta instância hospedada na nuvem.
Começar a usar o Minder demora menos de um minuto e é tão fácil como:
minder quickstart para criar o seu primeiro perfil.Em apenas alguns segundos, registará os seus repositórios e ativará a proteção de scanning de segredos para todos eles! 🤯
Escolha o seu método preferido para instalar o minder:
Certifique-se de que tem o Homebrew instalado.
brew install minder
Certifique-se de que tem o Winget instalado.
winget install mindersec.minder
Descarregue a versão mais recente em minder/releases.
Compile minder e minder-server a partir do código-fonte seguindo o guia de compilação a partir do código-fonte.
Para usar o minder com a instância pública do Minder (api.custcodian.dev), faça login executando:
minder auth login --grpc-host api.custcodian.dev
(Este host de API é o predefinido a partir da versão 0.0.89.) Após a conclusão, deverá ver que o Servidor Minder está definido para api.custcodian.dev.
O comando quickstart orienta-o na criação do seu primeiro perfil no Minder, regista os seus repositórios e ativa a proteção de scanning de segredos para os seus repositórios em segundos.
Para o fazer, execute:
minder quickstart
Isto irá solicitar que inscreva o seu fornecedor, selecione os repositórios que deseja, crie o tipo de regra secret_scanning e crie um perfil que ativa o scanning de segredos para os repositórios selecionados.
Para ver o estado do seu perfil, execute:
minder profile status list --profile quickstart-profile --detailed
Deverá ver o estado geral do perfil e uma visão detalhada dos estados de avaliação das regras para cada um dos seus repositórios registados.
O Minder continuará a monitorizar os seus repositórios e garantirá que corrige qualquer desvio do estado desejado, utilizando a funcionalidade remediate ou alertando-o, se necessário, através da funcionalidade alert.
Parabéns! 🎉 Criou com sucesso o seu primeiro perfil!
Agora pode continuar a explorar as funcionalidades do Minder adicionando ou removendo mais repositórios, criando mais perfis com várias regras, e muito mais. O Minder é muito mais do que apenas scanning de segredos.
A regra secret_scanning é apenas um dos muitos tipos de regras que o Minder suporta.
Pode ver a lista completa de regras e perfis prontos a usar, mantidos pela equipa do Minder, aqui - mindersec/minder-rules-and-profiles.
Caso não encontre algo que precisa, o Minder foi concebido para ser extensível. Isto permite que os utilizadores criem os seus próprios tipos de regras e perfis personalizados e garantam que os detalhes da sua postura de segurança sejam atestados.
Agora que tem tudo configurado, pode continuar a executar comandos minder contra a instância pública do Minder, onde pode gerir os seus repositórios registados, criar perfis, regras e muito mais, para garantir que os seus repositórios estão configurados de forma consistente e segura.
Para mais informações sobre o minder, consulte:
minder - Documentação.minder - Documentação.minder mantidos pela equipa do Minder - GitHub.A comunidade do Minder está a trabalhar ativamente em novas funcionalidades e melhorias para o Minder.
Pode encontrar o nosso roteiro aqui.
Caso deseje solicitar ou contribuir com uma funcionalidade ou melhoria, utilize o seguinte modelo de issue
Esta secção descreve como compilar e executar o Minder a partir do código-fonte.
Precisará das seguintes ferramentas disponíveis - Go, Docker e Docker Compose.
Para compilar e executar minder-server, também precisará do ko.
Para executar o conjunto de testes através de make test, precisará do gotestfmt e do helm.
Para invocar o target run-docker do make, precisará do yq.
git clone [email protected]:mindersec/minder.git
Execute o seguinte para compilar minder e minder-server (os binários estarão presentes em ./bin/)
make build
Para usar o minder com a instância pública do Minder (api.custcodian.dev), execute:
minder auth login --grpc-host api.custcodian.dev
Após a conclusão, deverá ver que o Servidor Minder está definido para api.custcodian.dev.
Se quiser executar o minder contra uma instância local de minder-server, pode usar as flags --grpc-host=localhost e --grpc-port=8090, ou usar um ficheiro de configuração seguindo os passos abaixo.
Crie o ficheiro de configuração inicial para o minder. Pode fazê-lo executando:
cp config/config.yaml.example config.yaml
Crie o ficheiro de configuração inicial para o minder-server. Pode fazê-lo executando:
cp config/server-config.yaml.example server-config.yaml
Também terá de configurar uma aplicação OAuth2 para o minder-server utilizar.
Assim que concluído, atualize o ficheiro de configuração com os valores apropriados.
Consulte a documentação sobre como o fazer - Documentação.
minder-serverInicie o minder-server juntamente com os seus serviços dependentes (keycloak e postgres) executando:
make run-docker
O minder-server usa o Keycloak como IAM. Para fazer login, precisará de configurar uma aplicação OAuth2 do GitHub e configurar o Keycloak para a utilizar.
Crie uma aplicação OAuth2 para o GitHub aqui. Selecione
New OAuth App e preencha os detalhes. O URL de callback deve ser http://localhost:8081/realms/stacklok/broker/github/endpoint.
Crie um novo segredo de cliente para o seu cliente OAuth2.
Utilizando o client_id e client_secret que criou acima, ative o login do GitHub no Keycloak executando o seguinte comando:
make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login
Certifique-se de que o ficheiro config.yaml está presente no diretório atual para que o minder o possa usar.
Execute o minder contra a sua instância local do Minder (localhost:8090):
minder auth login
Após a conclusão, deverá ver que o Servidor Minder está definido para localhost:8090.
Por predefinição, a CLI minder apontará para o ambiente cloud da Custcodian se não existir um ficheiro de configuração, mas criar o config.yaml para executar o servidor fará com que a CLI aponte para o seu ambiente de desenvolvimento local. Se pretender explicitamente usar uma instância diferente, pode definir a variável de ambiente MINDER_CONFIG para apontar para uma configuração específica. Temos configurações para desenvolvimento local e para o ambiente cloud da Custcodian incluídas no diretório config.
Pode encontrar informações mais detalhadas sobre o processo de desenvolvimento no Guia do Programador.
Aceitamos contribuições para o Minder. Consulte o nosso guia de Contribuição para mais informações.
O projeto Minder segue as melhores práticas para segurança e transparência da cadeia de fornecimento de software.
Todos os assets lançados:
O Minder está licenciado sob a Licença Apache 2.0.