| | | |
Minder は、開発チームやオープンソース コミュニティがより安全なソフトウェアを構築し、構築したものが安全であることを他の人に証明するのに役立つオープン ソース プラットフォームです。 Minder は、ソフトウェア サプライ チェーンに沿ったリスクを最小限に抑え、下流の消費者にセキュリティ実践を証明するための一連のチェックとポリシーを提供することで、プロジェクト オーナーがセキュリティ体制を積極的に管理できるように支援します。
Minder を使用すると、ユーザーはリポジトリを登録し、リポジトリとアーティファクトが一貫して安全に設定されるようにポリシーを定義できます。ポリシーは、アラートのみまたは自動修復に設定できます。 Minder は事前定義されたルールのセットを提供し、カスタム ルールを適用するように構成することもできます。
Minder は Helm チャートとしてデプロイでき、CLI ツールのminder
を提供します。 Minder をサポートする会社である Stacklok も、無料で使用できるホスト型の Minder を提供しています (パブリック リポジトリのみ)。 Minder は拡張可能に設計されており、ユーザーは既存のツールやプロセスと統合できます。
Minder をサポートする企業である Stacklok は、無料で使用できる Minder のパブリック インスタンスを提供しています。これは、 minder
CLI を使用するときに使用されるデフォルトのインスタンスです。このインスタンスはパブリック リポジトリでのみ使用できます。
Minder を立ち上げて実行するのは 1 分もかからず、次のように簡単です。
minder quickstart
実行して最初のプロファイルを作成します。わずか数秒で、リポジトリを登録し、すべてのリポジトリに対してシークレット スキャン保護を有効にします。 ?
minder
をインストールするための好みの方法を選択してください:
Homebrew がインストールされていることを確認してください。
brew install minder
Winget がインストールされていることを確認してください。
winget install stacklok.minder
最新リリースを Minder/release からダウンロードします。
ソースからのビルド ガイドに従って、 minder
とminder-server
ソースからビルドします。
Minder のパブリック インスタンス ( api.stacklok.com
) でminder
使用するには、次のコマンドを実行してログインします。
minder auth login
完了すると、Minder サーバーがapi.stacklok.com
に設定されていることがわかります。
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 のチーム - GitHub によって維持されます。Minder コミュニティは、Minder の新機能と改善に積極的に取り組んでいます。
ここでロードマップを見つけることができます。
機能や改善をリクエストまたは貢献したい場合は、次の問題テンプレートを使用してください。
このセクションでは、Minder をソースからビルドして実行する方法について説明します。
Go、Docker、Docker Compose のツールが利用可能である必要があります。
minder-server
構築して実行するには、 ko も必要です。
make test
経由でテスト スイートを実行するには、 gotestfmt と helm が必要です。
run-docker
make target を呼び出すには、yq が必要です。
git clone [email protected]:mindersec/minder.git
以下を実行して、 minder
とminder-server
ビルドします (バイナリは./bin/
に存在します)。
make build
Minder のパブリック インスタンス ( api.stacklok.com
) でminder
使用するには、次のコマンドを実行します。
minder auth login
完了すると、Minder Server がapi.stacklok.com
に設定されていることがわかります。
ローカルのminder-server
インスタンスに対してminder
実行する場合は、以下の手順に進みます。
minder
の初期構成ファイルを作成します。そうすることでそうすることができます。
cp config/config.yaml.example config.yaml
minder-server
の初期構成ファイルを作成します。そうすることでそうすることができます。
cp config/server-config.yaml.example server-config.yaml
また、 minder-server
使用する OAuth2 アプリケーションをセットアップする必要もあります。完了したら、適切な値で構成ファイルを更新します。その方法については、ドキュメント (Docs) を参照してください。
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
minder
が使用できるように、 config.yaml
ファイルが現在のディレクトリに存在することを確認してください。
Minder のローカル インスタンス ( localhost:8090
) に対してminder
実行します。
minder auth login
完了すると、Minder サーバーがlocalhost:8090
に設定されていることがわかります。
デフォルトでは、構成ファイルが存在しない場合、 minder
CLI は本番 Stacklok 環境を指しますが、サーバーを実行するためのconfig.yaml
作成すると、CLI はローカル開発環境を指します。別のインスタンスを明示的に使用する場合は、特定の構成を指すようにMINDER_CONFIG
環境変数を設定できます。ローカル開発、Stacklok 運用環境、および Stacklok ステージング環境 (頻繁に更新される) の構成がconfig
ディレクトリにチェックインされています。
開発プロセスの詳細については、開発者ガイドを参照してください。
REST API ドキュメント - リンク。
Proto API ドキュメント - リンク。
プロトブフ - リンク。
OpenAPI/swagger 仕様 (JSON) - リンク。
Minder への貢献を歓迎します。詳細については、貢献ガイドをご覧ください。
Minder プロジェクトは、ソフトウェア サプライ チェーンのセキュリティと透明性に関するベスト プラクティスに従っています。
リリースされたすべてのアセット:
Minder は、Apache 2.0 ライセンスに基づいてライセンスされています。