| | | |
Minder — это платформа с открытым исходным кодом, которая помогает командам разработчиков и сообществам с открытым исходным кодом создавать более безопасное программное обеспечение и доказывать другим, что то, что они создали, безопасно. Minder помогает владельцам проектов активно управлять своим состоянием безопасности, предоставляя набор проверок и политик для минимизации рисков в цепочке поставок программного обеспечения, а также проверяя свои методы обеспечения безопасности для последующих потребителей.
Minder позволяет пользователям регистрировать репозитории и определять политику, обеспечивающую согласованную и безопасную настройку репозиториев и артефактов. Политики могут быть настроены только на оповещения или автоматическое исправление. Minder предоставляет предопределенный набор правил, а также его можно настроить для применения пользовательских правил.
Minder можно развернуть в виде диаграммы Helm и предоставить инструмент CLI minder
. Stacklok, компания, поддерживающая Minder, также предоставляет бесплатную размещенную версию Minder (только для общедоступных репозиториев). Minder спроектирован так, чтобы его можно было расширять, что позволяет пользователям интегрироваться с существующими инструментами и процессами.
Stacklok, компания, поддерживающая Minder, предоставляет бесплатный общедоступный экземпляр Minder. Это экземпляр по умолчанию, используемый при использовании CLI minder
. Этот экземпляр доступен только для общедоступных репозиториев.
Начало работы с 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 установлено значение 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, вы можете увидеть здесь — minedersec/minder-rules-and-profiles.
Если вы чего-то там еще не нашли, Minder спроектирован так, чтобы его можно было расширять. Это позволяет пользователям создавать свои собственные типы и профили правил и обеспечивать подтверждение особенностей их уровня безопасности.
Теперь, когда у вас все настроено, вы можете продолжать запускать команды minder
для общедоступного экземпляра Minder, где вы можете управлять своими зарегистрированными репозиториями, создавать профили, правила и многое другое, чтобы вы могли гарантировать, что ваши репозитории настроены согласованно и безопасно.
Для получения дополнительной информации о minder
см.:
minder
— Документация.minder
— Документация.minder
поддерживаемые командой Minder — GitHub.Сообщество Minder активно работает над новыми функциями и улучшениями Minder.
Вы можете найти нашу дорожную карту здесь.
Если вы хотите запросить или добавить функцию или улучшение, используйте следующий шаблон проблемы.
В этом разделе описывается, как собрать и запустить Minder из исходного кода.
Вам потребуются следующие доступные инструменты — Go, Docker и Docker Compose.
Для сборки и запуска minder-server
вам также понадобится ko.
Чтобы запустить набор тестов с помощью make test
, вам понадобятся gotestfmt и helm.
Чтобы вызвать команду make target run-docker
, вам понадобится yq.
git clone [email protected]:mindersec/minder.git
Запустите следующую команду, чтобы собрать minder
и minder-server
(бинарные файлы будут находиться в ./bin/
)
make build
Чтобы использовать minder
с общедоступным экземпляром Minder ( api.stacklok.com
), запустите:
minder auth login
По завершении вы должны увидеть, что для сервера Minder установлено значение api.stacklok.com
.
Если вы хотите запустить minder
на локальном экземпляре minder-server
, выполните следующие действия.
Создайте исходный файл конфигурации для 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 для его использования.
Создайте приложение OAuth2 для GitHub здесь. Выберите New OAuth App
и заполните данные. URL-адрес обратного вызова должен быть http://localhost:8081/realms/stacklok/broker/github/endpoint
. Создайте новый секрет клиента для вашего клиента OAuth2.
Используя client_id
и client_secret
которые вы создали выше, включите вход в GitHub в Keycloak, выполнив следующую команду:
make KC_GITHUB_CLIENT_ID= < client_id > KC_GITHUB_CLIENT_SECRET= < client_secret > github-login
Убедитесь, что файл config.yaml
присутствует в текущем каталоге, чтобы minder
мог его использовать.
Запустите minder
для вашего локального экземпляра Minder ( localhost:8090
):
minder auth login
По завершении вы должны увидеть, что для сервера Minder установлено значение localhost:8090
.
По умолчанию CLI minder
будет указывать на производственную среду Stacklok, если файл конфигурации отсутствует, но создание config.yaml
для запуска сервера укажет CLI на вашу локальную среду разработки. Если вы явно хотите использовать другой экземпляр, вы можете установить переменную среды MINDER_CONFIG
, чтобы она указывала на конкретную конфигурацию. У нас есть конфигурации для локальной разработки, производственной среды Stacklok и промежуточной среды Stacklok (часто обновляемые), зарегистрированные в каталоге config
.
Более подробную информацию о процессе разработки вы можете найти в Руководстве разработчика.
Документация по REST API — ссылка.
Документация по Proto API — ссылка.
Протобуф - Ссылка.
Спецификация OpenAPI/swagger (JSON) — ссылка.
Мы приветствуем вклад в Minder. Дополнительную информацию см. в нашем руководстве по участию.
Проект Minder следует лучшим практикам обеспечения безопасности и прозрачности цепочки поставок программного обеспечения.
Все выпущенные активы:
Minder распространяется по лицензии Apache 2.0.