Назад к обновлениям
New releaseJul 20, 2026

minder v0.2.1

Платформа безопасности цепочки поставок ПО

Поделиться

minder logo

Continuous integration | Coverage Status | License: Apache 2.0 | SLSA 3 | | OpenSSF Scorecard

Установка | Документация | Релизы

Что такое Minder?

Minder — это открытая платформа, которая помогает командам разработчиков и сообществам открытого кода создавать более безопасное программное обеспечение и доказывать другим, что созданное ими безопасно. Minder помогает владельцам проектов активно управлять своей безопасностью, предоставляя набор проверок и политик для минимизации рисков в цепочке поставок ПО, а также удостоверять свои практики безопасности для потребителей ниже по цепочке.

Minder позволяет пользователям регистрировать репозитории и определять политики для обеспечения единообразной и безопасной настройки репозиториев и артефактов. Политики могут быть настроены только на оповещение или на автоматическое исправление. Minder предоставляет предопределённый набор правил и может быть настроен для применения пользовательских правил.

Minder можно развернуть как Helm-чарт, и он предоставляет CLI-инструмент minder. Custcodian также предоставляет бесплатную хостинговую версию Minder. Minder спроектирован как расширяемый, что позволяет пользователям интегрировать его с существующими инструментами и процессами.

Возможности

  • Настройка и безопасность репозиториев: Упрощение настройки и управления параметрами безопасности и политиками в репозиториях.
  • Проактивное обеспечение безопасности: Непрерывное применение лучших практик безопасности с помощью детальных политик, настроенных на оповещение или автоматическое исправление.
  • Удостоверение артефактов: Непрерывная проверка подписи пакетов для обеспечения их защиты от подделки с использованием открытого проекта Sigstore.
  • Управление зависимостями: Управление безопасностью зависимостей, помогая разработчикам делать лучший выбор и применять контроль. Minder интегрирован с OSV (и может быть интегрирован с другими SCA API) для управления зависимостями на основе политик с учётом уровня риска зависимостей.

Публичный экземпляр

Custcodian предоставляет бесплатный публичный экземпляр Minder по адресу api.custcodian.dev. Это экземпляр, используемый по умолчанию при использовании CLI minder начиная с версии 0.0.89. Этот экземпляр бесплатен для использования с публичными репозиториями; для частных репозиториев может взиматься дополнительная плата за использование облачного хостинга.


Начало работы (менее 1 минуты)

Запуск и работа с Minder занимает менее минуты и состоит из:

  1. Установки Minder
  2. Входа в Minder
  3. и запуска minder quickstart для создания вашего первого профиля.

Всего за несколько секунд вы зарегистрируете свои репозитории и включите защиту от утечки секретов для всех них! 🤯

Установка

Выберите предпочтительный способ установки minder:

MacOS (Homebrew)

Убедитесь, что у вас установлен Homebrew.

brew install minder

Windows (Winget)

Убедитесь, что у вас установлен Winget.

winget install mindersec.minder

Скачать релиз

Скачайте последний релиз с minder/releases.

Собрать из исходников

Соберите minder и minder-server из исходников, следуя руководству по сборке из исходников.

Вход в Minder

Чтобы использовать minder с публичным экземпляром Minder (api.custcodian.dev), войдите, выполнив:

minder auth login --grpc-host api.custcodian.dev

(Этот хост API используется по умолчанию начиная с версии 0.0.89.) После завершения вы должны увидеть, что сервер Minder установлен на api.custcodian.dev.

Запуск быстрого старта Minder

Команда 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 активно работает над новыми функциями и улучшениями 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.custcodian.dev), выполните:

minder auth login --grpc-host api.custcodian.dev

После завершения вы должны увидеть, что сервер Minder установлен на api.custcodian.dev.

Если вы хотите запустить minder против локального экземпляра minder-server, вы можете использовать флаги --grpc-host=localhost и --grpc-port=8090 или использовать файл конфигурации, следуя шагам ниже.

Начальная конфигурация

Создайте начальный файл конфигурации для 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

Настройка входа через социальные сети (GitHub)

minder-server использует Keycloak в качестве IAM. Для входа вам потребуется настроить приложение OAuth2 для GitHub и настроить 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

Запуск minder

Убедитесь, что файл config.yaml присутствует в текущем каталоге, чтобы minder мог его использовать.

Запустите minder против вашего локального экземпляра Minder (localhost:8090):

minder auth login

После завершения вы должны увидеть, что сервер Minder установлен на localhost:8090.

По умолчанию CLI minder будет указывать на облачную среду Custcodian, если файл конфигурации отсутствует, но создание config.yaml для запуска сервера заставит CLI указывать на вашу локальную среду разработки. Если вы явно хотите использовать другой экземпляр, вы можете установить переменную окружения MINDER_CONFIG для указания на конкретную конфигурацию. У нас есть конфигурации для локальной разработки и облачной среды Custcodian в каталоге config.

Рекомендации по разработке

Более подробную информацию о процессе разработки вы можете найти в Руководстве разработчика.

API Minder

Участие

Мы приветствуем участие в разработке Minder. Пожалуйста, ознакомьтесь с нашим руководством Участие для получения дополнительной информации.

  • Сообщество Minder регулярно встречается. Расписание встреч можно найти в Календаре сообщества OpenSSF.
  • Устав проекта и документы по управлению поддерживаются в репозитории mindersec/community.

Происхождение

Проект Minder следует лучшим практикам безопасности цепочки поставок ПО и прозрачности.

Все выпущенные ресурсы:

  • Имеют сгенерированную и проверяемую информацию о происхождении SLSA Build Level 3. Для получения дополнительной информации см. веб-сайт SLSA.
  • Были подписаны и проверены во время выпуска с использованием проекта Sigstore. Это гарантирует, что они защищены от подделки и могут быть проверены кем угодно.
  • Имеют архив SBOM, сгенерированный и опубликованный вместе с выпуском. Это позволяет пользователям понимать зависимости проекта и их уровень безопасности.

Лицензия

Minder лицензирован в соответствии с Лицензией Apache 2.0.

Категории