| | | |
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/releases에서 최신 릴리스를 다운로드하세요.
소스 빌드 가이드에 따라 소스에서 minder
및 minder-server
빌드하세요.
Minder의 공개 인스턴스( api.stacklok.com
)에서 minder
사용하려면 다음을 실행하여 로그인하세요.
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 커뮤니티는 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의 공개 인스턴스( 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
실행 다음을 실행하여 종속 서비스( keycloak
및 postgres
)와 함께 minder-server
시작합니다.
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
minder
사용할 수 있도록 config.yaml
파일이 현재 디렉터리에 있는지 확인하세요.
Minder의 로컬 인스턴스( localhost:8090
)에 대해 minder
실행합니다.
minder auth login
완료되면 Minder Server가 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 라이선스에 따라 라이선스가 부여됩니다.