AI குறியீடு உதவியாளர்கள் (AI code assistants) இல்லாத தொகுப்புப் பெயர்களை (package names) வெளியிடுகிறார்கள், மேலும் தாக்குதலாளர்கள் அந்த மாயத்தோற்றங்களை (hallucinations) உண்மையான விநியோகச் சங்கிலி அபாயங்களாக (supply-chain risks) மாற்றுகிறார்கள்.
Lasso Security நிறுவனத்தைச் சேர்ந்த பாதுகாப்பு ஆராய்ச்சியாளர் Bar Lanyado, ஒரு AI சார்ந்த குறியீட்டு கருவியிடம் (AI-driven coding tool) Python client-ஐக் கேட்டபோது, அந்த மாடல் huggingface-cli ஐ நிறுவுமாறு பரிந்துரைத்தது. அந்தத் தொகுப்பு ஒரு மாயத்தோற்றம் (phantom); உண்மையான நூலகம் (library) huggingface_hub என்ற பெயரில் உள்ளது. ஆபத்தை நிரூபிப்பதற்காக, Lanyado அந்தப் போலிப் பெயரை Python Package Index (PyPI)-இல் ஒரு காலியான இடமுப்பயனாக (empty placeholder) பதிவு செய்தார். மூன்று மாதங்களுக்குள், அந்தப் பெயர் 30,000-க்கும் அதிகமான பதிவிறக்கங்களைப் (downloads) பெற்றது, பொது ஆவணங்களில் தோன்றியது மற்றும் Alibaba-வின் களஞ்சியங்களிலிருந்து (repositories) சேகரிக்கப்பட்ட குறியீடு மாதிரிகளிலும் (code samples) காணப்பட்டது.
ஒரு மாயத் தொகுப்பு எவ்வாறு உண்மையான அச்சுறுத்தலாக மாறுகிறது
- Prompt → hallucination – ஒரு மென்பொருள் உருவாக்குநர் (developer) AI-இடம் உதவி கேட்கிறார். இரைச்சல் மிகுந்த இணையத் தரவுகளில் (noisy internet data) பயிற்சி பெற்ற அந்த மாடல், நம்பகமானதாகத் தோன்றும் ஒரு தொகுப்புப் பெயரைத் தானாகவே உருவாக்குகிறது.
- Copy-paste → documentation – அந்தப் பரிந்துரை ஒரு README கோப்பிலோ, Stack Overflow பதிலிலோ அல்லது ஒரு உள் விக்கியிலோ (internal wiki) இடம் பெறுகிறது. ஒருமுறை எழுதப்பட்டவுடன், அந்தப் பெயர் சமூகத்தின் ஊடாகப் பரவுகிறது.
- Code integration – AI-ஐ நம்பும் உருவாக்குநர், அந்தப் பெயரை ஒரு requirements கோப்பிற்குச் சேர்த்து, அதைத் தயாரிப்புச் சூழலுக்கு (production) கொண்டு செல்கிறார்.
இருக்கும் பாதுகாப்பு முறைகள் ஏன் இந்தப் பிரச்சனையைத் தவறவிடுகின்றன
Static analysis கருவிகள் மற்றும் vulnerability scanners ஆகியவை அறியப்பட்ட CVE-கள் மற்றும் வெளியீட்டு வரலாறு கொண்ட நூலகங்களைத் தேடுகின்றன. AI பரிந்துரைக்கும் முன் பதிவிறக்கங்கள் ஏதுமில்லாத, புதிதாக வெளியிடப்பட்ட ஒரு தொகுப்பிற்கு CVE இல்லை, நற்பெயரும் (reputation) இல்லை, எனவே அது பாதுகாப்பானது போலவே தோன்றும். வழக்கமான “இந்த பதிப்பு பாதிப்புக்குள்ளாகக்கூடியதா?” (is the version vulnerable?) என்ற சரிபார்ப்பு தவறான முடிவைத் தருவதால், உருவாக்குநர்களுக்கு ஒரு போலிப் பாதுகாப்பு உணர்வு ஏற்படுகிறது.
இந்தச் சோதனை எதை நிரூபிக்கிறது
- AI-ஆல் உருவாக்கப்பட்ட பெயர்கள் தயாரிப்புச் சூழலைச் சென்றடைகின்றன – 30,000-க்கும் அதிகமான பதிவிறக்கங்கள், உருவாக்குநர்கள் உண்மையில் இந்த மாயத் தொகுப்புகளைப் பயன்படுத்துகிறார்கள் என்பதைக் காட்டுகின்றன.
- மாயத்தோற்றங்கள் ஆவணங்களாக மாறுகின்றன – ஒரு போலிப் பெயர் பொது வழிகாட்டியில் (public guide) ஒருமுறை தோன்றியவுடன், அது நீண்ட காலம் நீடிக்கலாம், மேலும் பிழையைப் பரப்பலாம்.
- பதிவு செய்வது மிகவும் எளிது – PyPI-இல் ஒரு தொகுப்பை வெளியிடுவதற்குச் செலவே இல்லை மற்றும் சில நிமிடங்களே போதும், இது விநியோகச் சங்கிலித் துஷ்பிரயோகத்திற்கான (supply-chain abuse) தடைகளைக் குறைக்கிறது.
உண்மையில் வேலை செய்யக்கூடிய பாதுகாப்பு நடவடிக்கைகள்
- ஒவ்வொரு சார்பையும் (dependency) சரிபார்க்கவும் – ஒரு புதிய தேவையைச் சேர்ப்பதற்கு முன், தொகுப்புத் தரவுத்தளத்தில் (package index) தேடி, அந்தப் பெயர் ஏற்கனவே உள்ள, ஆவணப்படுத்தப்பட்ட நூலகத்துடன் ஒத்துப்போகிறதா என்பதை உறுதிப்படுத்தவும்.
- அதிகாரப்பூர்வ ஆதாரங்களுடன் ஒப்பிட்டுப் பார்க்கவும் – பரிந்துரைக்கப்பட்ட பெயரை விற்பனையாளரின் களஞ்சியம் (vendor’s repository) அல்லது அதிகாரப்பூர்வ நிறுவல் வழிகாட்டலுடன் ஒப்பிட்டுப் பார்க்கவும்.
- குறைந்த பயன்பாடு கொண்ட புதிய தொகுப்புகளை அதிக ஆபத்தானவை எனக் கருதவும் – மிகக் குறைவான பதிவிறக்கங்கள் அல்லது மிக சமீபத்திய வெளியீட்டுத் தேதி கொண்ட எந்தவொரு சார்பையும் கைமுறையாகச் சரிபார்க்க (manual review) குறித்துக் குறிப்பிடவும்.
அடுத்து கவனிக்க வேண்டியவை
இதிலிருந்து நாம் கற்றுக்கொள்ள வேண்டியது எளிது: AI-இன் பரிந்துரை என்பது ஒரு உத்தரவாதம் அல்ல. ஒவ்வொரு புதிய சார்பையும் சரிபார்க்கப்படாத மூன்றாம் தரப்பு அங்கமாக (unvetted third-party component) கருதுங்கள், அதன் மூலத்தை (provenance) சரிபார்க்கவும், ஒரு மாயத் தொகுப்பு தயாரிப்புச் சூழலுக்குள் நுழைவதற்கு முன் விநியோகச் சங்கிலியைக் கண்காணித்துத் தொடரவும்.
