
ソフトウェアサプライチェーンセキュリティプラットフォーム

Minderは、開発チームやオープンソースコミュニティがよりセキュアなソフトウェアを構築し、構築したものが安全であることを証明するためのオープンソースプラットフォームです。Minderは、ソフトウェアサプライチェーンに沿ったリスクを最小限に抑えるための一連のチェックとポリシーを提供し、プロジェクトオーナーがセキュリティ体制を積極的に管理し、下流の消費者に自らのセキュリティ慣行を証明することを支援します。
Minderを使用すると、リポジトリを登録し、ポリシーを定義して、リポジトリとアーティファクトが一貫して安全に構成されるようにすることができます。ポリシーはアラートのみ、または自動修復に設定できます。Minderはあらかじめ定義されたルールセットを提供し、カスタムルールを適用するように設定することもできます。
MinderはHelmチャートとしてデプロイでき、CLIツールminderを提供します。CustcodianはMinderの無料で使用できるホスト型バージョンも提供しています。Minderは拡張可能なように設計されており、ユーザーは既存のツールやプロセスと統合できます。
Custcodianは、api.custcodian.devでMinderの無料のパブリックインスタンスを提供しています。これはリリース0.0.89以降、minder CLIを使用する際のデフォルトインスタンスです。このインスタンスは公開リポジトリでは無料で使用できます。非公開リポジトリの場合は、このクラウドホスト型インスタンスの使用に追加料金が発生する場合があります。
Minderのセットアップは1分もかからず、以下のように簡単です。
minder quickstart を実行して最初のプロファイルを作成します。わずか数秒で、リポジトリを登録し、すべてのリポジトリでシークレットスキャン保護を有効にできます!🤯
好みの方法でminderをインストールしてください。
Homebrewがインストールされていることを確認してください。
brew install minder
Wingetがインストールされていることを確認してください。
winget install mindersec.minder
minder/releasesから最新リリースをダウンロードします。
ソースからのビルドガイドに従って、ソースからminderとminder-serverをビルドします。
minderをMinderのパブリックインスタンス(api.custcodian.dev)で使用するには、次のコマンドを実行してログインします。
minder auth login --grpc-host api.custcodian.dev
(このAPIホストは0.0.89リリース以降のデフォルトです。)完了すると、Minder Serverがapi.custcodian.devに設定されていることが表示されます。
quickstartコマンドは、Minderでの最初のプロファイル作成、リポジトリの登録、およびリポジトリのシークレットスキャン保護の有効化を数秒でガイドします。
実行するには、次のコマンドを実行します。
minder quickstart
これにより、プロバイダーの登録、希望するリポジトリの選択、secret_scanningルールタイプの作成、および選択したリポジトリでシークレットスキャンを有効にするプロファイルの作成が促されます。
プロファイルのステータスを確認するには、次のコマンドを実行します。
minder profile status list --profile quickstart-profile --detailed
全体的なプロファイルステータスと、登録された各リポジトリのルール評価ステータスの詳細が表示されます。
Minderはリポジトリを追跡し続け、remediate機能を使用して望ましい状態からの逸脱を修正するか、必要に応じてalert機能を使用して警告します。
おめでとうございます!🎉 最初のプロファイルが正常に作成されました。
さらに多くのリポジトリの追加や削除、さまざまなルールを使用したプロファイルの作成など、Minderの機能を引き続き探索できます。Minderはシークレットスキャンだけではありません。
secret_scanningルールは、Minderがサポートする多くのルールタイプの1つにすぎません。
Minderチームが管理するすぐに使えるルールとプロファイルの完全なリストは、mindersec/minder-rules-and-profilesにあります。
まだ見つからないものがある場合、Minderは拡張可能なように設計されています。これにより、ユーザーは独自のカスタムルールタイプとプロファイルを作成し、セキュリティ体制の詳細を証明できます。
すべての設定が完了したので、Minderのパブリックインスタンスに対してminderコマンドを引き続き実行できます。登録済みリポジトリの管理、プロファイルやルールの作成など、リポジトリが一貫して安全に構成されるようにすることができます。
minderの詳細については、以下を参照してください。
minder CLIコマンド - ドキュメントminder REST APIドキュメント - ドキュメントMinderコミュニティは、Minderの新機能と改善に積極的に取り組んでいます。
ロードマップはこちらにあります。
機能や改善のリクエストや貢献を希望される場合は、次のIssueテンプレートをご利用ください。
このセクションでは、ソースからMinderをビルドして実行する方法について説明します。
以下のツールが必要です - Go、Docker、Docker Compose。
minder-serverをビルドして実行するには、koも必要です。
make testでテストスイートを実行するには、gotestfmtとhelmが必要です。
run-docker Makeターゲットを呼び出すには、yqが必要です。
git clone [email protected]:mindersec/minder.git
次のコマンドを実行してminderとminder-serverをビルドします(バイナリは./bin/に配置されます)。
make build
minderをMinderのパブリックインスタンス(api.custcodian.dev)で使用するには、次のコマンドを実行します。
minder auth login --grpc-host api.custcodian.dev
完了すると、Minder Serverがapi.custcodian.devに設定されていることが表示されます。
minderをローカルのminder-serverインスタンスに対して実行する場合は、--grpc-host=localhostと--grpc-port=8090フラグを使用するか、以下の手順に従って設定ファイルを使用できます。
minderの初期設定ファイルを作成します。次のようにして行います。
cp config/config.yaml.example config.yaml
minder-serverの初期設定ファイルを作成します。次のようにして行います。
cp config/server-config.yaml.example server-config.yaml
また、minder-serverで使用するOAuth2アプリケーションを設定する必要があります。完了したら、適切な値で設定ファイルを更新します。その方法については、ドキュメントを参照してください - ドキュメント。
minder-serverの実行minder-serverとその依存サービス(keycloakとpostgres)を次のコマンドで起動します。
make run-docker
minder-serverはIAMとしてKeycloakを使用します。ログインするには、GitHub OAuth2アプリケーションをセットアップし、Keycloakでそれを使用するように設定する必要があります。
GitHubのOAuth2アプリケーションをこちらで作成します。New OAuth Appを選択し、詳細を入力します。コールバックURLはhttp://localhost:8081/realms/stacklok/broker/github/endpointにします。OAuth2クライアント用の新しいクライアントシークレットを作成します。
上記で作成したclient_idとclient_secretを使用して、次のコマンドを実行し、KeycloakでGitHubログインを有効にします。
make KC_GITHUB_CLIENT_ID=<client_id> KC_GITHUB_CLIENT_SECRET=<client_secret> github-login
現在のディレクトリにconfig.yamlファイルがあることを確認して、minderが使用できるようにします。
ローカルのMinderインスタンス(localhost:8090)に対してminderを実行します。
minder auth login
完了すると、Minder Serverがlocalhost:8090に設定されていることが表示されます。
デフォルトでは、設定ファイルがない場合、minder CLIはCustcodianクラウド環境を指しますが、サーバーを実行するためのconfig.yamlを作成すると、CLIはローカル開発環境を指すようになります。別のインスタンスを明示的に使用したい場合は、MINDER_CONFIG環境変数に特定の設定を指定します。configディレクトリには、ローカル開発およびCustcodianクラウド環境の設定がチェックインされています。
開発プロセスの詳細については、開発者ガイドを参照してください。
Minderへの貢献を歓迎します。詳細については、貢献ガイドを参照してください。
Minderプロジェクトは、ソフトウェアサプライチェーンのセキュリティと透明性に関するベストプラクティスに従っています。
すべてのリリース成果物は:
MinderはApache 2.0ライセンスの下でライセンスされています。