𝗬𝗼𝘂𝗿 𝗥𝗲𝗽𝗼 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗜𝘀 𝗔𝗻 𝗔𝘁𝘁𝗮𝗰𝗸 𝗦𝘂𝗿𝗳𝗮𝗰𝗲 𝗡𝗼𝘄
AI கோடிங் பாதுகாப்பு என்பது ஒரு மாடல் தவறான குறியீட்டை (code) எழுதுவதைத் தடுப்பதோடு மட்டும் முடிந்துவிடுவதில்லை.
உண்மையான ஆபத்து என்பது, ஒரு ஏஜென்ட் (agent) எழுதுவதற்கு முன்பு அது எதைப் படிக்கிறது என்பதில் உள்ளது. உங்கள் ரெபாசிட்டரி (repository) இனி வெறும் குறியீடுகளுக்கான இடம் மட்டுமல்ல. அது இப்போது AI ஏஜென்ட்களுக்கான ஒரு உள்ளீட்டுத் தொடராக (input stream) உள்ளது.
உங்கள் ரெப்போவில் உள்ள அனைத்தும் ஒரு ஏஜென்ட்டை வழிநடத்தும் பொருளாக மாறக்கூடும்:
- பழைய README கோப்புகள்
- காலாவதியான மைக்ரேஷன் குறிப்புகள் (migration notes)
- காலாவதியான ஆவணங்கள் (documentation)
- மறைக்கப்பட்ட திட்ட மரபுகள் (project conventions)
- உள்ளூர் அறிவுறுத்தல் கோப்புகள் (local instruction files)
- டிபென்டென்சி ஸ்கிரிப்ட்கள் மற்றும் ஷெல் ஹூக்குகள் (dependency scripts and shell hooks)
டெவலப்பர்கள் பெரும்பாலும் இந்த கோப்புகளைப் பாதிப்பற்ற குப்பைகளாகக் கருதுகிறார்கள். ஒரு AI ஏஜென்ட் சமூகச் சூழலைப் (social context) பார்ப்பதில்லை. அது உரை (text), கருவிகள் (tools) மற்றும் வடிவங்களை (patterns) மட்டுமே பார்க்கிறது. உங்கள் ஆவணங்கள் பழையதாகவோ அல்லது குழப்பமாகவோ இருந்தால், அந்த ஏஜென்ட் அந்த குழப்பத்தையே தரநிலையாகக் கருதும்.
தவறான சூழல் இரண்டு வடிவங்களில் வருகிறது:
- சலிப்பூட்டும் பிழைகள்:
- காலாவதியான அமைவு வழிமுறைகள் (setup instructions)
- பயன்பாட்டில் இல்லாத (deprecated) API-களைப் பயன்படுத்தும் உதாரணங்கள்
- பழைய கட்டமைப்பு குறிப்புகள் (architecture notes)
- எதிரித்தனமான தாக்குதல்கள் (Adversarial attacks):
- கோப்புகளுக்குள் ப்ராம்ப்ட் இன்ஜெக்ஷன் (Prompt injection)
- தீங்கிழைக்கும் டிபென்டென்சி ஸ்கிரிப்ட்கள் (malicious dependency scripts)
- குறியீட்டைப் பாதுகாப்பற்ற வடிவங்களுக்குத் தள்ளும் நச்சுத்தன்மை கொண்ட உதாரணங்கள் (poisoned examples)
ஒரு ஏஜென்ட்டிற்கு சோதனைகளை (tests) இயக்க, கோப்புகளைத் தேட அல்லது புல் ரிக்வெஸ்ட்களை (pull requests) திறக்க அதிகாரம் அளிக்கும்போது, நீங்கள் பாதிப்பின் பரப்பளவை (blast radius) அதிகரிக்கிறீர்கள். ஒரு ஹூக் சிஸ்டம் (hook system) என்பது இனி வெறும் உற்பத்தித் திறன் கருவி மட்டுமல்ல. அது ஒரு ஆட்டோமேஷன் (automation). நீங்கள் அதை ஆட்டோமேஷனாகவே கருத வேண்டும்.
உங்கள் பணிப்பாய்வு (workflow) குறித்து இந்தக் கேள்விகளைக் கேளுங்கள்:
- ஒரு ஹூக்கை (hook) யார் திருத்த முடியும்?
- ஏஜென்ட் எந்த சூழல் மாறிகளை (environment variables) பார்க்க முடியும்?
- ஏஜென்ட் டெவலப்பரின் சான்றுகளைப் (credentials) பெறுகிறதா?
- அந்தத் கருவி ரெபோவிற்கு வெளியே எழுதுகிறதா?
ஏஜென்ட்களை மந்திரத் தகவல் பெட்டிகளாக (magic text boxes) கருதாதீர்கள். அவற்றை டெவலப்பர் உள்கட்டமைப்பாக (developer infrastructure) கருதுங்கள்.
உங்கள் ஏஜென்டிக் பணிப்பாய்வை (agentic workflow) எவ்வாறு பாதுகாப்பது:
- எல்லையைத் குறையுங்கள்: ஒரு ஏஜென்ட்டிற்கு மூன்று கோப்புகள் மட்டுமே தேவைப்பட்டால், உங்கள் முழுத் திட்டத்தையும் அதற்குச் சுட்டிக்காட்ட வேண்டாம்.
- சூழலைச் சுத்தப்படுத்துங்கள்: காலாவதியான ஆவணங்கள் மற்றும் பழைய அறிவுறுத்தல்களை நீக்குங்கள் அல்லது சரிசெய்யுங்கள்.
- செயல்பாட்டை வலுப்படுத்துங்கள்: ஆபத்தான பணிகளை ஒரு சாண்ட்பாக்ஸில் (sandbox) இயக்கவும். சான்றுகளை (credentials) குறிப்பிட்ட எல்லைக்குள் வைத்திருக்கவும்.
- வெளிப்படைத்தன்மையைக் கோருங்கள்: ஏஜென்ட் எதைப் படித்தது, எந்தக் கருவிகளை அழைத்தது மற்றும் எந்தக் கட்டளைகளை (commands) இயக்கினது என்பதைத் துல்லியமாகத் தெரிந்து கொள்ளுங்கள்.
ஒரு AI ஏஜென்ட் என்பது ஷெல் அணுகல் (shell access) மற்றும் அதிவேகத் தட்டச்சுத் திறன் கொண்ட ஒரு ஜூனியர் டெவலப்பரைப் போன்றது. ஒரு புதிய ஜூனியர் டெவலப்பருக்கு முதல் நாளிலேயே முழுமையான புரொடக்ஷன் சான்றுகளை (production credentials) நீங்கள் வழங்க மாட்டீர்கள். அவர்களுக்குச் சிறிய பணிகள், சுத்தமான சூழல் மற்றும் வரையறுக்கப்பட்ட அனுமதிகளை மட்டுமே வழங்குவீர்கள்.
உங்கள் ஏஜென்ட்களையும் அதே போல் நடத்துங்கள்.
Source: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj
Optional learning community: https://t.me/GyaanSetuAi