
DepAlert هو بوابة أمان مفتوحة المصدر لخط أنابيب CI/CD الخاص بك. يقوم بتحليل SBOMs مقابل بيانات استخبارات البرمجيات الخبيثة ويخبرك بسرعة ما إذا كان بناؤك يتضمن حزمًا ضارة معروفة.
هذه الأداة هي جزء من منصة CTWall. انظر: CTWall
DepAlert هي بوابة أمان مفتوحة المصدر لخط أنابيب CI/CD الخاص بك. تقوم بتحليل قوائم مكونات البرمجيات (SBOMs) مقابل بيانات استخبارات البرمجيات الخبيثة وتخبرك بسرعة ما إذا كان بناؤك يحتوي على حزم ضارة معروفة.
تحل DepAlert مشاكل أساسية في سلسلة توريد البرمجيات تؤثر مباشرة على سرعة الإصدار والمخاطر والتكلفة:
MALWARE، CLEAN، UNKNOWN) في كل تشغيل لخط الأنابيب.fail-on) وسير عمل استثنائي قابل للتدقيق.انظر 00_quick_start.md للحصول على إرشادات خطوة بخطوة.
depalert هي واجهة سطر أوامر (CLI) لـ CI/CD تقوم بما يلي:
POST /api/v1/ingest)GET /api/v1/tests/{testId}/revisions/{revisionId}/depalert-verdict)الأداة محددة بنطاق المشروع. يمكنك تحديد المشروع المستهدف عن طريق:
project-id (معرف فريد UUID)، أوproject-name (يتم حله عبر API).إذا تم توفير كلاهما، فإن project-id له الأسبقية.
ترجع DepAlert نتائج مراجعة واحدة:
CLEAN - لم يتم اكتشاف أي برمجية خبيثة - رمز الخروج 0MALWARE - تم اكتشاف برمجية خبيثة واحدة على الأقل في المراجعة - رمز الخروج 1UNKNOWN - لم يكتمل التحليل بعد - رمز الخروج 2 (أو رمز الخروج 0 مع fail-on=NONE)تنسيق إخراج CLI:
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
الوضع JSON متاح عبر --format json (أو CTWALL_OUTPUT=json).
مثال على إخراج JSON:
{
"version": "1.1.0",
"status": "success",
"exitCode": 0,
"projectId": "28e241e3-b924-4e1a-abc2-d592e8dd811c",
"testId": "13271a70-cf47-4f3b-9e33-cb41ed0c793e",
"revisionId": "c4d1f1a4-c018-488e-9dd0-6cfdbed83bf3",
"verdict": "CLEAN",
"malwareComponents": 0,
"cleanComponents": 12,
"unknownComponents": 0,
"totalComponents": 12,
"elapsedMs": 1842,
"timedOut": false,
"failOn": "MALWARE",
"message": "depalert completed"
}
VERDICT: <MALWARE|CLEAN|UNKNOWN> (malware=<n> clean=<n> unknown=<n> total=<n>, elapsed=<t>)
0 = نجاح1 = فشل في السياسة أو خطأ في وقت التشغيل2 = الحكم النهائي هو UNKNOWN وfail-on ليس NONEproject-id أو project-name.project-name باستخدام GET /api/v1/projects.https للمضيفات غير المحلية.--allow-insecure، أوCTWALL_ALLOW_INSECURE=true.--skip-tls-verify، أوCTWALL_SKIP_TLS_VERIFY=true.يرجى الاطلاع على
DepAlert مرخصة بموجب رخصة BSD 3-Clause
| العلم | متغير البيئة | مطلوب | الافتراضي | الوصف |
|---|
--url | CTWALL_API_URL | نعم | http://localhost:8080 | عنوان URL لواجهة برمجة تطبيقات CTWall |
--key | CTWALL_API_KEY | لا | فارغ | رمز API (Authorization: Bearer ...) |
--project-id | CTWALL_PROJECT_ID | شرطي | لا شيء | UUID المشروع المستهدف (له أولوية على project-name) |
--project-name | CTWALL_PROJECT_NAME | شرطي | لا شيء | اسم المشروع المستهدف (يتم حله إلى UUID عبر API) |
--file | CTWALL_SBOM_FILE (أو القديم SBOM_FILE) | نعم | لا شيء | مسار ملف SBOM |
--product | CTWALL_PRODUCT | نعم | لا شيء | اسم المنتج |
--scope | CTWALL_SCOPE | نعم | لا شيء | اسم النطاق |
--test | CTWALL_TEST | نعم | لا شيء | اسم الاختبار |
--fail-on | CTWALL_FAIL_ON | لا | MALWARE | قائمة الأحكام بتنسيق CSV: MALWARE,CLEAN,UNKNOWN أو NONE |
--ignore-file | CTWALL_IGNORE_FILE | لا | depalert.ignore | ملف استثناءات YAML اختياري لتجاوز الحكم المحلي + تحديثات التصنيف |
--format | CTWALL_OUTPUT | لا | text | تنسيق الإخراج: text أو json |
--timeout-seconds | CTWALL_WAIT_TIMEOUT_SECONDS | لا | 180 | مهلة الانتظار المتزامن بالثواني |
--allow-insecure | CTWALL_ALLOW_INSECURE | لا | false | السماح بـ HTTP للمضيفات غير المحلية |
--skip-tls-verify | CTWALL_SKIP_TLS_VERIFY | لا | false | تخطي التحقق من شهادة TLS لـ HTTPS (غير آمن، للاختبار فقط) |