| | | |
Minder 是一個開源平台,可協助開發團隊和開源社群建立更安全的軟體,並向其他人證明他們建立的軟體是安全的。 Minder 透過提供一系列檢查和策略來幫助專案所有者主動管理其安全狀況,以最大程度地降低軟體供應鏈中的風險,並向下游消費者證明其安全實踐。
Minder 允許使用者註冊儲存庫並定義策略,以確保儲存庫和工件的配置一致且安全。策略可以設定為僅警報或自動修復。 Minder 提供了一組預先定義的規則,也可以設定為套用自訂規則。
Minder可以部署為Helm圖表並提供CLI工具minder
。 Stacklok 是一家支援 Minder 的公司,也提供免費使用的 Minder 託管版本(僅適用於公共儲存庫)。 Minder 被設計為可擴展的,允許使用者與其現有的工具和流程整合。
Stacklok 是一家支援 Minder 的公司,提供免費使用的 Minder 公共實例。這是您使用minder
CLI 時使用的預設實例。此實例僅適用於公用儲存庫。
啟動並運行 Minder 只需不到一分鐘,而且非常簡單:
minder quickstart
來創建您的第一個設定檔。只需幾秒鐘,您就可以註冊您的儲存庫並為所有儲存庫啟用秘密掃描保護! ?
選擇您喜歡的安裝minder
的方法:
確保您已安裝 Homebrew。
brew install minder
確保您已安裝 Winget。
winget install stacklok.minder
從 Minder/releases 下載最新版本。
按照從原始碼建置指南從原始碼建置minder
和minder-server
。
若要將minder
與 Minder 的公用實例 ( api.stacklok.com
) 一起使用,請透過執行以下命令登入:
minder auth login
完成後,您應該會看到 Minder Server 設定為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 支援的眾多規則類型之一。
您可以在此處查看 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 目標,您將需要 yq。
git clone [email protected]:mindersec/minder.git
執行以下命令來建立minder
和minder-server
(二進位檔案將出現在./bin/
)
make build
若要將minder
與 Minder 的公用實例 ( api.stacklok.com
) 結合使用,請執行:
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
您還必須設定一個 OAuth2 應用程式以供minder-server
使用。完成後,使用適當的值更新設定檔。請參閱有關如何執行此操作的文件 - 文件。
minder-server
透過執行以下命令啟動minder-server
及其依賴的服務( keycloak
和postgres
):
make run-docker
minder-server
使用 Keycloak 作為 IAM。要登錄,您需要設定 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 將指向生產 Stacklok 環境,但建立用於執行伺服器的config.yaml
會將 CLI 指向您的本機開發環境。如果您明確想要使用不同的實例,則可以設定MINDER_CONFIG
環境變數以指向特定配置。我們將本機開發、Stacklok 生產環境和 Stacklok 臨時環境(經常更新)的設定簽入到config
目錄中。
您可以在開發人員指南中找到有關開發過程的更多詳細資訊。
REST API 文件 - 連結。
原始 API 文件 - 連結。
Protobuf - 連結。
OpenAPI/swagger 規格 (JSON) - 連結。
我們歡迎對 Minder 做出貢獻。請參閱我們的貢獻指南以獲取更多資訊。
Minder 專案遵循軟體供應鏈安全性和透明度的最佳實踐。
所有已釋放資產:
Minder 根據 Apache 2.0 授權取得授權。