మీ AI కోడింగ్ అసిస్టెంట్ మీరు గమనించకుండానే మీ SSH కీలను మారుస్తూ ఉండవచ్చు.
Wiz Research ఒక “GhostApproval” లోపాన్ని కనుగొంది, ఇది ఒక దుర్ร้ายకమైన (malicious) project_settings.json సిమ్లింక్ (symlink) ప్రైవేట్ కీలను సూచించేలా చేస్తుంది. అంతేకాకుండా, ప్రతి చర్యకు వచ్చే అప్రూవల్ డైలాగ్ కేవలం ఆ సిమ్లింక్ పేరును మాత్రమే చూపిస్తుంది. మీరు ఆ డైలాగ్ను అప్రూవ్ చేస్తే, మీరు మీ క్రెడెన్షియల్స్కు (credentials) అసిస్టెంట్కు అపరిమితమైన ప్రాప్యతను అందిస్తున్నట్లే.
ఈ ఎక్స్ప్లాయిట్ (exploit) ఎలా పనిచేస్తుంది
- ఒక అటాకర్ రిపోజిటరీకి project_settings.json అనే ఫైల్ను జోడిస్తారు.
- ఆ ఫైల్ సాధారణ JSON ఫైల్ కాదు; అది యూజర్ యొక్క ~/.ssh/id_rsa (లేదా దానికి సమానమైన) ప్రైవేట్ కీకి రీడైరెక్ట్ చేసే ఒక సింబాలిక్ లింక్ (symlink).
- డెవలపర్ AI అసిస్టెంట్ను “workspace సెటప్ చేయమని” అడిగినప్పుడు, అసిస్టెంట్ ఆ సిమ్లింక్ను అనుసరిస్తుంది మరియు అసలైన SSH కీ ఫైల్లోకి రాయడానికి సిద్ధమవుతుంది.
- కనిపించే అప్రూవల్ డైలాగ్ కేవలం project_settings.json ను మాత్రమే చూపిస్తుంది. ఇది డిస్క్లోని అసలు పాత్ను (path) చూపించడానికి సిమ్లింక్ను రిజాల్వ్ (resolve) చేయదు.
- “Approve” క్లిక్ చేయడం ద్వారా అసిస్టెంట్కు ప్రైవేట్ కీని మార్చే అనుమతి లభిస్తుంది, దీనివల్ల ఆ కీని నమ్మే ప్రతి సర్వీస్లో యూజర్ గుర్తింపు (identity) ప్రమాదంలో పడుతుంది.
ఈ బగ్ ఆరుగురు విస్తృతంగా ఉపయోగించే టూల్స్లో కనిపిస్తుంది: Amazon Q Developer, Claude Code, Augment, Cursor, Google Antigravity మరియు Windsurf. వీటన్నింటిలోనూ ఒకే రకమైన తప్పుదారి పట్టించే డైలాగ్ కనిపిస్తుంది, ఎందుకంటే UI దానికి లభించిన పేరును మాత్రమే ప్రదర్శిస్తుంది, రిజాల్వ్ చేయబడిన టార్గెట్ను కాదు.
ప్రతి చర్యకు డైలాగ్లు ఎందుకు సరిపోవు
ప్రతి చర్యకు అప్రూవల్ తీసుకోవడం అనేది, AI చేసే ప్రతి ఆపరేషన్ను మనిషి పరిశీలించగలరని భావిస్తుంది. వాస్తవానికి, ఇది ప్రతి కొన్ని సెకన్లకు ఒకసారి మీరు ఖచ్చితమైన నిర్ణయాలు తీసుకోవాలని ఒత్తిడి చేస్తుంది—ఏజెంట్ పనిచేసే వేగం కంటే మనిషి అంత వేగంగా ఇది చేయలేరు.
వెండర్లు (vendors) ఏమి చేస్తున్నారు – మరియు ఇది ఎందుకు ముఖ్యం
- Amazon, Google మరియు Cursor ఇప్పటికే దీనిని సరిచేశారు.
- Anthropic (Claude Code తయారీదారు) వినియోగదారులు తాము అర్థం చేసుకున్న వాటికి మాత్రమే అప్రూవల్ ఇవ్వాలని చెబుతోంది. ఇది సిమ్లింక్లను గుర్తించడంలో ఉండే మానసిక శ్రమను (cognitive load) విస్మరిస్తుంది మరియు వినియోగదారులు ప్రతి ఫైల్ పాత్ను తక్షణమే తనిఖీ చేయగలరని భావిస్తుంది—ఇది వాస్తవానికి సాధ్యం కాని అంచనా.
- Cursor మరొక సమస్యను కూడా వెల్లడించింది, దీనిని DuneSlide అని పిలుస్తారు. ఇది ఎటువంటి అప్రూవల్ ప్రాంప్ట్ లేకుండానే మెషీన్లో కోడ్ను అమలు చేయడానికి అటాకర్లకు అనుమతిస్తుంది. కంపెనీ ఆ బగ్ను సరిచేసింది, పర్మిషన్ చెక్లు బలహీనంగా ఉన్నప్పుడు ఈ అసిస్టెంట్లు ఎంత త్వరగా అటాక్ వెక్టార్లుగా మారగలవో ఇది చూపుతుంది.
ఈ స్పందనల మధ్య తేడా ఒక లోతైన ప్రశ్నను లేవనెత్తుతుంది: భద్రత అనేది జరిగిన తర్వాత వచ్చే డైలాగ్ కావాలా, లేదా అసిస్టెంట్ ఎప్పుడూ దాటకూడని ముందుగా నిర్ణయించిన సరిహద్దు కావాలా?
స్కోప్డ్ పర్మిషన్స్ (Scoped permissions): ఒక ఆచరణాత్మక ప్రత్యామ్నాయం
ప్రతి ఫైల్ ఆపరేషన్ కోసం ప్రాంప్ట్ అడగడానికి బదులుగా, డెవలపర్లు అసిస్టెంట్ రన్ కావడానికి ముందే దానికి ఒక స్కోప్ (scope) ను సెట్ చేయవచ్చు:
- AI చదవడానికి లేదా రాయడానికి వీలైన ఒక డైరెక్టరీ ట్రీని (ఉదాహరణకు,
/src) నిర్వచించండి. - ఆ ట్రీ వెలుపల ఉన్న ఫైళ్లను (ఉదాహరణకు,
~/.ssh/id_rsa) తాకడానికి చేసే ఏ ప్రయత్నమైనా ఆపరేటింగ్ సిస్టమ్ లేదా సాండ్బాక్స్ లేయర్ ద్వారా నిరోధించబడుతుంది. - స్కోప్ ఒకసారి మాత్రమే నిర్ణయించబడుతుంది, దీనివల్ల అసిస్టెంట్ ప్రభావాన్ని నియంత్రిస్తూనే, మనిషి తీసుకోవాల్సిన నిర్ణయాల సంఖ్యను తగ్గిస్తుంది.
స్కోపింగ్ భద్రతా నమూనాను “ప్రతిసారీ అడగడం” నుండి “అవసరమైన వాటిని మాత్రమే అనుమతించడం” అనే దిశగా మారుస్తుంది. ఇది కంటైనర్ రన్టైమ్లు మరియు మొబైల్ OSలు అప్లికేషన్లను ఎలా సాండ్బాక్స్ చేస్తాయో అలాగే పనిచేస్తుంది, దీనివల్ల ఏదైనా తప్పు జరిగినప్పుడు నష్టం పరిమితం అవుతుంది.
తదుపరి ఏమి గమనించాలి
- వెండర్ రోల్-అవుట్లు (Vendor roll-outs): ప్రభావితమైన ఆరు టూల్స్ యొక్క అప్డేట్ నోట్స్పై దృష్టి పెట్టండి.
ముగింపు
GhostApproval ఎక్స్ప్లాయిట్ అనేది ఒక పాప్-అప్ డైలాగ్ను నమ్మడం వల్ల తప్పుడు భద్రతా భావం కలుగుతుందని నిరూపిస్తుంది. ప్రతి AI కోడింగ్ అసిస్టెంట్ సిమ్లింక్లను రిజాల్వ్ చేసి, పూర్తి పాత్లను చూపించే వరకు, డెవలపర్లు స్కోప్డ్ రైట్ పర్మిషన్లను (scoped write permissions) అమలు చేయాలి—అంటే అసిస్టెంట్ పని ప్రారంభించకముందే అది ఎక్కడ పని చేయవచ్చో ఖచ్చితంగా చెప్పాలి. ఈ చిన్న మార్పు, క్లిక్ చేసే అలసటను (click-fatigue) పెంచకుండానే అత్యంత ప్రమాదకరమైన దాడులను అడ్డుకుంటుంది.
మూలం: dev.to/girish_r/your-coding-agents-approval-dialog-is-lying-to-you-ih1
