AI కోడింగ్ సెక్యూరిటీ: మీ ప్రాజెక్ట్ ఫైళ్లలో ప్రాంప్ట్ ఇంజెక్షన్ దాగి ఉంది
మీ AI కోడింగ్ అసిస్టెంట్ మీ రిపోజిటరీలోని ప్రతి ఫైల్ను చదువుతుంది. ఇది మీ README, మీ కాన్ఫిగరేషన్ ఫైల్లు మరియు మీ రూల్స్ను చదువుతుంది. కోడ్ను ఎలా రాయాలో నిర్ణయించడానికి ఇది ఈ ఫైళ్లను ఉపయోగిస్తుంది.
ఒక కొత్త సెక్యూరిటీ బెదిరింపు సరిగ్గా ఈ ప్రవర్తననే వాడుకుంటుంది. పరిశోధకులు 28 రకాల వేర్వేరు AI కోడింగ్ టూల్స్లో ఒక లోపాన్ని (vulnerability) కనుగొన్నారు. ఈ దాడి అనేది క్లిష్టమైన హ్యాక్ కాదు. ఇది మీ రిపోజిటరీలోని ఒక సాధారణ టెక్స్ట్ ఫైల్ మాత్రమే.
ఈ దాడి ఎలా పనిచేస్తుంది:
మీరు ఒక ఓపెన్-సోర్స్ ప్రాజెక్ట్ను క్లోన్ చేస్తారు. అది సాధారణంగా కనిపిస్తుంది. మీరు దానిని మీ AI ఎడిటర్లో ఓపెన్ చేసి, ఒక కొత్త ఫీచర్ కోసం అడుగుతారు. కాన్ఫిగరేషన్ ఫైళ్లలో దాగి ఉన్న Unicode క్యారెక్టర్లను మీరు చూడలేరు. ఈ క్యారెక్టర్లు సూచనలను మీ నుండి దాచిపెడతాయి, కానీ AIకి వేరే పని చేయమని చెబుతాయి.
ఆ దాగి ఉన్న సూచన మీ AWS క్రెడెన్షియల్స్ను (credentials) ఒక ఎక్స్టర్నల్ సర్వర్కు పంపమని AIకి చెబుతుంది. ఇది ప్రాజెక్ట్కు సంబంధించిన చట్టబద్ధమైన సూచన అని AI భావిస్తుంది. అది ఆ కమాండ్ను అమలు చేస్తుంది. దీనివల్ల మీ రహస్య సమాచారం (secrets) దొంగిలించబడుతుంది.
దీనిని ఆపడం ఎందుకు కష్టం:
- దాగి ఉన్న క్యారెక్టర్లు: మీరు సాధారణ టెక్స్ట్ను చూస్తారు, కానీ AI అదృశ్య Unicode క్యారెక్టర్ల ద్వారా హానికరమైన కమాండ్లను చూస్తుంది.
- ప్రతి ఫైల్ ఒక ఎంట్రీ పాయింట్: README లేదా లైబ్రరీలోని ఒక కామెంట్ కూడా హానికరమైన పేలోడ్ను (payload) కలిగి ఉండవచ్చు.
- అధిక అనుమతులు (High permissions): AI ఏజెంట్లు తరచుగా మీ యూజర్ పర్మిషన్లతోనే నడుస్తాయి. అవి మీ SSH కీలు మరియు API టోకెన్లను చదవగలవు.
- టూల్ కాల్స్ (Tool calls): కమాండ్లను రన్ చేయడానికి AI టూల్ కాల్స్ను ఉపయోగిస్తుంది. సేఫ్టీ ట్రైనింగ్ను బైపాస్ చేయడానికి ఈ దాడి ఆ కాల్స్ను లక్ష్యంగా చేసుకుంటుంది.
మీ వర్క్ఫ్లోను ఎలా రక్షించుకోవాలి:
- ఫైల్ కంటెంట్ను శుద్ధి చేయండి (Sanitize): AI వాటిని చదవకముందే దాగి ఉన్న క్యారెక్టర్లను మరియు సాధారణ ఇంజెక్షన్ ప్యాటర్న్స్ను తొలగించండి.
- సాండ్బాక్స్లను (Sandboxes) ఉపయోగించండి: నెట్వర్క్ యాక్సెస్ లేని మరియు రీడ్-ఓన్లీ ఫైల్సిస్టమ్స్ ఉన్న కంటైనర్లలో AI ఏజెంట్లను రన్ చేయండి.
- కఠినమైన విధానాలను రూపొందించండి: అనుమతించబడిన కమాండ్ల కోసం ఒక వైట్లిస్ట్ (whitelist) సృష్టించండి. డేటాను తరలించే లేదా ఫైళ్లను తొలగించే ఏ కమాండ్కైనా మానవ ఆమోదం (human approval) తప్పనిసరి చేయండి.
మీ కోడింగ్ సెషన్ల కంటే ముందు మీరు ఒక క్విక్ స్కాన్ చేయవచ్చు. మీ ఫైళ్లలో "ignore all previous" లేదా "curl" మరియు "exfil" వంటి అనుమానాస్పద పదాల కోసం తనిఖీ చేయండి.
AI కోడింగ్ టూల్స్ ఉత్పాదకతను పెంచుతాయి, కానీ అవి మీ డిస్క్లోని ఫైళ్లు సురక్షితమని భావిస్తాయి. కానీ అవి సురక్షితం కావు. ప్రతి ఫైల్ను నమ్మలేని ఇన్పుట్గా (untrusted input) పరిగణించండి.
మీ AI వర్క్ఫ్లోలో ప్రాంప్ట్ ఇంజెక్షన్ రిస్క్లను మీరు ఎలా ఎదుర్కొంటున్నారు?
Source: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9
