
منصة أمان سلسلة توريد البرمجيات

Minder هو منصة مفتوحة المصدر تساعد فرق التطوير والمجتمعات مفتوحة المصدر على بناء برمجيات أكثر أمانًا، وإثبات للآخرين أن ما بنوه آمن. يساعد Minder مالكي المشاريع على إدارة وضعهم الأمني بشكل استباقي من خلال توفير مجموعة من الفحوصات والسياسات لتقليل المخاطر على طول سلسلة توريد البرمجيات، والتصديق على ممارساتهم الأمنية للمستهلكين النهائيين.
يسمح Minder للمستخدمين بتسجيل المستودعات وتحديد السياسات لضمان تكوين المستودعات والقطع الأثرية بشكل متسق وآمن. يمكن ضبط السياسات للتنبيه فقط أو التصحيح التلقائي. يوفر Minder مجموعة محددة مسبقًا من القواعد ويمكن أيضًا تكوينه لتطبيق قواعد مخصصة.
يمكن نشر Minder كـ Helm chart ويوفر أداة CLI تسمى minder. توفر Custcodian أيضًا نسخة مستضافة مجانية الاستخدام من Minder. صمم Minder ليكون قابلًا للتوسع، مما يسمح للمستخدمين بالتكامل مع أدواتهم وعملياتهم الحالية.
توفر Custcodian نسخة عامة مجانية الاستخدام من Minder على api.custcodian.dev. هذه هي النسخة الافتراضية المستخدمة عندما تستخدم CLI minder بدءًا من الإصدار 0.0.89. هذه النسخة مجانية الاستخدام للمستودعات العامة؛ أما بالنسبة للمستودعات الخاصة، فقد تكون هناك رسوم إضافية لاستخدام هذه النسخة المستضافة على السحابة.
يستغرق تشغيل Minder أقل من دقيقة وهو سهل مثل:
minder quickstart لإنشاء ملفك الشخصي الأول.في بضع ثوانٍ فقط، ستقوم بتسجيل مستودعاتك وتفعيل حماية فحص الأسرار لجميعها! 🤯
اختر الطريقة المفضلة لتثبيت minder:
تأكد من تثبيت Homebrew.
brew install minder
تأكد من تثبيت Winget.
winget install mindersec.minder
قم بتنزيل أحدث إصدار من minder/releases.
قم ببناء minder و minder-server من المصدر باتباع دليل البناء من المصدر.
لاستخدام minder مع المثال العام من Minder (api.custcodian.dev)، قم بتسجيل الدخول عن طريق تشغيل:
minder auth login --grpc-host api.custcodian.dev
(مضيف API هذا هو الافتراضي بدءًا من الإصدار 0.0.89.) عند الانتهاء، يجب أن ترى أن خادم Minder مضبوط على api.custcodian.dev.
يرشدك أمر 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 بنشاط على ميزات وتحسينات جديدة لـ 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
يستخدم 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
تأكد من وجود ملف config.yaml في الدليل الحالي حتى يتمكن minder من استخدامه.
قم بتشغيل minder ضد نسختك المحلية من Minder (localhost:8090):
minder auth login
عند الانتهاء، يجب أن ترى أن خادم Minder مضبوط على localhost:8090.
افتراضيًا، ستشير CLI minder إلى بيئة Custcodian السحابية إذا لم يكن ملف التكوين موجودًا، ولكن إنشاء config.yaml لتشغيل الخادم سيشير CLI إلى بيئة التطوير المحلية لديك. إذا كنت تريد صراحةً استخدام نسخة مختلفة، يمكنك تعيين متغير البيئة MINDER_CONFIG للإشارة إلى تكوين معين. لدينا تكوينات للتطوير المحلي وبيئة Custcodian السحابية مدخلة في دليل config.
يمكنك العثور على معلومات أكثر تفصيلاً حول عملية التطوير في دليل المطور.
نرحب بالمساهمات في Minder. يرجى الاطلاع على دليل المساهمة لمزيد من المعلومات.
يتبع مشروع Minder أفضل الممارسات لأمن سلسلة توريد البرمجيات والشفافية.
جميع الأصول المُصدرة:
Minder مرخص بموجب رخصة Apache 2.0.