العودة إلى التحديثات
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 chart ويوفر أداة CLI تسمى minder. توفر Custcodian أيضًا نسخة مستضافة مجانية الاستخدام من Minder. صمم Minder ليكون قابلًا للتوسع، مما يسمح للمستخدمين بالتكامل مع أدواتهم وعملياتهم الحالية.

الميزات

  • تكوين وأمان المستودعات: تبسيط تكوين وإدارة إعدادات وسياسات الأمان عبر المستودعات.
  • فرض الأمان الاستباقي: فرض مستمر لتكوينات الأمان الأفضل ممارسة عن طريق تحديد سياسات دقيقة للتنبيه فقط أو التصحيح التلقائي.
  • التصديق على القطع الأثرية: التحقق المستمر من أن الحزم موقعة لضمان أنها مقاومة للتلاعب، باستخدام المشروع مفتوح المصدر Sigstore.
  • إدارة التبعيات: إدارة وضع أمان التبعيات من خلال مساعدة المطورين على اتخاذ خيارات أفضل وفرض الضوابط. يتكامل Minder مع OSV (ويمكن تكامله مع واجهات برمجة تطبيقات SCA أخرى) لتمكين إدارة التبعيات المدفوعة بالسياسات بناءً على مستوى مخاطر التبعيات.

المثال العام

توفر Custcodian نسخة عامة مجانية الاستخدام من Minder على api.custcodian.dev. هذه هي النسخة الافتراضية المستخدمة عندما تستخدم CLI minder بدءًا من الإصدار 0.0.89. هذه النسخة مجانية الاستخدام للمستودعات العامة؛ أما بالنسبة للمستودعات الخاصة، فقد تكون هناك رسوم إضافية لاستخدام هذه النسخة المستضافة على السحابة.


البدء (أقل من دقيقة)

يستغرق تشغيل 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

يرشدك أمر 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.

إرشادات التطوير

يمكنك العثور على معلومات أكثر تفصيلاً حول عملية التطوير في دليل المطور.

Minder API

المساهمة

نرحب بالمساهمات في Minder. يرجى الاطلاع على دليل المساهمة لمزيد من المعلومات.

  • يجتمع مجتمع Minder بانتظام. يمكنك العثور على جدول الاجتماعات في تقويم المجتمع OpenSSF.
  • يتم الحفاظ على ميثاق المشروع ووثائق الحوكمة في مستودع mindersec/community.

الأصل (Provenance)

يتبع مشروع Minder أفضل الممارسات لأمن سلسلة توريد البرمجيات والشفافية.

جميع الأصول المُصدرة:

  • تحتوي على أصل قابل للإنشاء والتحقق منه بمستوى SLSA Build Level 3. لمزيد من المعلومات، راجع موقع SLSA.
  • تم توقيعها والتحقق منها أثناء الإصدار باستخدام مشروع Sigstore. وهذا يضمن أنها مقاومة للتلاعب ويمكن لأي شخص التحقق منها.
  • تم إنشاء أرشيف SBOM ونشره مع الإصدار. وهذا يسمح للمستخدمين بفهم تبعيات المشروع ووضعهم الأمني.

الترخيص

Minder مرخص بموجب رخصة Apache 2.0.

الفئات