உங்கள் AI கோடிங் அசிஸ்டண்ட் (coding assistant), நீங்கள் அறியாமலேயே உங்கள் SSH சாவிகளை (keys) மாற்றி எழுதிக்கொண்டிருக்கலாம்.
Wiz Research நிறுவனம் "GhostApproval" எனும் ஒரு குறைபாட்டைக் கண்டறிந்துள்ளது. இது ஒரு தீங்கிழைக்கும் project_settings.json சிம்லிங்க் (symlink), தனிப்பட்ட சாவிகளை (private keys) நோக்கிச் செல்ல அனுமதிக்கும் ஒரு ஓட்டையாகும். மேலும், ஒவ்வொரு செயலுக்கும் தோன்றும் ஒப்புதல் விண்டோ (approval dialog), அந்த சிம்லிங்கின் பெயரை மட்டுமே காட்டும். நீங்கள் அதை அனுமதித்தால், உங்கள் சான்றுகளுக்கான (credentials) கட்டுப்பாடற்ற அணுகலை அந்த அசிஸ்டண்டிற்கு வழங்கிவிடுகிறீர்கள்.
இந்தத் தாக்குதல் எவ்வாறு செயல்படுகிறது
- ஒரு தாக்குதல்தாரர் ஒரு ரிப்போசிட்டரியில் (repository) project_settings.json என்ற கோப்பைச் சேர்க்கிறார்.
- அந்த கோப்பு ஒரு சாதாரண JSON கோப்பல்ல; அது பயனரின் ~/.ssh/id_rsa (அல்லது அதற்கு இணையான) தனிப்பட்ட சாவியை நோக்கித் திருப்பிவிடும் ஒரு சிம்பாலிக் லிங்க் (symlink) ஆகும்.
- டெவலப்பர் AI அசிஸ்டண்ட்டிடம் “set up the workspace” என்று கேட்கும்போது, அசிஸ்டண்ட் அந்த சிம்லிங்கைப் பின்பற்றி உண்மையான SSH சாவி கோப்பில் எழுதத் தயாராகிறது.
- தோன்றும் ஒப்புதல் விண்டோ (approval dialog) project_settings.json என்ற பெயரை மட்டுமே பட்டியலிடுகிறது. அது சிம்லிங்கின் உண்மையான பாதையைக் (path) காட்டாது.
- “Approve” என்பதைக் கிளிக் செய்வதன் மூலம், அந்தத் தனிப்பட்ட சாவியை மாற்ற அசிஸ்டண்டிற்கு அனுமதி கிடைக்கிறது, இது அந்தச் சாவியை நம்பியிருக்கும் ஒவ்வொரு சேவையிலும் பயனரின் அடையாளத்தை எளிதாகப் பாதிக்கும்.
இந்தத் தவறு பரவலாகப் பயன்படுத்தப்படும் ஆறு கருவிகளில் காணப்படுகிறது: Amazon Q Developer, Claude Code, Augment, Cursor, Google Antigravity மற்றும் Windsurf. இவை அனைத்தும் ஒரே மாதிரியான தவறான தகவலைத் தரும் விண்டோவைக் காட்டுகின்றன, ஏனெனில் UI அதற்குப் பெறப்படும் பெயரை மட்டுமே காட்டுகிறதே தவிர, அதன் உண்மையான இலக்கைக் காட்டவில்லை.
ஒவ்வொரு செயலுக்கான ஒப்புதல் விண்டோக்கள் ஏன் போதுமானவை அல்ல
ஒவ்வொரு செயலுக்கும் ஒப்புதல் பெறுவது என்பது, AI செய்யும் ஒவ்வொரு செயல்பாட்டையும் ஒரு மனிதரால் சரிபார்க்க முடியும் என்று கருதுகிறது. ஆனால் நடைமுறையில், இது ஒவ்வொரு சில வினாடிகளுக்கும் நீங்கள் சரியான முடிவுகளை எடுக்க வேண்டிய கட்டாயத்தை ஏற்படுத்துகிறது—இது ஏஜென்ட் செயல்படும் வேகத்தை விட வேகமாக ஒருவரால் செய்ய முடியாது.
விற்பனையாளர்கள் என்ன செய்கிறார்கள் – அது ஏன் முக்கியமானது
- Amazon, Google மற்றும் Cursor ஏற்கனவே இதைச் சரிசெய்துவிட்டன.
- Anthropic (Claude Code-ன் தயாரிப்பாளர்) பயனர்கள் தங்களுக்குப் புரியும் விஷயங்களுக்கு மட்டுமே ஒப்புதல் அளிக்க வேண்டும் என்று கூறுகிறார்கள். இது சிம்லிங்குகளைக் கண்டறிவதில் உள்ள மனச் சுமையைப் (cognitive load) புறக்கணிப்பதோடு, பயனர்கள் ஒவ்வொரு கோப்புப் பாதையையும் உடனடியாகச் சரிபார்க்க முடியும் என்று ஒரு யதார்த்தமற்ற எதிர்பார்ப்பை முன்வைக்கிறது.
- Cursor நிறுவனம் DuneSlide என்று அழைக்கப்படும் மற்றொரு சிக்கலையும் வெளிப்படுத்தியது, இது எந்தவொரு ஒப்புதல் விண்டோவும் இன்றி ஒரு கணினியில் தாக்குதல்தாரர்கள் குறியீட்டை (code) இயக்க அனுமதித்தது. அந்தப் பிழையை நிறுவனம் சரிசெய்தது, அனுமதிக் கட்டுப்பாடுகள் பலவீனமாக இருக்கும்போது இந்த அசிஸ்டண்ட்கள் எவ்வளவு விரைவாகத் தாக்குதலுக்கான வழிகளாக மாறக்கூடும் என்பதைக் காட்டுகிறது.
இந்த பதில்களில் உள்ள வேறுபாடு ஒரு ஆழமான கேள்வியை எழுப்புகிறது: பாதுகாப்பு என்பது ஒரு செயல் நடந்த பிறகு கேட்கப்படும் ஒரு வினாவாக இருக்க வேண்டுமா, அல்லது அசிஸ்டண்ட் ஒருபோதும் தாண்டாத ஒரு முன் வரையறுக்கப்பட்ட எல்லையாக இருக்க வேண்டுமா?
Scoped permissions: ஒரு நடைமுறை மாற்று வழி
ஒவ்வொரு கோப்புச் செயல்பாட்டிற்கும் அனுமதி கேட்காமல், டெவலப்பர்கள் அசிஸ்டண்ட் இயங்குவதற்கு முன்பே அதற்கென ஒரு scope-ஐ நிர்ணயிக்கலாம்:
- AI படிக்க அல்லது எழுதக்கூடிய ஒரு டைரக்டரி மரத்தை (directory tree) (உதாரணமாக,
/src) வரையறுக்கவும். - அந்தத் தொகுப்பிற்கு வெளியே உள்ள கோப்புகளைத் (உதாரணமாக,
~/.ssh/id_rsa) தொட முயற்சிக்கும் எந்தவொரு செயலையும் இயங்குதளம் (operating system) அல்லது சாண்ட்பாக்ஸ் (sandbox) அடுக்கு தடுத்துவிடும். - இந்த scope ஒருமுறை நிர்ணயிக்கப்பட்டால் போதும், இது மனிதன் எடுக்க வேண்டிய முடிவுகளின் எண்ணிக்கையைக் குறைப்பதோடு, அசிஸ்டண்ட்டின் தாக்கத்தையும் கட்டுப்படுத்துகிறது.
Scoping என்பது பாதுகாப்பு மாதிரியை “ஒவ்வொரு முறையும் கேட்கவும்” என்பதிலிருந்து “தேவைப்படுபவை மட்டுமே அனுமதிக்கவும்” என்பதற்கு மாற்றுகிறது. இது கன்டெய்னர் ரன்டைம்கள் (container runtimes) மற்றும் மொபைல் OS-கள் எவ்வாறு செயலிகளைச் சாண்ட்பாக்ஸ் செய்கின்றனவோ, அதைப் போலவே ஏதேனும் தவறு நடக்கும்போது பாதிப்பைக் குறைக்க உதவுகிறது.
அடுத்து கவனிக்க வேண்டியவை
- விற்பனையாளர்களின் வெளியீடுகள்: பாதிக்கப்பட்ட ஆறு கருவிகளின் அப்டேட் குறிப்புகளைக் கவனித்துக் கொண்டே இருங்கள்.
சுருக்கம்
GhostApproval தாக்குதல், ஒரு பாப்-அப் விண்டோவை (pop-up dialog) நம்புவது பாதுகாப்பானது என்ற தவறான உணர்வைத் தருகிறது என்பதை நிரூபிக்கிறது. ஒவ்வொரு AI கோடிங் அசிஸ்டண்டும் சிம்லிங்குகளைத் தீர்த்து (resolve) முழுமையான பாதைகளைக் காட்டும் வரை, டெவலப்பர்கள் 'scoped write permissions'-ஐ நடைமுறைப்படுத்த வேண்டும்—அதாவது அசிஸ்டண்ட் தொடங்குவதற்கு முன்பே அது எங்கு வேலை செய்ய முடியும் என்பதைத் துல்லியமாகத் தெரிவிக்க வேண்டும். அந்த எளிய மாற்றம், கிளிக் செய்யும் சோர்வை (click-fatigue) ஏற்படுத்தாமல் மிகவும் ஆபத்தான வகைத் தாக்குதல்களைத் தடுக்கிறது.
மூலம்: dev.to/girish_r/your-coding-agents-approval-dialog-is-lying-to-you-ih1
