
اكتشاف وتصحيح التكوينات الخاطئة والمخاطر الأمنية عبر جميع أصول GitHub و GitLab الخاصة بك.
عزز الموقف الأمني لإدارة كود المصدر الخاص بك!
اكتشف وأصلح الأخطاء في التهيئة، والمشكلات الأمنية والامتثال عبر جميع أصول GitHub وGitLab الخاصة بك بسهولة 🔥
بواسطة Legit Security.
Legit Security هي حل لإدارة الوضع الأمني للتطبيقات (ASPM) وأمان سلسلة توريد البرمجيات.
لمزيد من المعلومات، تحقق من جدول المقارنة
يمكن التثبيت بعدة طرق:
brew install legitify
يمكنك تنزيل أحدث إصدار من legitify من https://github.com/Legit-Labs/legitify/releases، كل أرشيف يحتوي على:
من المصدر بالخطوات التالية:
git clone [email protected]:Legit-Labs/legitify.git
go run main.go analyze ...
gh extension install legit-labs/gh-legitify
gh legitify
يمكنك تشغيل legitify كجزء من عملية CI باستخدام إجراءات GitHub Action المخصصة لـ Legitify:
name: Legitify Analyze
on:
workflow_dispatch:
schedule:
- cron: '0 11 * * 1-5'
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Legitify Action
uses: Legit-Labs/legitify@main
with:
github_token: ${{ secrets.PAT_FOR_LEGITIFY }}
ignore-policies: |
non_admins_can_create_public_repositories
requires_status_checks
تحقق من ملف الإجراء للمعلمات الإضافية والتكوين.
لتعزيز أمان سلسلة توريد البرمجيات لمستخدمي legitify، اعتبارًا من الإصدار v0.1.6، يحتوي كل إصدار من legitify على وثيقة SLSA Level 3 Provenance.
تشير وثيقة الإثبات إلى جميع القطع الأثرية في الإصدار، بالإضافة إلى صورة docker المولدة.
يمكنك استخدام المدقق الرسمي لإطار SLSA للتحقق من الإثبات.
مثال على الاستخدام لمعمارية darwin_arm64 للإصدار v0.1.6:
VERSION=0.1.6
ARCH=darwin_arm64
./slsa-verifier verify-artifact --source-branch main --builder-id 'https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v1.2.2' --source-uri "git+https://github.com/Legit-Labs/legitify" --provenance-path multiple.intoto.jsonl ./legitify_${VERSION}_${ARCH}.tar.gz
SCM_TOKEN=<your_token> legitify analyze
بشكل افتراضي، سيتحقق legitify من السياسات ضد جميع مواردك (المنظمات، المستودعات، الأعضاء، الإجراءات). يتم تخطي المستودعات المؤرشفة.
يمكنك التحكم في الموارد التي سيتم تحليلها باستخدام أعلام سطر الأوامر --namespace و --org:
--namespace (-n): سيحلل السياسات المتعلقة بالموارد المحددة--org: سيحدد التحليل لمنظمات GitHub أو مجموعة GitLab المحددة، مع استبعاد المستودعات المؤرشفة--repo: سيحدد التحليل للمستودعات المحددة في GitHub أو مشاريع GitLab--scm: يحدد منصة إدارة الكود المصدري. القيم الممكنة: github أو gitlab. القيمة الافتراضية: github. يرجى ملاحظة: عند التشغيل على GitLab، يجب استخدام --scm gitlab.--enterprise: سيحدد المؤسسات التي يجب تحليلها. يرجى ملاحظة: لتحليل مؤسسة، يجب تقديم معرف المؤسسة (slug).SCM_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
الأمر أعلاه سيختبر سياسات المنظمة والأعضاء ضد org1 و org2.
SCM_TOKEN=<your_token> OPENAI_TOKEN=<token> ./legitify gpt-analysis --repo org1/repo1 --org org1
تحليل قائم على GPT-3 للموقف الأمني للمستودع أو المنظمة المقدمة.
ملاحظة: يتم إرسال بيانات المستودع/المنظمة إلى خوادم OpenAI.
الأعلام:
--org: سيحدد التحليل لمنظمات GitHub أو مجموعة GitLab المحددة--repo: سيحدد التحليل للمستودعات المحددة في GitHub أو مشاريع GitLab--scm: يحدد منصة إدارة الكود المصدري. القيم الممكنة: github أو gitlab. القيمة الافتراضية: github.--token: رمز مميز لـ SCM (أو تعيين متغير البيئة SCM_TOKEN)--openai-token: رمز مميز لواجهة OpenAI API (أو تعيين متغير البيئة OPENAI_TOKEN)يجب تقديم إما --org أو --repo أو كليهما.
توليد رمز OpenAI:
يمكنك أيضًا تشغيل legitify كإجراء GitHub Action في سير العمل الخاصة بك، انظر دليل action_examples للحصول على أمثلة عملية.
-t) أو كمتغير بيئة (SCM_TOKEN).
يحتاج PAT إلى النطاقات التالية للتحليل الكامل:admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
انظر إنشاء رمز وصول شخصي لمزيد من المعلومات.
الرموز المميزة للوصول الشخصي ذات التفاصيل الدقيقة غير مدعومة حاليًا.
يمكنك تشغيل legitify ضد مثيل GitHub Enterprise Server إذا قمت بتعيين URL نقطة النهاية في متغير البيئة SERVER_URL:
export SERVER_URL="https://github.example.com/"
SCM_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
-t) أو كمتغير بيئة (SCM_TOKEN).
يحتاج PAT إلى النطاقات التالية للتحليل الكامل:
read_api, read_user, read_repository, read_registry
انظر إنشاء رمز وصول شخصي لمزيد من المعلومات.--scm gitlab، وللتشغيل ضد GitLab Server، تحتاج أيضًا إلى توفير SERVER_URL:export SERVER_URL="https://gitlab.example.com/"
SCM_TOKEN=<your_token> legitify analyze --namespace organization --scm gitlab