Msaidizi wako wa kodi wa AI anaweza kuwa anafuta na kuandika upya funguo zako za SSH bila wewe hata kuona.
Wiz Research imegundua udhaifu wa “GhostApproval” unaoruhusu symlink ya project_settings.json yenye nia mbaya kuelekeza kwenye funguo binafsi (private keys), na dirisha la idhini la kila hatua linalotokea linaonyesha jina la symlink pekee. Ukikubali dirisha hilo, unakuwa umempa msaidizi huyo ufikiaji usio na kikomo wa sifa zako (credentials).
Jinsi shambulio linavyofanya kazi
- Mshambuliaji anaongeza faili linaloitwa project_settings.json kwenye ghala (repository).
- Faili hilo si faili la kawaida la JSON; ni kiunganishi cha ishara (symlink) kinachoelekeza kwenye funguo binafsi ya mtumiaji ya ~/.ssh/id_rsa (au inayolingana nayo).
- Mtengenezaji programu anapomwomba msaidizi wa AI “kuandaa nafasi ya kazi” (set up the workspace), msaidizi huyo hufuata symlink hiyo na kujiandaa kuandika kwenye faili halisi la funguo za SSH.
- Dirisha la idhini linalotokea linaorodhesha project_settings.json pekee. Halitafuti njia halisi ya symlink ili kuonyesha njia (path) halisi kwenye diski.
- Kubofya “Approve” kunampa msaidizi ruhusa ya kubadilisha funguo binafsi, jambo ambalo kwa uhakika linahatarisha utambulisho wa mtumiaji kwenye kila huduma inayouamini ufunguo huo.
Udhaifu huo unaonekana katika zana sita zinazotumiwa sana: Amazon Q Developer, Claude Code, Augment, Cursor, Google Antigravity na Windsurf. Zote zinaonyesha dirisha linalopotosha kwa namna ile ile kwa sababu UI inaonyesha jina inayopokea, na si lengo halisi lililofafanuliwa.
Kwa nini madirisha ya kila hatua hayatoshi
Idhini ya kila hatua inachukulia kuwa binadamu anaweza kukagua kila operesheni anayofanya AI. Kiuhalisia, inakulazimisha kufanya maamuzi sahihi kila baada ya sekunde chache—jambo ambalo hakuna mtu anayeweza kufanya kwa haraka kuliko msaidizi (agent) anavyofanya.
Wanachofanya wauzaji – na kwa nini ni muhimu
- Amazon, Google na Cursor tayari wameshatatua tatizo hilo.
- Anthropic (mtengenezaji wa Claude Code) anasema watumiaji lazima waidhinishe tu kile wanachokielewa. Hilo linapuuza mzigo wa kiakili wa kutambua symlinks na linachukulia kuwa watumiaji wanaweza kukagua kila njia ya faili papo hapo—matarajio yasiyo ya kweli.
- Cursor pia ilifichua tatizo lingine, linalojulikana kama DuneSlide, ambalo liliwaruhusu washambuliaji kutekeleza kodi kwenye mashine bila ombi lolote la idhini. Kampuni hiyo ilirekebisha udhaifu huo, ikionyesha jinsi wasaidizi hawa wanavyoweza kuwa njia za mashambulizi kwa haraka sana wakati ukaguzi wa ruhusa unapokuwa dhaifu.
Mgawanyiko katika majibu unazua swali la kina zaidi: je, usalama unapaswa kuwa dirisha la baada ya tukio, au mpaka uliowekwa mapema ambao msaidizi haupaswi kuuvuka kamwe?
Ruhusa za upeo (Scoped permissions): mbadala wa vitendo
Badala ya kuomba idhini kwa kila operesheni ya faili, watengenezaji wanaweza kuweka upeo (scope) kwa msaidizi kabla haujaanza kufanya kazi:
- Bainisha muundo wa directory (k.m.,
/src) ambao AI inaweza kusoma au kuandika. - Jaribio lolote la kugusa faili zilizo nje ya muundo huo—kama vile
~/.ssh/id_rsa—huzuiliwa na mfumo wa uendeshaji au tabaka la sandbox. - Upeo huo unawekwa mara moja, ukipunguza idadi ya maamuzi ambayo binadamu lazima afanye huku bado ukidhibiti athari za msaidizi.
Kuweka upeo kunahamisha mfumo wa usalama kutoka “uliza kila wakati” kwenda “ruhusu tu kile kinachohitajika.” Inafanana na jinsi mifumo ya uendeshaji ya simu na container runtimes zinavyofanya sandbox kwa programu, ikipunguza uharibifu wakati jambo linapoharibika.
Nini cha kufuatilia baadaye
- Utoaji wa sasisho kutoka kwa wauzaji: Kuwa macho na maelezo ya sasisho kutoka kwa zana hizo sita zilizoathirika.
Hitimisho
Shambulio la GhostApproval linathibitisha kuwa kuamini dirisha la pop-up kunatoa hisia ya uongo ya usalama. Mpaka msaidizi kila mmoja wa kodi wa AI atafafanua symlinks na kuonyesha njia kamili, watengenezaji wanapaswa kusimamia ruhusa za uandishi zenye upeo—kumwambia msaidizi mahali halisi anapoweza kufanya kazi kabla hajaanza. Mabadiliko hayo rahisi yanazuia aina hatari zaidi za mashambulizi bila kuongeza uchovu wa kubofya (click-fatigue).
Chanzo: dev.to/girish_r/your-coding-agents-approval-dialog-is-lying-to-you-ih1
