GitHub தனது Copilot டெஸ்க்டாப் செயலியில் ஒரு slash-command scanner-ஐ அறிமுகப்படுத்தியுள்ளது. இது நீங்கள் commit செய்வதற்கு முன்பே, commit செய்யப்படாத குறியீட்டில் (uncommitted code) உள்ள ஐந்து பொதுவான பாதுகாப்பு குறைபாடுகளைச் சரிபார்க்கிறது. இந்த வசதி இலவசத் திட்டத்தைப் பயன்படுத்துவோர் உட்பட அனைத்து Copilot பயனர்களுக்கும் கிடைக்கிறது; இதற்கு ஜூலை 14 தேதியிட்ட செயலியின் அப்டேட் மட்டுமே போதுமானது.

AI மூலம் உருவாக்கப்படும் குறியீட்டுத் துண்டுகள் (snippets) பிழைகளின் மறைமுக ஆதாரமாக உள்ளன. சமீபத்திய ஆய்வின்படி, generative models மூலம் உருவாக்கப்படும் குறியீடுகளில் 45% குறைந்தது ஒரு பாதிப்பைக் (vulnerability) கொண்டுள்ளன; இவை எளிய injection பிழைகள் முதல் பலவீனமான cryptography வரை இருக்கலாம். இத்தகைய சிக்கல்களை உள்ளூரிலேயே (locally) வெளிப்படுத்துவதன் மூலம், டெவலப்பர்கள் அவற்றை CI pipelines-லோ அல்லது மிக மோசமாக production சூழலிலோ கண்டறிவதற்குப் பதிலாக, சில நொடிகளில் சரிசெய்துவிட முடியும் என்று GitHub நம்புகிறது.

இது இப்போது ஏன் முக்கியமானது

டெவலப்பர்கள் நீண்டகாலமாக அடுக்குமுறை பாதுகாப்பு கட்டமைப்பை (layered security stack) நம்பியிருக்கிறார்கள்: Dependabot பாதிப்புள்ள dependencies குறித்து எச்சரிக்கிறது, CodeQL ஆனது CI/CD-இல் ஆழமான static analysis-ஐச் செய்கிறது, மேலும் கைமுறை குறியீடு ஆய்வுகள் (manual code reviews) தர்க்கப் பிழைகளைக் (logic errors) கண்டறிகின்றன. Copilot-இன் புதிய scanner, டெவலப்பரின் கணினியிலேயே இயங்கும் ஒரு முதல் பாதுகாப்பு அரணாகச் செயல்படுகிறது, இதன் மூலம் குறியீடு எடிட்டரிலிருந்து வெளியேறுவதற்கு முன்பே எளிதில் கண்டறியக்கூடிய பிழைகளை (low-hanging fruit) இது கண்டறிகிறது.

இந்த கருவியின் நோக்கம் வேண்டுமென்றே குறுகியதாக வடிவமைக்கப்பட்டுள்ளது. இது பின்வருவனவற்றைத் தேடுகிறது:

  • Injection – SQL, shell அல்லது அது போன்ற command-injection முறைகள்.
  • Cross-site scripting (XSS) – இணைய சூழல்களில் பயனரால் வழங்கப்படும் தரவுகளைப் பாதுகாப்பற்ற முறையில் கையாளுதல்.
  • Insecure data handling – தற்செயலாக ரகசியத் தகவல்களை (secrets) லாக் செய்தல் அல்லது வெளிப்படுத்துதல்.
  • Path traversal – ஒரு குறிப்பிட்ட கோப்பகத்திற்கு (directory) வெளியே உள்ள கோப்புகளை அணுக முயற்சித்தல்.
  • Weak cryptography – காலாவதியான அல்காரிதம்கள் அல்லது hard-coded keys-களைப் பயன்படுத்துதல்.

AI உதவியுடன் குறியீடு எழுதும்போது இத்தகைய தவறுகள் மீண்டும் நிகழ்கின்றன என்று GitHub-இன் உள் ஆய்வு கூறுகிறது. இவற்றை முன்கூட்டியே சுட்டிக்காட்டுவதன் மூலம், scanner ஒரு விரைவான வடிகட்டியாகச் செயல்படுகிறது; இது டெவலப்பர்கள் வெளிப்படையான சிக்கல்களைத் தீர்க்க அனுமதிக்கிறது, அதே நேரத்தில் ஆழமான கட்டமைப்பு ஆய்வுகளை (architectural reviews) ஏற்கனவே உள்ள கருவிகளிடம் விட்டுவிடுகிறது.

இது தற்போதுள்ள பாதுகாப்பு பணிப்பாய்வில் (security workflow) எவ்வாறு பொருந்துகிறது

பாதுகாப்பு கட்டமைப்பை ஒரு படிநிலை (hierarchy) என்று கருதுங்கள்:

  • Copilot slash command – வெளிப்படையான முறைகளைச் சரிபார்க்கும் உள்ளூர் மற்றும் உடனடிச் சோதனை.
  • CodeQL – CI/CD-இல் முழுமையான repository-யிலும் இயங்கும் விரிவான static analysis.
  • Dependabot – அறியப்பட்ட library பாதிப்புகளைக் கண்காணிக்கும் dependency-சார்ந்த scanner.

புதிய Copilot command, CodeQL அல்லது Dependabot-க்கு மாற்றாக அமையாது; இது கண்டறியும் பணியின் ஒரு பகுதியை முன்கூட்டியே (upstream) மாற்றுகிறது. ஒரு டெவலப்பர் இந்த command-ஐ இயக்கும்போது, செயலி தற்போதைய diff-ஐத் தொகுத்து, பகுப்பாய்விற்காக ஒரு remote model-க்கு அனுப்பி, கண்டறியப்பட்டவற்றின் சுருக்கமான பட்டியலைத் திருப்பித் தருகிறது. இது சில நொடிகளிலேயே முடிந்துவிடுவதால், டெவலப்பர் உடனடியாகத் திருத்தி மீண்டும் commit செய்ய முடிகிறது.

இந்த வசதியைப் பயன்படுத்துதல்

  1. Copilot டெஸ்க்டாப் கிளையண்ட்டை ஜூலை 14 வெளியீட்டிற்குப் புதுப்பிக்கவும்.
  2. வழக்கம்போல குறியீட்டு மாற்றங்களைச் செய்யவும்.
  3. Copilot chat பகுதியைத் திறந்து slash command-ஐத் தட்டச்சு செய்யவும் (அதன் சரியான வடிவம் UI-இல் தோன்றும்).
  4. பெறப்பட்ட சாத்தியமான பாதிப்புகளின் பட்டியலைச் சரிபார்க்கவும்.
  5. குறியீட்டைத் திருத்தி commit செய்யவும்.

இந்த பணிப்பாய்வு ஒரு விரைவான lint run போன்றது: இதற்குத் தனிப்பயன் பாதுகாப்பு டேஷ்போர்டு (security dashboard) தேவையில்லை, CI job-க்காகக் காத்திருக்க வேண்டிய அவசியமும் இல்லை.

வரம்புகள் மற்றும் மாற்று வாதம்

இந்த scanner ஒரு உதவியாளர் மட்டுமே, மனிதத் தீர்ப்பு அல்லது ஆழமான சோதனைக்கு மாற்றல்ல என்று GitHub வலியுறுத்துகிறது. இது வடிவமைப்பு நிலை குறைபாடுகள் (design-level flaws), விடுபட்ட அனுமதிகள் (missing permissions) அல்லது பயன்பாட்டின் விரிவான பார்வையைத் தேவைப்படும் சிக்கலான தர்க்கப் பிழைகளைக் கண்டறியாது.

அடுத்து கவனிக்க வேண்டியவை

சுருக்கம்: GitHub-இன் Copilot slash-command scanner ஒவ்வொரு டெவலப்பருக்கும் ஒரு வேகமான, இலவச மற்றும் உள்ளூர் பாதுகாப்பு வடிகட்டியை வழங்குகிறது. இது AI-ஆல் ஏற்படும் பொதுவான பிழைகளை, commit செய்யும் நேரத்தில் தலைவலியாக மாறுவதற்கு முன்பே கண்டறிகிறது. இது ஆழமான பகுப்பாய்விற்கு மாற்றாகாது, ஆனால் குழுக்கள் எளிதான தவறுகளைத் தவிர்க்கவும், அதிக கவனம் தேவைப்படும் பாதுகாப்புப் பணிகளை அவற்றின் சரியான இடமான வடிவமைப்பு மற்றும் ஆய்வின் (design and review) போதே மேற்கொள்ளவும் இது உதவுகிறது.