
أداة سطر أوامر لتحليل قدرات حزم Go من خلال تتبع الاستدعاءات المتعدية لعمليات المكتبة القياسية المميزة، مما يتيح تقييم مخاطر سلسلة التوريد وتطبيق مبدأ الامتيازات الأقل.

Capslock هي أداة واجهة سطر أوامر لتحليل إمكانيات الحزم في لغة Go، تتيح للمستخدمين معرفة العمليات المميزة التي يمكن لحزمة معينة الوصول إليها. يعمل ذلك عن طريق تصنيف إمكانيات حزم Go من خلال تتبع الاستدعاءات المتعدية إلى عمليات مكتبة قياسية مميزة.
لقد أظهرت الزيادة الأخيرة في هجمات سلسلة التوريد التي تستهدف البرمجيات مفتوحة المصدر أن التبعيات الخارجية لا ينبغي الوثوق بها بشكل مطلق. تشير الإمكانيات إلى الصلاحيات التي تمتلكها الحزمة، ويمكن استخدامها بالتزامن مع إشارات أمنية أخرى لتحديد الكود الذي يتطلب تدقيقًا إضافيًا قبل اعتباره موثوقًا.
يركز التحليل الأمني الحالي بشكل كبير على تحديد الثغرات في الحزم – وهذا هدف مهم نظرًا لمعدل CVEs الجديدة التي يتم تحديدها. ولتكملة هذا التحليل، نقوم بالتنبيه إلى إمكانيات الحزم، مما يعني أننا نحدد الصلاحيات التي تمتلكها الحزمة عبر تبعياتها المتعدية في دوال المكتبة القياسية ذات الوصول المميز.
لهذا العديد من التطبيقات المحتملة، بدءًا من تحديد الغرض من الحزم من خلال النظر إلى الإمكانيات التي تستخدمها، إلى توجيه المراجعات الأمنية إلى مسارات كود أكثر امتيازًا، وحتى التنبيه إلى التغييرات غير المتوقعة في الإمكانيات لوقف تهديدات سلسلة التوريد المحتملة قبل أن تتحول إلى مشكلة.
هذا مدفوع بمبدأ الامتياز الأقل – فكرة أن الوصول يجب أن يقتصر على الحد الأدنى الممكن والعملي. نعتزم تطبيق هذا على تطوير البرمجيات لضمان أن الكود يمكن تحديد نطاقه إلى الحد الأدنى من الإمكانيات المطلوبة لأداء الغرض المقصود منه.
لمعرفة المزيد عن الإمكانيات في تبعياتك، قم بتثبيت Capslock
go install github.com/google/capslock/cmd/capslock@latest
بعد ذلك يمكنك تشغيل Capslock عن طريق تنفيذ capslock من مسار الحزم التي تريد تحليلها.
راجع ملف التحذيرات.
راجع ملف المساهمة.