Transcript
00:00:00قبل بضعة أشهر وعلى هذه القناة تحديدًا، نشرنا مقطع فيديو وصفنا فيه Homebrew
00:00:05بأنه أداة من العصر الحجري نستخدمها بينما يتفوق عليه Nix بمراحل. لذا من العدل تمامًا
00:00:12أن أعود إليكم هنا لأخبركم بهذا: تلك الأداة التي اعتبرناها من العصر الحجري قد أطلقت للتو أول
00:00:17إصدار رئيسي لها منذ سنوات، وهو Homebrew 6.0. وإليكم الخبر الأهم: العنوان الرئيسي ليس مجرد مجموعة من
00:00:23الميزات الجديدة، بل إعادة هيكلة أمنية شاملة. لقد نضج Homebrew أخيرًا.
00:00:30دعوني أشرح لكم ما الذي تغير بالفعل، لأن الأمر أكثر إثارة من مجرد تغيير رقم الإصدار.
00:00:38على مدى تاريخ Homebrew بأكمله تقريبًا، عندما كنت تضيف “Tap” من طرف خارجي (مستودع حزم لشخص آخر)،
00:00:45كان Homebrew يشغل كود Ruby الخاص بهم دون تردد. كان ينفذ أكوادهم ببساطة. أي Tap،
00:00:51وأي كود عشوائي، دون طرح أي أسئلة تقريبًا. الآن، فكروا في العالم الذي نعيش فيه اليوم.
00:00:56مديرو الحزم هم الهدف الأول لهجمات سلاسل التوريد في الوقت الحالي. NPM وغيره
00:01:01يتعرضون للضربات مرارًا وتكرارًا. لذا فإن تشغيل أي كود يقدمه لنا المستودع هو إعداد افتراضي سيئ. وميزة
00:01:08Homebrew 6.0 جاءت للقضاء على ذلك، وتسمى “Tap Trust”. إذا كنتم تستمتعون بنصائح وحيل البرمجة هذه،
00:01:15احرصوا على الاشتراك، فلدينا مقاطع فيديو تصدر باستمرار. ولكن دعوني أبدأ بالجزء الذي
00:01:19ستشعرون به يوميًا: أمر Brew version. ها هو، 6.0. والآن انتبهوا لما يحدث عندما أقوم بتثبيت
00:01:25شيء يتطلب بعض التبعيات. بدلاً من القيام بذلك بصمت، يعرض Brew الآن
00:01:31ملخصًا لجميع العناصر التي يوشك على تثبيتها وينتظر مني الموافقة. هذا هو وضع Ask الجديد،
00:01:38وهو مفعّل افتراضيًا للمطورين الآن. تغيير بسيط، لكنه يعني أنك سترى الخطة دائمًا قبل أن يمس Brew
00:01:44أي شيء على جهازنا. والآن إلى الميزة الكبرى: Tap Trust. انظروا ماذا يحدث عندما أضيف Tap من طرف خارجي.
00:01:50يوقفني Homebrew تمامًا. ويقول إن هذا الـ Tap غير موثوق به بعد، ولن ينفذ سطرًا واحدًا من الكود
00:01:56حتى أمنحه الثقة صراحةً. أنحه الثقة عمداً باستخدام أمر Brew Trust، وعندها فقط يبدأ في
00:02:03التنفيذ بالفعل. الـ Taps الرسمية لـ Homebrew موثوقة تلقائيًا. لذا فإن تجربتك المعتادة في التثبيت
00:02:09ستبقى كما هي تمامًا. لكن هذا الـ Tap المشبوه من شخص غريب على GitHub وجدته في ملف readme،
00:02:16أصبح الآن يشبه بابًا مغلقًا؛ يتوجب عليك الموافقة عليه بنفسك. وبصراحة،
00:02:20هذا قرار ممتاز للغاية في هذه المرحلة. وتلك ليست الترقية الحقيقية الوحيدة هنا.
00:02:25نظام البيانات الوصفية الداخلي أصبح هو الافتراضي الآن، مما يعني أن جميع معلومات الحزم تنزل في
00:02:30تنزيل واحد نظيف بدلاً من عشرات الطلبات الشبكية الصغيرة. لذا فإن أمر Brew update أصبح أسرع بكثير. وهناك
00:02:37أمر جديد تمامًا هو Brew execute، والذي يعتبر بمثابة NPX لـ Homebrew. يتيح لك تشغيل أداة مرة واحدة دون
00:02:45تثبيتها بشكل دائم على نظامك. كما يوجد أمر Brew vulns، الذي يفحص الحزم المثبتة لديك بالفعل
00:02:51مقارنة بالمشاكل الأمنية والتنبيهات المعروفة. وقد أصلح الإصدار 6.0 بصمت ثلاث ثغرات أمنية، بما فيها ثغرة كان يمكنها
00:02:58تشغيل الكود بصلاحيات root من خلال حزمة تثبيت Mac. هذا إصدار ذو بنية قوية بحق. حسناً، والآن إليكم
00:03:04العقبة في كل هذا. وللبعض منكم، قد تكون عقبة كبيرة. لذا سأوضحها لكم مباشرة.
00:03:09خاصية Tap trust تُعد تغييرًا جذريًا قد يكسر التوافق. إذا كان لديك أنابيب CI تعتمد على Taps من طرف خارجي،
00:03:14فإن أمر Brew doctor سيعطي خطأً بمجرد اكتشاف Tap غير موثوق. وعدد كبير من إجراءات GitHub القياسية
00:03:20تشغل Brew doctor كخطوة أولى أساسية. لذلك، عندما قام الناس بالترقية، بدأت عمليات البناء تفشل فورًا.
00:03:28والحل هو تحديد تلك الـ Taps كـ موثوقة في إعداداتك، ولكن يتعين عليك القيام بذلك بنفسك.
00:03:35فلن يقوم أحد بذلك نيابة عنك. والقضية ذاتها تنطبق على وضع Ask. إذا كانت لديك سكربتات تفترض ضمناً
00:03:41أن Brew يثبت بدون سؤال، فإن مطالبة التأكيد الجديدة قد تجعلها معلقة إلى الأبد. وبالنسبة للمظهر العام ككل،
00:03:46إذا كنت مستخدمًا عاديًا تثبت التطبيقات يوميًا، فلن تلاحظ فرقًا كبيرًا.
00:03:51فهذا إصدار يستهدف الأمان والبنية التحتية، وليس مجرد تحسينات سطحية للمظهر. وهناك خرافة سريعة هنا أيضًا.
00:03:58كثير من الأشياء يتم إعادة كتابتها بلغة Rust. ولكن لا، Homebrew لا تتم إعادة كتابته بلغة Rust،
00:04:04على الأقل ليس الآن. كان ذلك مجرد تجربة. فالتركيز عاد تمامًا إلى قاعدة كود Ruby كما
00:04:10كانت دائمًا. إذًا، هل ينبغي عليك الترقية إلى Homebrew 6.0؟ بالنسبة للجميع تقريبًا، الإجابة هي نعم.
00:04:16ستحصل على ثلاثة إصلاحات أمنية، وبصراحة، فإن أمر Brew update سينقلك إلى الإصدار 6.0
00:04:22سواء خططت لذلك أم لا. أما الأشخاص الذين قد يحتاجون إلى التمهل قليلاً هنا، فهم
00:04:27أي شخص يدير أنابيب CI تتعامل مع Taps من أطراف خارجية أو أتمتة تتوقع تثبيتًا صامتًا. قم بمعالجة تلك
00:04:33أولاً وستكون في أمان. وإذا كنت لا تزال تستخدم جهاز Mac بمعالج Intel، فانتبه: الإصدار 6.0 يوضح الجدول الزمني
00:04:40لإنهاء دعم أجهزة Intel خلال العامين المقبلين. أما مستخدمو Apple Silicon، في الأجهزة الحديثة،
00:04:46فنحن في أمان تام. حتى إنه يضيف دعمًا لشرائح M5 الجديدة. وإليكم كيف أود اختتام هذا الموضوع.
00:04:53لسنوات طويلة، كان Homebrew مجرد أداة مريحة إن صح التعبير، أسرع طريقة لتنزيل البرامج على جهاز
00:04:59Mac. ولكن مع الإصدار 6.0، يبدو أنه تحول إلى نقطة تفتيش، مكان يتعين فيه على الكود
00:05:05القادم إلى الجهاز أن يثبت أخيرًا أنه موثوق. هذه خطوة كبيرة. لقد تدارك مدير الحزم
00:05:10نموذج التهديدات الأمنية الذي كنا نعيش في ظله جميعًا لسنوات. هذا هو الجوهر الحقيقي
00:05:15هنا، وليس مجرد رقم الإصدار 6.0 أو 6.1، بل ما جاء معه. إذا كنتم تستمتعون بنصائح وحيل البرمجة
00:05:21كهذه، احرصوا على الاشتراك في قناة BetterStack. نراكم في فيديو آخر.