
يقوم بتدقيق مشاريع GitLab مقابل معيار CIS GitLab Benchmark عبر فحوصات API للقراءة فقط، مع إنشاء تقارير JSON حول الامتثال وتوصيات التحصين.
في 17 أبريل 2024، نشرت GitLab™ منشور مدونة قدّمت فيه معيار GitLab Benchmark الصادر عن مركز الأمن على الإنترنت (CIS). بهدف تحسين أمان المنتج وتقديم توصيات تحصين لعملاء GitLab. يمكنك تنزيل نسخة من المعايير المنشورة على موقع مركز الأمن على الإنترنت.
"نشأ معيار CIS GitLab Benchmark من تعاون بين CIS وفريقي أمن الميدان وإدارة المنتجات في GitLab. بعد العديد من المحادثات مع العملاء، أدركنا الحاجة إلى معيار محدد يوجّه جهودهم في التحصين. أجرينا مراجعة متعمقة لمنتج GitLab ووثائقه لفهم كيفية توافق ما نقدمه مع معيار CIS لأمن سلسلة توريد البرمجيات. بعد اكتمال المسودة الأولية، دخلت في عملية إجماع CIS، حيث تمكن مجتمع معايير CIS الأوسع من مراجعتها واقتراح تعديلات قبل النشر."
المرجع: إنشاء معيار CIS GitLab Benchmark
gitlabcis هو حزمة Python® تدقق مشروع GitLab وفقًا لـ معيار CIS GitLab Benchmark الصادر عن مركز الأمن على الإنترنت (CIS). وهي تتضمن توصيات كرمز برمجي منسقة بصيغة YAML™.
هناك جهد أكبر لإضافة معيار CIS Benchmark كمعيار امتثال إلى تقرير الالتزام بالامتثال.
خلال تطوير هذه الأداة، ساهم المؤلفون بميزتين في منتج GitLab (#39):
[[TOC]]
| إخلاء المسؤولية | التعليق |
|---|---|
| تفترض هذه الأداة أن المستخدم يستخدم GitLab في كل شيء |
|
| لا يمكن لهذه الأداة تدقيق كل توصية |
|
| لا تنفذ هذه الأداة أي عمليات كتابة على مثيل GitLab أو مجموعتك أو مشروعك. لا يتم تنفيذ أي إجراءات كتابة. |
|
| هذا ليس منتجًا رسميًا من GitLab |
|
gitlabcis يتطلب أحد الرموز التالية:
يمكنك إما تمرير الرمز كخيار أو تخزينه كمتغير بيئة:
GITLAB_TOKEN - (اختياري) متغير بيئة--token / -t - (اختياري) خيار رمز gitlabcisيمكنك إما تمرير الرمز كخيار أو تخزينه كمتغير بيئة:
GITLAB_OAUTH_TOKEN - (اختياري) متغير بيئة--oauth-token / -ot - (اختياري) خيار رمز gitlabcisread_api على الأقل.هناك عدة طرق لتنزيل الماسح الضوئي. يرجى الاطلاع عليها أدناه:
ثبّت gitlabcis من pypi.org:
pip install gitlabcis
ثبّت gitlabcis من سجل الحزم:
pip install gitlabcis --index-url https://gitlab.com/api/v4/projects/57279821/packages/pypi/simple
إذا لم تكن قد قمت بذلك بالفعل، فستحتاج إلى إضافة ما يلي إلى ملف .pypirc الخاص بك:
[gitlab]
repository = https://gitlab.com/api/v4/projects/57279821/packages/pypi
username = __token__
password = <your personal access token>
ثبّت gitlabcis من المصدر عبر الاستنساخ، أو من صفحة الإصدارات الخاصة بنا:
# make a clone (or create a local fork) of the repo
git clone [email protected]:gitlab-security-oss/cis/gitlabcis.git
cd gitlabcis
make install
يُتوقع استخدام الصيغة التالية:
gitlabcis URL OPTIONS

لإنشاء تقرير من سطر الأوامر:
gitlabcis https://gitlab.example.com/path/to/project --token $TOKEN
إنشاء تقرير بصيغة JSON: (عند استخدام متغير $GITLAB_TOKEN، لا تحتاج إلى تحديد خيار --token)
gitlabcis \
https://gitlab.example.com/path/to/project \
-o results.json \
-f json
لتنفيذ ضابط واحد:
gitlabcis \
https://gitlab.example.com/path/to/project \
-ids 1.2.3 # or multiple: 2.3.4 3.4.5 etc
افحص جميع المجموعات الفرعية والمشاريع ضمن مثيل أو مجموعة (بمستوى واحد افتراضيًا):
gitlabcis https://gitlab.example.com/path-to-group --nest
افحص جميع المجموعات الفرعية والمشاريع حتى عمق مستويين، مع كتابة ملفات JSON لكل كيان في ./results/:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 2 \
--output-dir results \
-f json
افحص بعمق غير محدود وبادئة اسم ملف:
gitlabcis \
https://gitlab.example.com/path-to-group \
--nest \
--depth 0 \
--prefix "audit_" \
--output-dir results \
-f json
راجع دليل gitlabcis التوثيق (./docs) - هل هناك شيء مفقود؟ لا تتردد في المساهمة عبر مشكلة جديدة.
نُشر gitlabcis بموجب رخصة MIT، ويمكن مراجعتها في ملف ./LICENSE.
راجع ./CHANGELOG.md لمزيد من المعلومات.
راجع قسم العنوان في مستند المساهمة (CONTRIBUTING.md) لمعرفة مدونة قواعد السلوك.