AI కోడ్ అసిస్టెంట్‌లను ఒక హానికరమైన .git/config ఎంట్రీ ద్వారా హైజాక్ చేయవచ్చు. ఇది Git యొక్క core.fsmonitor ఫీచర్‌ను ఉపయోగించుకుని, అసిస్టెంట్ ఫైల్‌లను స్కాన్ చేసిన వెంటనే డెవలపర్ మెషీన్‌పై కమాండ్‌లను రన్ చేయడానికి అనుమతిస్తుంది.

ఈ లోపం Claude Code, Cursor, OpenAI Codex, Goose, Qwen Code, Grok Build మరియు Hermes వంటి అనేక ప్రజాదరణ పొందిన ఏజెంట్లలో బయటపడింది. ప్యాచ్ చేయబడిన ఏజెంట్లలో ఈ ఎక్స్‌ప్లాయిట్ (exploit) ఇకపై పనిచేయదు; మిగిలినవి ఇంకా ప్రమాదంలోనే ఉన్నాయి. దీని కోసం అదనపు క్లిక్‌లు లేదా ప్రాంప్ట్‌లు అవసరం లేదు, మరియు హానికరమైన కోడ్ యూజర్ యొక్క స్వంత అధికారాలతో (privileges), AI ఏజెంట్ అందించే ఏ సాండ్‌బాక్స్ (sandbox) వెలుపల కూడా రన్ అవుతుంది.

దాడి డెవలపర్ వరకు ఎలా చేరుతుంది

  • ఒక కాంట్రాక్టర్ ప్రాజెక్ట్‌ను జిప్ చేసి ఈమెయిల్ చేస్తారు.
  • ఒక టీమ్ సభ్యుడు నెట్‌వర్క్ డ్రైవ్‌లో ఫోల్డర్‌ను షేర్ చేస్తారు.
  • కోడ్‌బేస్‌తో కూడిన USB స్టిక్‌ను అందజేస్తారు.

ప్రతి సందర్భంలోనూ, రిపోజిటరీ అనేది ఇప్పటికే .git ఫోల్డర్‌ను కలిగి ఉన్న డైరెక్టరీ రూపంలో వస్తుంది. AI అసిస్టెంట్ ఆ ఫోల్డర్‌ను ఓపెన్ చేసినప్పుడు, కోడ్‌ను చూడటానికి సాధారణంగా బ్యాక్‌గ్రౌండ్‌లో git status రన్ చేస్తుంది. Git ఆ ఆపరేషన్‌ను core.fsmonitor సెట్టింగ్‌తో వేగవంతం చేస్తుంది, ఇది ఫైల్ సిస్టమ్‌లో మార్పులను గమనించడానికి ఒక బాహ్య ప్రోగ్రామ్‌ను పిలవమని Gitకి చెబుతుంది. ఒకవేళ రిపోజిటరీలోని .git/config ఫైల్ core.fsmonitor కోసం హానికరమైన కమాండ్‌ను నిర్వచిస్తే, Git వినియోగదారుని సంప్రదించకుండానే దానిని స్వయంచాలకంగా అమలు చేస్తుంది.

ఈ కమాండ్ Git ద్వారానే ప్రారంభించబడటం వల్ల, ఇది యూజర్ యొక్క హక్కులను పొందుతుంది మరియు AI టూల్ ఏర్పాటు చేసిన ఏ సాండ్‌బాస్‌నైనా బైపాస్ చేస్తుంది. ఈ ఎక్స్‌ప్లాయిట్ సాధారణ git clone, git fetch లేదా git pull సమయంలో జరగదు; రిపోజిటరీలోని .git మెటాడేటా ఇప్పటికే ఉన్న స్థితిలో అన్‌ప్యాక్ చేసినప్పుడు మాత్రమే ఇది యాక్టివేట్ అవుతుంది.

ఈ సమస్య ఎందుకు ముఖ్యమైనది

డెవలపర్లు కోడ్ సలహాల కోసం, కోడ్‌ను రీఫ్యాక్టర్ చేయడానికి లేదా పూర్తి మాడ్యూల్‌లను రూపొందించడానికి AI అసిస్టెంట్‌లపై రోజురోజుకూ ఆధారపడుతున్నారు. ఆ టూల్స్‌కు ప్రాజెక్ట్ ఫైల్ ట్రీ యొక్క తక్షణ స్నాప్‌షాట్ అవసరం, కాబట్టి అవి Git కమాండ్‌లను నిశ్శబ్దంగా (silently) పిలుస్తాయి. ఒకవేళ హానికరమైన రిపోజిటరీ ఆ సమయంలో కోడ్‌ను అమలు చేయగలిగితే, అటాకర్ ఎటువంటి హెచ్చరిక లేకుండానే డెవలపర్ వర్క్‌స్టేషన్‌పై పట్టు సాధించగలరు. వినియోగదారు కేవలం AI సహాయంతో కోడ్‌ను "చెక్" చేస్తున్నారని భావిస్తున్న సమయంలోనే, క్రెడెన్షియల్స్ దొంగతనం నుండి పర్సిస్టెంట్ బ్యాక్‌డోర్‌లను ఇన్‌స్టాల్ చేయడం వరకు ఏదైనా హానికరమైన చర్యలు జరిగే అవకాశం ఉంది.

విషపూరితమైన (poisoned) రిపోజిటరీని గుర్తించడం

అసిస్టెంట్‌కు రిపోజిటరీని ఇచ్చే ముందు, ఇది రన్ చేయండి:

git config --get core.fsmonitor

అవుట్‌పుట్ ఖాళీగా లేకపోతే, ఒక ప్రోగ్రామ్ స్వయంచాలకంగా రన్ అయ్యేలా సెట్ చేయబడిందని అర్థం. మరింత లోతుగా పరిశీలించడానికి, ఏదైనా అనుమానాస్పద Git సెట్టింగ్‌లను జాబితా చేయండి:

git config --local --list | grep -Ei 'fsmonitor|hooksPath|sshCommand|pager|editor|filter\.'

మీరు జోడించని ఎంట్రీలను గమనిస్తే, వీటితో వాటిని క్లియర్ చేయండి:

git config --local --unset core.fsmonitor

git config --global core.fsmonitor false సెట్ చేయడం మిమ్మల్ని రక్షించదని గమనించండి. లోకల్ రిపోజిటరీ సెట్టింగ్‌లు ఎల్లప్పుడూ గ్లోబల్ సెట్టింగ్‌ల కంటే ప్రాధాన్యత కలిగి ఉంటాయి, కాబట్టి ఒక హానికరమైన రిపోజిటరీ గ్లోబల్ రూల్‌ను సులభంగా విస్మరించవచ్చు.

ప్రస్తుత ప్యాచ్ పరిస్థితి

  • Claude Code – ప్యాచ్ చేయబడింది (fsmonitor)
  • Cursor – ప్యాచ్ చేయబడింది
  • OpenAI Codex – ప్యాచ్ చేయబడింది
  • Goose – ప్యాచ్ చేయబడింది
  • Qwen Code – ప్యాచ్ చేయబడలేదు
  • Grok Build – ప్యాచ్ చేయబడలేదు
  • Hermes – ప్యాచ్ చేయబడలేదు

ప్యాచ్ చేయబడని ఏజెంట్‌లను ఉపయోగిస్తున్న డెవలపర్లు, వారు టూల్స్‌ను మార్చే వరకు లేదా కఠినమైన లోకల్ Git విధానాలను అమలు చేసే వరకు, వచ్చే ప్రతి రిపోజిటరీని ప్రమాదకరమైనదిగా భావించాలి.

Git కమ్యూనిటీ నుండి ప్రతివాదన

Git యొక్క core.fsmonitor అనేది ఒక చట్టబద్ధమైన పెర్ఫార్మెన్స్ ఫీచర్, ఇది బగ్ కాదు. Git కమాండ్‌లను పిలవడానికి ముందు రిపోజిటరీ కంటెంట్‌ను ధృవీకరించే బాధ్యత పిలిచే వారిదే (callers) అని మెయింటైనర్లు వాదిస్తున్నారు. ఈ ఫీచర్‌ను గ్లోబల్‌గా డిసేబుల్ చేయడం ఒక సులభమైన నివారణ చర్య, కానీ పైన పేర్కొన్నట్లుగా, లోకల్ ఓవర్‌రైడ్‌లు ఆ రక్షణను దెబ్బతీయగలవు. AI అసిస్టెంట్‌లు అన్ని బాహ్య Git పిలుపులను సాండ్‌బాక్స్ చేయాలా లేదా కస్టమ్ fsmonitor హుక్‌లను కలిగి ఉన్న రిపోజిటరీలను ప్రాసెస్ చేయడానికి నిరాకరించాలా అనే అంశంపై ఇప్పుడు చర్చ జరుగుతోంది.

తదుపరి ఏం గమనించాలి

  • ప్యాచ్ చేయబడని AI ఏజెంట్‌ల నుండి అప్‌డేట్‌లు—ముఖ్యంగా Git కాల్స్‌ను సాండ్‌బాక్స్ చేయడం గురించి ఏవైనా ప్రకటనలు.
  • నమ్మదగినవి కాని డైరెక్టరీల కోసం core.fsmonitor యొక్క Git డిఫాల్ట్ హ్యాండ్లింగ్‌లో రాబోయే మార్పులు.
  • అసిస్టెంట్‌కు చేరకముందే రిపోజిటరీ యొక్క .git/configని శుద్ధి చేయగల థర్డ్-పార్టీ టూల్స్.

ముగింపు (Takeaway)

దాగి ఉన్న కాన్ఫిగరేషన్ ఫైల్‌లోని ఒకే ఒక్క లైన్, AI ఆధారిత సౌలభ్యాన్ని రిమోట్-కోడ్-ఎగ్జిక్యూషన్ వెక్టార్‌గా మార్చగలదు. ప్రమాదంలో ఉన్న ఏజెంట్‌లు సరిదిద్దబడే వరకు, ప్రామాణిక క్లోన్ వర్క్‌ఫ్లో వెలుపల వచ్చే ప్రతి రిపోజిటరీని ఆడిట్ చేయడం మరియు AI అసిస్టెంట్ కోడ్‌ను తాకకముందే ఏవైనా core.fsmonitor లేదా అలాంటి హుక్‌లను తొలగించడం అత్యంత సురక్షితమైన పద్ధతి.