Title: एका AI कोडिंग असिस्टंट सेशनचे सप्लाय चेन अटॅक मध्ये रूपांतर झाले

Mandiant च्या ताज्या केस स्टडीनुसार, एका हायजॅक केलेल्या AI कोडिंग-असिस्टंट सेशनमुळे हल्लेखोराला सॉफ्टवेअर कंपनीच्या कोडबेसमध्ये एक पॉइझन्ड पॅकेज (poisoned package) इंजेक्ट करता आले. यामुळे १०० अंतर्गत रिपॉझिटरीज (repositories) धोक्यात आल्या, GitHub OAuth टोकन्स चोरीला गेले आणि सोर्स कोड व सिक्रेट्स (secrets) बाहेर काढले गेले. या घुसखोरीमुळे हे सिद्ध होते की डेव्हलपर्सनी AI द्वारे सुचवलेले पर्याय सुरक्षित कोड मानून चालणार नाही.

काय घडले

एका लाईव्ह डेव्हलपमेंट सेशन दरम्यान, हल्लेखोराने टीमच्या एडिटरमध्ये असलेल्या AI असिस्टंटवर ताबा मिळवला. त्यानंतर, त्या बाधित असिस्टंटने एक घातक (malicious) पॅकेज सुचवले. डेव्हलपरने त्या टूलवर विश्वास ठेवून, कोणतीही अतिरिक्त तपासणी न करता ते सुचवलेले पॅकेज स्वीकारले.

त्या पॉइझन्ड पॅकेजमुळे वर्कस्टेशनवर साठवलेले GitHub OAuth टोकन्स चोरणारा एक 'इन्फोस्टीलर' (infostealer) सक्रिय झाला. त्या टोकन्सचा वापर करून, हल्लेखोराने “Shai-Hulud” वॉर्म (worm) तैनात केला, ज्याने स्वतःची प्रत १०० अंतर्गत रिपॉझिटरीजमध्ये कॉपी केली. या घातक कोडमध्ये कंपनीचा स्वतःचा नेमस्पेस (namespace) असल्याने, नंतर तेच पॅकेज वापरणाऱ्या इतर डेव्हलपर्सनाही संसर्ग झाला.

हे महत्त्वाचे का आहे

AI कोडिंग असिस्टंट्स प्रोजेक्ट फाइल्स वाचू शकतात, इन्स्टॉल कमांड्स जनरेट करू शकतात, डिपेंडन्सी मॅनिफेस्ट्स (dependency manifests) एडिट करू शकतात आणि अगदी टर्मिनल कमांड्स देखील चालवू शकतात. प्रवेशाची ही व्याप्ती त्यांना सप्लाय-चेन अटॅक्ससाठी एक आकर्षक माध्यम बनवते. जेव्हा एखादा डेव्हलपर अनोळखी व्यक्तीच्या सल्ल्यापेक्षा AI च्या सुचवणीवर जास्त विश्वास ठेवतो, तेव्हा हल्लेखोराचे काम सोपे होते: असिस्टंट शांतपणे असा घातक कोड टाकू शकतो जो अगदी वैध वाटतो.

सप्लाय-चेन अटॅक्समुळे हल्लेखोर संस्थेच्या कोडबेसमध्ये शिरकाव करू शकतात, क्रेडेंशियल्स (credentials) चोरू शकतात आणि मालकीची मालमत्ता (proprietary assets) बाहेर काढू शकतात—आणि हे सर्व नुकसान होईपर्यंत पीडित व्यक्तीला याची कल्पनाही येत नाही.

हल्ला कसा झाला

  1. सेशन हायजॅक (Session hijack) – हल्लेखोराने सुरू असलेल्या AI-असिस्टंट सेशनवर ताबा मिळवला.
  2. पॉइझन्ड शिफारस (Poisoned recommendation) – बाधित असिस्टंटला एक घातक पॅकेज सुचवण्यासाठी भाग पाडले गेले.
  3. डेव्हलपरने स्वीकारणे (Developer acceptance) – AI च्या शिफारसीवर विश्वास ठेवून, डेव्हलपरने ते पॅकेज जोडले आणि जनरेट केलेली इन्स्टॉल कमांड चालवली.
  4. पेलोड एक्झिक्युशन (Payload execution) – त्या पॅकेजने एक इन्फोस्टीलर इन्स्टॉल केला, ज्याने स्थानिक GitHub OAuth टोकन्स आणि इतर सिक्रेट्स वाचले.
  5. वॉर्म प्रसार (Worm propagation) – चोरी केलेल्या टोकन्सचा वापर करून, हल्लेखोराने Shai-Hulud वॉर्म तैनात केला, जो १०० अंतर्गत रिपॉझिटरीजमध्ये पसरला.
  6. डेटा चोरी (Exfiltration) – सोर्स कोड, अंतर्गत लायब्ररीज आणि सिक्रेट कीज हल्लेखोराच्या इन्फ्रास्ट्रक्चरकडे वळवण्यात आल्या.

डेव्हलपर्स आता काय करू शकतात

प्रत्येक AI सुचवलेल्या गोष्टीला 'अविश्वासार्ह कोड' (untrusted code) म्हणून पहा. कोणत्याही थर्ड-पार्टी डिपेंडन्सीसाठी तुम्ही ज्या पडताळणी पायऱ्या वापरता, त्याच पायऱ्या येथेही लागू करा.

  • पॅकेजची पडताळणी करा (Validate the package)

    • अधिकृत डॉक्युमेंटेशन आणि व्हर्जन हिस्ट्री तपासा.
    • प्रकाशकाची ओळख आणि प्रतिष्ठा निश्चित करा.
    • सोर्स रिपॉझिटरी आणि अलीकडील कमिट्स (commits) तपासा.
    • अनपेक्षित लिंक्ससाठी संपूर्ण डिपेंडन्सी ट्री (dependency tree) तपासा.
    • कोणत्याही इन्स्टॉल स्क्रिप्टमध्ये लपलेल्या कमांड्स आहेत का, याची बारकाईने तपासणी करा.
  • क्रेडेंशियल हाताळणी अधिक सुरक्षित करा (Harden credential handling)

    • प्रत्येक टोकनला शक्य तितकी कमी परवानगी द्या.
    • दीर्घकाळ टिकणाऱ्या टोकन्सऐवजी अल्पकाळ टिकणाऱ्या (short-lived) टोकन्सना प्राधान्य द्या.
    • प्रोडक्शन सिक्रेट्स स्थानिक डेव्हलपमेंट मशीन्सवर ठेवू नका.
    • एडिटर एक्सटेंशन्सना त्यांच्या गरजेव्यतिरिक्त इतर क्रेडेंशियल्समध्ये प्रवेश करण्यापासून प्रतिबंधित करा.
  • संशयास्पद घुसखोरी झाल्यास प्रतिसाद द्या (Respond to a suspected breach)

    • बाधित वातावरण (environment) त्वरित वेगळे करा; केवळ node_modules किंवा तत्सम डिरेक्टरीज डिलीट करणे पुरेसे नाही.
    • सर्व GitHub, npm, PyPI आणि क्लाउड क्रेडेंशियल्स बदलून (rotate) घ्या.
    • अनपेक्षित कमिट्स किंवा पुल-रिक्वेस्ट मर्जसाठी रिपॉझिटरीच्या हालचालींचे ऑडिट करा.
    • असामान्य वर्तनासाठी CI/CD लॉग्स आणि Git-hook स्क्रिप्ट्स तपासा.

भविष्याचा वेध

AI असिस्टंट्स अनेक डेव्हलपर्ससाठी उत्पादकता वाढवण्याचे साधन म्हणून कायम राहतील, परंतु त्यांच्या शक्तीसोबत विश्वासाची किंमतही येते. कोणत्याही बाह्य लायब्ररीप्रमाणेच, संस्थांनी AI द्वारे तयार केलेला कोड सध्याच्या सुरक्षा पुनरावलोकन पाइपलाइनमध्ये (security review pipelines) समाविष्ट केला पाहिजे. ऑटोमेटेड पॉलिसी चेक, साइन केलेले AI-असिस्टंट आउटपुट्स आणि रनटाइम सँडबॉक्सिंग (runtime sandboxing) यामुळे शांतपणे होणाऱ्या घुसखोरीचा धोका कमी होऊ शकतो.

Mandiant च्या या प्रकरणावरून हे स्पष्ट होते की, एकदा का AI असिस्टंट बाधित झाला की, हल्लेखोराला सॉफ्टवेअर सप्लाय चेनमध्ये थेट प्रवेश मिळतो. AI च्या शिफारसींना 'फ्री पास' न मानता, त्यांना 'थ्रेट मॉडेल'चा (threat model) एक भाग म्हणून पाहणे कोडबेस सुरक्षित ठेवण्यासाठी आवश्यक असेल.

थोडक्यात: AI द्वारे सुचवलेली शिफारस इतर कोणत्याही थर्ड-पार्टी कोडपेक्षा अधिक विश्वासार्ह नसते. त्याची काटेकोरपणे पडताळणी करा, मर्यादा निश्चित करा आणि त्यावर लक्ष ठेवा, अन्यथा एक उपयुक्त असिस्टंट मोठ्या प्रमाणावरील सप्लाय-चेन ब्रीचचे माध्यम बनण्याचा धोका निर्माण होऊ शकतो.