GitHub வெளியிட்டது பல நாட்களுக்கு முன்பு கூடுதலாக ஒரு இயந்திர கற்றல் அமைப்பு சோதனைகள்குறியீடு ஸ்கேனிங் சேவைக்கு பொதுவான வகை பாதிப்புகளை அடையாளம் காண குறியீட்டில். இதனுடன், GitHub இன் CodeQL அடிப்படையிலான குறியீடு பகுப்பாய்வு தொழில்நுட்பம் புதுப்பிக்கப்பட்டு, குறியீட்டில் சாத்தியமான பாதுகாப்பு பாதிப்புகளைக் கண்டறிய இயந்திர கற்றலை (ML) பயன்படுத்துகிறது.
அதுதான் கிட்ஹப் CodeQLக்கான தொழில்நுட்பத்தைப் பெற்றது செம்மி கையகப்படுத்துதலின் ஒரு பகுதியாக. குறியீட்டின் சொற்பொருள் பகுப்பாய்வு செய்ய, பாதுகாப்பு ஆராய்ச்சி குழுக்களால் CodeQL பயன்படுத்தப்படுகிறது, மேலும் GitHub அதை திறந்த மூலமாக்கியது.
இந்த மாதிரிகள் மூலம், CodeQL அதிக நம்பத்தகாத பயனர் தரவு ஸ்ட்ரீம்களை அடையாளம் காண முடியும், எனவே அதிக சாத்தியமான பாதுகாப்பு பாதிப்புகள்.
இயந்திர கற்றல் அமைப்பின் பயன்பாடு, அடையாளம் காணப்பட்ட சிக்கல்களின் வரம்பை கணிசமாக விரிவுபடுத்துவதை சாத்தியமாக்கியுள்ளது, அதன் பகுப்பாய்வில் கணினி இப்போது வழக்கமான வடிவங்களை சரிபார்ப்பதோடு மட்டுப்படுத்தப்படவில்லை மற்றும் அறியப்பட்ட கட்டமைப்போடு பிணைக்கப்படவில்லை.
புதிய அமைப்பால் கண்டறியப்பட்ட சிக்கல்களில், குறுக்கு-தள ஸ்கிரிப்டிங்கிற்கு (XSS), கோப்பு பாதைகளின் சிதைவுக்கு வழிவகுக்கும் பிழைகள் (எடுத்துக்காட்டாக, "/.." குறிப்பால்), SQL மற்றும் NoSQL வினவல்களை மாற்றுதல் ஆகியவை குறிப்பிடப்பட்டுள்ளன.
குறியீடு ஸ்கேனிங் இப்போது புதிய ஆழமான கற்றல் மாதிரியைப் பயன்படுத்துவதன் மூலம் அதிக சாத்தியமான பாதுகாப்பு பாதிப்புகளைக் கண்டறியலாம். இந்த சோதனை அம்சம் GitHub.com இல் JavaScript மற்றும் TypeScript களஞ்சியங்களுக்கான பொது பீட்டாவில் கிடைக்கிறது.
GitHub இன் புதிய கருவி fue இலவச பொது பீட்டாவாக வெளியிடப்பட்டது அனைத்து பயனர்களுக்கும், இந்த அம்சமானது, ஒரு தயாரிப்பு அனுப்பப்படும் முன், குறியீட்டு அடிப்படைகளை ஸ்கேன் செய்யவும், பொதுவான பாதுகாப்பு பாதிப்புகளைக் கண்டறியவும் இயந்திர கற்றல் மற்றும் ஆழமான கற்றலைப் பயன்படுத்துகிறது.
GitHub மேம்பட்ட பாதுகாப்பு அம்சமாக GitHub Enterprise பயனர்கள் உட்பட அனைத்து இயங்குதளப் பயனர்களுக்கும் தற்போது சோதனை அம்சம் கிடைக்கிறது, மேலும் JavaScript அல்லது TypeScript இல் எழுதப்பட்ட திட்டப்பணிகளுக்குப் பயன்படுத்தலாம்.
திறந்த மூல சுற்றுச்சூழலின் விரைவான பரிணாம வளர்ச்சியுடன், குறைவாக அடிக்கடி பயன்படுத்தப்படும் நூலகங்களின் நீண்ட வால் எப்போதும் அதிகரித்து வருகிறது. திறந்த மூல நூலகங்கள் மற்றும் உள்நாட்டில் உருவாக்கப்பட்ட மூடிய மூல நூலகங்களை அடையாளம் காண ஆழ்ந்த கற்றல் மாதிரிகளைப் பயிற்றுவிப்பதற்கு, கைமுறையாக உருவாக்கப்பட்ட CodeQL வினவல்களிலிருந்து எடுத்துக்காட்டுகளைப் பயன்படுத்துகிறோம்.
கருவி நான்கு பொதுவான பாதிப்புகளைக் கண்டறிய வடிவமைக்கப்பட்டுள்ளது இந்த இரண்டு மொழிகளில் எழுதப்பட்ட திட்டங்களை பாதிக்கும்: குறுக்கு-தள ஸ்கிரிப்டிங் (XSS), வழி ஊசி, NoSQL ஊசி மற்றும் SQL ஊசி.
குறியீடு ஸ்கேனிங் சேவையானது, சாத்தியமான சிக்கல்களுக்கு ஒவ்வொரு கிட் புஷ் செயல்பாட்டையும் ஸ்கேன் செய்வதன் மூலம் வளர்ச்சியின் ஆரம்ப கட்டத்தில் பாதிப்புகளைக் கண்டறிய உங்களை அனுமதிக்கிறது.
முடிவு நேரடியாக இழுக்கும் கோரிக்கையுடன் இணைக்கப்பட்டுள்ளது. முன்னதாக, CodeQL இன்ஜினைப் பயன்படுத்தி சோதனை செய்யப்பட்டது, இது பாதிக்கப்படக்கூடிய குறியீட்டின் பொதுவான எடுத்துக்காட்டுகளுடன் வடிவங்களை பகுப்பாய்வு செய்கிறது (CodeQL மற்ற திட்டங்களின் குறியீட்டில் இதேபோன்ற பாதிப்பு இருப்பதைக் கண்டறிய, பாதிக்கப்படக்கூடிய குறியீட்டின் டெம்ப்ளேட்டை உருவாக்க உங்களை அனுமதிக்கிறது).
புதிய பகுப்பாய்வு திறன்களுடன், குறியீடு ஸ்கேனிங் நான்கு பொதுவான பாதிப்பு வடிவங்களுக்கு இன்னும் கூடுதலான விழிப்பூட்டல்களை உருவாக்க முடியும்: கிராஸ்-சைட் ஸ்கிரிப்டிங் (XSS), பாதை ஊசி, NoSQL ஊசி மற்றும் SQL ஊசி. ஒன்றாக, இந்த நான்கு பாதிப்பு வகைகளும் ஜாவாஸ்கிரிப்ட்/டைப்ஸ்கிரிப்ட் சுற்றுச்சூழல் அமைப்பில் உள்ள பல சமீபத்திய பாதிப்புகளை (CVEs) பிரதிநிதித்துவப்படுத்துகின்றன, மேலும் வளர்ச்சிச் செயல்பாட்டின் தொடக்கத்தில் இதுபோன்ற பாதிப்புகளைக் கண்டறிய குறியீடு ஸ்கேனிங்கின் திறனை மேம்படுத்துவது டெவலப்பர்கள் மிகவும் பாதுகாப்பான குறியீட்டை எழுத உதவுவதற்கு முக்கியமாகும்.
புதிய இயந்திர கற்றல் இயந்திரம் முன்பின் தெரியாத பாதிப்புகளை அடையாளம் காண முடியும் ஏனெனில் இது குறிப்பிட்ட பாதிப்புகளை விவரிக்கும் குறியீடு வடிவங்களின் மறு செய்கையுடன் பிணைக்கப்படவில்லை. அத்தகைய வாய்ப்பின் விலையானது, CodeQL அடிப்படையிலான காசோலைகளுடன் ஒப்பிடும்போது தவறான நேர்மறைகளின் எண்ணிக்கையில் அதிகரிப்பு ஆகும்.
இறுதியாக இதைப் பற்றி மேலும் அறிய ஆர்வமுள்ளவர்களுக்கு, நீங்கள் விவரங்களை சரிபார்க்கலாம் பின்வரும் இணைப்பில்.
சோதனை கட்டத்தில், புதிய செயல்பாடு தற்போது ஜாவாஸ்கிரிப்ட் மற்றும் டைப்ஸ்கிரிப்ட் குறியீட்டைக் கொண்ட களஞ்சியங்களுக்கு மட்டுமே கிடைக்கிறது என்பதைக் குறிப்பிடுவது முக்கியம்.