Mtafiti wa usalama aliyepitia miradi 24 ya seva za MCP (Model-Control-Protocol) ya chanzo huria amegundua hitilafu moja lakini mbaya ya uingizaji amri kwenye sandbox (sandbox command-injection) inayopata alama 9.8 kwenye kipimo cha CVSS. Hitilafu hiyo ipo katika AgenticX, mfumo wa AI-agent wa daraja la kati, na inamruhusu mshambuliaji kuingiza amri za shell za kiholela kwenye kontena la Docker linaloendesha seva hiyo.
Kwa nini seva za MCP ni muhimu
MCP ni kiungo kinachoruhusu AI agents zinazojitegemea kuwasiliana na zana za nje—faili, kanzi data (databases), vivinjari, na kadhalika. Watengenezaji huweka seva ya MCP kwenye programu zao ili kuipa modeli ya lugha uwezo wa kusoma, kuandika, na kufanya kazi kwenye rasilimali za ulimwengu halisi. Itifaki yenyewe ni nyepesi na imekubalika sana, lakini watunza kila mradi wameachwa kuhakikisha usalama wa kodi inayozunguka.
Utekelezaji mkubwa wa MCP kama vile Cline au Aider tayari unapokea ukaguzi wa mara kwa mara na una michakato madhubuti ya usalama. Miradi 24 iliyochunguzwa hapa iko katika kiwango cha “daraja la kati” kwenye GitHub, ikiwa na nyota kati ya 100 na 1,000. Maktaba (repositories) hizo mara nyingi huweka kipaumbele katika kutoa vipengele vipya kwa haraka badala ya kodi iliyoimarishwa, jambo linalozalisha upofu kwa watumiaji wanaodhani kuwa seva yoyote ya MCP ya chanzo huria ni salama kwa asili.
Ukaguzi
Mtafiti alitengeneza skana iliyokuwa ikitafuta mifumo mitano ya kawaida ya mashambulizi ya programu za wavuti:
- Uingizaji amri (Command injection)
- Upitaji njia (Path traversal)
- Server-Side Request Forgery (SSRF)
- Uingizaji SQL (SQL injection)
- Kutoroka kwenye sandbox (Sandbox escape)
Kuendesha skana hiyo kwenye faili 5,911 za chanzo kulitoa tahadhari 94 za awali. Baada ya uchambuzi wa kina wa mwongozo, tahadhari moja tu ndiyo iliyothibitika kuwa udhaifu halisi.
Ndani ya hitilafu ya AgenticX
AgenticX hujenga amri za shell kwa kuingiza maandishi yanayotolewa na mtumiaji kwenye Python f-strings, kisha hupitisha matokeo hayo moja kwa moja kwenye shell ya kontena. Hakuna uhakiki au uwekaji wa alama za nukuu (quoting) kwenye njia za faili. Kwa hivyo, prompt hasidi inaweza kuingiza alama ya semicolon au alama nyingine ya shell, na kusababisha kontena kutekeleza amri yoyote ambayo mshambuliaji anachagua.
Mtafiti alirekebisha kodi kwa:
- Kutumia
shlex.quote()ili kuzuia kwa usalama njia yoyote inayotolewa na modeli ya lugha. - Kuongeza ukaguzi wa wazi wa mifumo ya upitaji njia (
../) kabla ya kuunda amri.
Kuendesha tena skana baada ya marekebisho kulionyesha kiwango cha hatari kikishuka kwa kiasi kikubwa, hali inayothibitisha kuwa hatua hiyo imetatua chanzo cha tatizo.
Nani anafaidika, nani anapata hasara
- Watengenezaji wa AI wanaoweka seva ya MCP kwenye bidhaa zao sasa wana mfano halisi wa jinsi hatua moja ya usafishaji (sanitization) inayokosekana inavyoweza kuvunja mnyororo mzima wa usalama. Chukulia kila kipengele (parameter) kinachotoka kwenye modeli ya lugha kama ingizo lisiloaminika, kama unavyofanya kwa mzigo wowote wa API ya nje.
Upande mwingine wa hadithi
Mtafiti anasisitiza kuwa itifaki ya MCP yenyewe bado ni thabiti. Hitilafu hiyo si udhaifu wa usanifu katika muundo wa mawasiliano (wire format) bali ni uzembe wa uandishi wa kodi katika utekelezaji maalum. Miradi mikubwa iliyokaguliwa vizuri tayari imeshatafuta suluhu kwa matatizo kama hayo, na jamii ya chanzo huria inaweza kujifunza kutokana na marekebisho ya AgenticX. Hata hivyo, tukio hili linaonyesha kuwa miradi ya “daraja la kati” inaweza kuwa na hitilafu zenye athari kubwa licha ya kuwa na idadi ndogo ya nyota.
Hitimisho
F-string moja tu isiyoikaguliwa kwenye AgenticX iligeuza seva nzima ya MCP kuwa kituo cha kutekeleza kodi za kiholela. Tukio hili linathibitisha kuwa usalama wa mifumo ya AI-agent unategemea zaidi utekelezaji wenye nidhamu kuliko itifaki yenyewe. Watengenezaji lazima wachukulie kila kipengele kinachozalishwa na LLM kama kitu hasidi, majukwaa yanapaswa kusimamia ulinzi wa wakati wa utendaji (runtime safeguards), na zana za usalama zinahitaji kukua ili kuelewa mnyororo wa uaminifu wa kipekee ambao AI agents wanaunda.
Chanzo: dev.to/easterndev/i-scanned-24-mcp-server-projects-and-found-a-real-sandbox-command-injection-cvss-98-4k9h
