Homebrew 6.0 ने Mac में सॉफ्टवेयर इंस्टॉल करने का तरीका पूरी तरह बदल दिया है

BBetter Stack
Computing/SoftwareInternet Technology

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 के पूरे जीवनकाल के दौरान, जब आप कोई थर्ड-पार्टी टैप यानी किसी और की
00:00:45पैकेज रिपॉजिटरी जोड़ते थे, तो Homebrew बस उनके Ruby कोड को चला देता था। वह बस उनके कोड को एग्जीक्यूट कर देता था। कोई भी टैप,
00:00:51बिना कोई सवाल पूछे, कोई भी अनधिकृत कोड चला सकता था। अब, ज़रा उस दुनिया के बारे में सोचिए जिसमें हम अभी हैं।
00:00:56पैकेज मैनेजर इस समय सप्लाय चेन हमलों के सबसे बड़े शिकार हैं। NPM और बाकी सभी
00:01:01पर बार-बार हमले हो रहे हैं। “रिपॉजिटरी जो भी कोड दे, उसे बस चला दो” एक ख़राब डिफ़ॉल्ट है। और Homebrew
00:01:086.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। देखिए जब मैं कोई थर्ड-पार्टी टैप जोड़ता हूँ।
00:01:50Homebrew मुझे तुरंत रोक देता है। यह कहता है कि इस टैप पर अभी भरोसा नहीं है, और यह इसके कोड की एक भी लाइन तब तक नहीं चलाएगा
00:01:56जब तक कि मैं खुद ऐसा न कहूँ। मैं 'Brew Trust' का इस्तेमाल करके जानबूझकर इस पर भरोसा करता हूँ, और केवल तभी यह असल में
00:02:03एग्जीक्यूट होता है। ऑफिशियल Homebrew टैप्स पर तो शुरुआत से ही भरोसा होता है। इसलिए आपका सामान्य Brew इस्तेमाल का अनुभव
00:02:09बिल्कुल वैसा ही रहेगा। लेकिन GitHub पर किसी अनजान व्यक्ति का वह थोड़ा संदिग्ध टैप जो आपको किसी readme में मिला था,
00:02:16अब वह एक बंद दरवाज़े की तरह है। आपको उसे खुद मंज़ूरी देनी होगी। और ईमानदारी से कहें तो,
00:02:20इस मोड़ पर यह एक काफी अच्छा फैसला है। और यही इकलौता बड़ा अपडेट नहीं है।
00:02:25इंटरनल मेटाडेटा सिस्टम अब डिफ़ॉल्ट बन गया है, जिसका मतलब है कि आपकी पैकेज जानकारी दर्जनों छोटी-छोटी नेटवर्क रिक्वेस्ट के बजाय
00:02:30एक ही साफ-सुथरे डाउनलोड में आ जाती है। इसलिए Brew update अब काफी तेज़ हो गया है। एक
00:02:37बिल्कुल नया कमांड है, Brew execute, जो मूल रूप से Homebrew के लिए NPX की तरह है। किसी टूल को अपने सिस्टम में हमेशा के लिए
00:02:45इन्स्टॉल किए बिना एक बार चलाएं। इसके अलावा Brew vulns भी है, जो आपके पहले से इंस्टॉल किए गए पैकेजों को
00:02:51ज्ञात सुरक्षा कमियों और चेतावनियों के खिलाफ स्कैन करता है। और 6.0 ने चुपचाप तीन सुरक्षा खामियों को ठीक कर दिया है, जिसमें एक ऐसी खामी भी शामिल थी जो Mac इंस्टॉलर पैकेज के जरिए
00:02:58root के रूप में कोड चला सकती थी। यह वाकई एक मजबूत रिलीज़ है। ठीक है। अब इन सब के साथ एक पेंच भी है।
00:03:04और आपमें से कुछ लोगों के लिए, यह एक बड़ी समस्या हो सकती है। तो मैं सीधे आपको यह बता देता हूँ।
00:03:09Tap trust एक ऐसा बदलाव है जो पुरानी चीज़ों को प्रभावित कर सकता है। अगर आपके पास CI पाइपलाइन हैं जो थर्ड-पार्टी टैप्स पर निर्भर हैं,
00:03:14तो Brew doctor अब किसी गैर-भरोसेमंद टैप को देखते ही एरर दे देता है। और मानक GitHub actions की
00:03:20एक बड़ी संख्या अपने पहले कदम के रूप में Brew doctor चलाती है। इसलिए जैसे ही लोगों ने अपग्रेड किया, उनके बिल्ड फेल होने लगे।
00:03:28इसका समाधान यह है कि अपने कॉन्फ़िगरेशन में उन टैप्स को 'trusted' के रूप में मार्क करें, लेकिन यह आपको खुद ही करना होगा।
00:03:35कोई और आपके लिए यह नहीं करने वाला। Ask मोड की भी यही कहानी है। अगर आपके पास ऐसे स्क्रिप्ट्स हैं जो यह मानकर चलते थे कि
00:03:41Brew बिना पूछे इंस्टॉल कर देगा, तो वह नया प्रॉम्प्ट उन्हें हमेशा के लिए अटका सकता है। अब पूरे बदलाव की बात करें तो,
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 चला रहे हैं जो थर्ड-पार्टी टैप्स या ऐसे ऑटोमेशन का उपयोग करता है जो साइलेंट इंस्टॉल की उम्मीद करते हैं। पहले उन्हें संभालें,
00:04:33फिर आप बिल्कुल सुरक्षित हैं। और अगर आप अभी भी Intel Mac पर हैं, तो ध्यान दें। 6.0 अगले कुछ वर्षों में
00:04:40Intel सपोर्ट को समाप्त करने की समयरेखा स्पष्ट करता है। Apple Silicon वाले लोग, जिनके पास नए कंप्यूटर हैं,
00:04:46हम बिल्कुल ठीक हैं। यह नए M5 चिप्स के लिए भी सपोर्ट जोड़ता है। मैं इसे इस तरह समाप्त करना चाहूँगा।
00:04:53सालों से, Homebrew कम से कम इतना तो था ही कि Mac पर सॉफ्टवेयर पाने का सबसे आसान और तेज़ तरीका था।
00:04:596.0 के साथ, ऐसा लगता है कि यह एक चेकपॉइंट में बदल गया है, एक ऐसी जगह जहाँ मशीन पर आने वाले कोड
00:05:05को आखिरकार यह साबित करना होगा कि वह विश्वसनीय है। यह एक बड़ा कदम है। पैकेज मैनेजर
00:05:10सुरक्षा के उन खतरों के अनुकूल ढल गया है जिनका सामना हम बाकी सभी लोग सालों से कर रहे हैं। यही असली बात
00:05:15यहाँ है। बॉक्स पर लिखा नंबर 6.0 या 6.1 नहीं, बल्कि इसके साथ क्या आया है। अगर आप इस तरह के कोडिंग टिप्स और ट्रिक्स
00:05:21का आनंद लेते हैं, तो BetterStack चैनल को सब्सक्राइब करना न भूलें। मिलते हैं अगले वीडियो में।

Key Takeaway

Homebrew 6.0 सुरक्षा को प्राथमिक दर्जा देते हुए Tap Trust और Ask मोड पेश करता है, जिससे थर्ड-पार्टी कोड का अनधिकृत निष्पादन रुकता है और स्वचालित CI/CD सेटअप प्रभावित होते हैं।

Highlights

  • Homebrew 6.0 ने स्वचालित निष्पादन के बजाय सुरक्षा और टैप प्रमाणीकरण को प्राथमिकता दी है।

  • नया Tap Trust फीचर उपयोगकर्ताओं की स्पष्ट अनुमति के बिना किसी भी थर्ड-पार्टी टैप के Ruby कोड को निष्पादित करने से रोकता है।

  • नया Ask मोड डेवलपर्स के लिए डिफ़ॉल्ट रूप से चालू है, जो पैकेज इंस्टॉल होने से पहले पूरी योजना का सारांश दिखाता है।

  • Brew update में आंतरिक मेटाडेटा सिस्टम के कारण पैकेज की जानकारी अब कई नेटवर्क अनुरोधों के बजाय एक ही डाउनलोड में आ जाती है।

  • Brew execute कमांड सिस्टम पर बिना स्थाई इंस्टॉल किए किसी टूल को एक बार चलाने की सुविधा देता है।

  • यह अपडेट तीन सुरक्षा खामियों को ठीक करता है, जिसमें एक Mac इंस्टॉलर पैकेज के जरिए root एक्सेस देने वाली भेद्यता भी शामिल है।

  • अविश्वसनीय टैप्स पर Brew doctor के एरर देने के कारण बिना पूर्व-स्वीकृति वाले CI/CD ऑटोमेशन pipelines फेल हो सकते हैं।

Timeline

Homebrew 6.0 में सुरक्षा का नया ढांचा

  • Homebrew 6.0 का मुख्य फोकस नए फीचर्स के बजाय सप्लाय चेन हमलों से सुरक्षा बढ़ाना है।
  • पुराने संस्करणों में थर्ड-पार्टी टैप जोड़ते ही उनके द्वारा दिया गया Ruby कोड बिना किसी सुरक्षा जांच के सीधे निष्पादित हो जाता था।

पैकेज मैनेजर वर्तमान में सप्लाय चेन हमलों के मुख्य लक्ष्य बन गए हैं। रिपॉजिटरी द्वारा भेजे गए किसी भी कोड को बिना जांच के निष्पादित करने का डिफ़ॉल्ट तरीका गंभीर सुरक्षा जोखिम पैदा करता था। Homebrew 6.0 इस असीमित पहुंच को समाप्त करके सुरक्षा-प्रथम मॉडल लागू करता है।

Tap Trust और Ask मोड का कार्यप्रणाली

  • Ask मोड पैकेज इंस्टॉल करने से पहले सभी निर्भरताओं की एक विस्तृत सूची दिखाता है और उपयोगकर्ता से पुष्टि मांगता है।
  • Tap Trust गैर-आधिकारिक टैप्स के निष्पादन को तब तक रोके रखता है जब तक उपयोगकर्ता 'brew trust' कमांड न चलाए।
  • आधिकारिक Homebrew टैप्स डिफ़ॉल्ट रूप से विश्वसनीय बने रहते हैं।

डेवलपर्स के लिए Ask मोड अब डिफ़ॉल्ट रूप से सक्रिय रहता है, जिससे सिस्टम पर किसी भी बदलाव से पहले पूरी योजना देखना अनिवार्य हो जाता है। तृतीय-पक्ष GitHub रिपॉजिटरी से मिले असुरक्षित टैप्स अब स्वतः निष्पादित नहीं हो सकते, जब तक कि उपयोगकर्ता उन्हें मैन्युअल रूप से प्रमाणित न करे।

प्रदर्शन में सुधार और नए कमांड्स

  • एककृत इंटरनल मेटाडेटा सिस्टम नेटवर्क अनुरोधों को घटाकर एक ही डाउनलोड तक सीमित करता है, जिससे Brew update तेज़ हो जाता है।
  • Brew execute टूल को बिना स्थाई रूप से इंस्टॉल किए तुरंत चलाने का विकल्प देता है।
  • Brew vulns स्थापित पैकेजों में ज्ञात सुरक्षा कमियों की जांच करता है।

आंतरिक आर्किटेक्चर के बदलाव से नेटवर्क ओवरहेड में कमी आई है। तीन सुरक्षा खामियों का पैच जारी किया गया है, जिसमें Mac इंस्टॉलर के माध्यम से मिलने वाले रूट स्तर के एक्सेस की भेद्यता भी शामिल है।

CI/CD पाइपलाइन और ऑटोमेशन पर प्रभाव

  • Brew doctor अब किसी भी अमान्य या गैर-भरोसेमंद टैप का पता चलते ही एरर लौटाता है।
  • तृतीय-पक्ष टैप्स पर निर्भर GitHub Actions pipelines स्वचालित रूप से विफल होने लगती हैं।
  • स्वचालित स्क्रिप्ट्स बिना इंटरैक्टिव इनपुट के Ask मोड के प्रॉम्प्ट पर अटक सकती हैं।

जो CI/CD पाइपलाइन अपने पहले चरण में Brew doctor चलाती हैं, वे बिना मैन्युअल ट्रस्ट सेटिंग्स के क्रैश हो जाती हैं। ऑटोमेशन स्क्रिप्ट्स को निर्बाध चलाने के लिए कॉन्फ़िगरेशन फाइलों में संबंधित टैप्स को explicitly 'trusted' मार्क करना आवश्यक है।

कोडबेस भाषा और भविष्य का रोडमैप

  • Homebrew का मुख्य आधार Ruby कोडबेस ही रहेगा; Rust में दोबारा लिखने का विचार केवल एक प्रयोग था।
  • Homebrew 6.0 अगले कुछ वर्षों में Intel Mac सपोर्ट को धीरे-धीरे समाप्त करने की समयरेखा तय करता है।
  • यह अपडेट Apple M5 चिप्स के लिए शुरुआती सपोर्ट जोड़ता है।

सामान्य उपयोगकर्ताओं को इंटरफेस में बदलाव महसूस नहीं होगा, लेकिन यह अपडेट सुरक्षा जांच के एक मजबूत सिस्टम की तरह काम करता है। Intel Mac उपयोगकर्ताओं को भविष्य की समाप्ति समयरेखा पर ध्यान देना होगा, जबकि Apple Silicon प्लेटफॉर्म पर नए प्रोसेसर आर्किटेक्चर के लिए समर्थन जोड़ा गया है।

Community Posts

View all posts