| | | |
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 许可证获得许可。