𝗜 𝗚𝗮𝘃𝗲 𝗖𝗹𝗮𝘂𝗱𝗲 𝗖𝗼𝗱𝗲 𝘁𝗵𝗲 𝗞𝗲𝘆𝘀. 𝗦𝗼 𝗗𝗶𝗱 𝗮 𝗪𝗼𝗿𝗺.
Wakala wa uandishi wa kodi wa AI (AI coding agents) hawawekwi vizuizi (jailbroken). Wanafanya kile hasa ulichowajengea kukifanya. Wanatumia sifa zako (credentials) ili kuendesha amri. Tatizo ni kwamba washambuliaji wanaweza kutoa pembejeo (input).
Udhaifu wa hivi karibuni unaonyesha njia tatu tofauti ambazo jambo hili hutokea.
- Worm ya Mnyororo wa Ugavi (The Supply Chain Worm) Worm inayoitwa Mini Shai-Hulud iliathiri zaidi ya vifurushi (packages) 170. Haiibi tu funguo na kuondoka. Inajisajili yenyewe kwenye faili zako za usanidi (config files). Inajificha kwenye .vscode/tasks.json au .claude/settings.json. Faili hizi huendesha kodi kiotomatiki unapofungua folda au kuanza kikao (session). Hata kama unafuta kifurushi kibaya, kishikizo (hook) chenye nia mbaya hubaki kwenye diski yako.
- Kukwepa Orodha ya Kuruhusiwa (The Allowlist Bypass)
Edita ya Cursor hutumia orodha ya kuruhusiwa (allowlist) ili kufanya uendeshaji wa kiotomatiki (auto-run) uwe salama. Washambuliaji walipata njia ya kuikwepa kwa kutumia shell built-ins kama vile
export. Kwa kutumia prompt injection, mshambuliaji huifanya wakala (agent) aweke kigezo cha mazingira (environment variable) chenye sumu. Hii hufanya amri iliyoidhinishwa itende kazi kwa njia ambayo hukuikusudia. Udhibiti wa usalama ulishindwa kwa sababu ulijengwa kwa ajili ya binadamu, si mashine.
- Kukwepa Orodha ya Kuruhusiwa (The Allowlist Bypass)
Edita ya Cursor hutumia orodha ya kuruhusiwa (allowlist) ili kufanya uendeshaji wa kiotomatiki (auto-run) uwe salama. Washambuliaji walipata njia ya kuikwepa kwa kutumia shell built-ins kama vile
- Kasoro ya Itifaki (The Protocol Flaw) Proxy ya mcp-remote ina kasoro mbaya ya uingizaji amri (command injection flaw). Ukijiunganisha na seva ya MCP yenye nia mbaya, inaweza kutekeleza amri kwenye mashine yako wakati wa handshake. Hii hutokea kwa sababu mteja (client) unaiamini seva unayoifikia.
Swala la msingi ni rahisi. Wakala wa uandishi wa kodi hufuta mpaka kati ya data na amri. LLM huona maelekezo na data za nje kama kitu kimoja. Hakuna mpaka kati ya unachosema na kile ambacho ulimwengu unamwambia wakala.
Jinsi ya kujilinda:
- Tumia token za muda mfupi badala ya funguo za muda mrefu kwenye vigezo vyako vya mazingira (environment variables).
- Zima uendeshaji wa kiotomatiki (auto-run) kwa kazi yoyote inayogusa siri au uzalishaji (production).
- Chungulia faili zako za usanidi kama .claude/settings.json kwa mabadiliko yasiyotarajiwa.
- Chukulia uthibitisho wa asili (provenance attestations) kama ushahidi wa chanzo, si ushahidi wa usalama.
- Funga utegemezi wako (dependencies) kwenye hash mahususi.
Mtendee wakala wako wa AI kama mchakato mwingine wowote wenye mamlaka makubwa (high-privilege process). Unahitaji mipaka madhubuti.
Ikiwa unaendesha wakala katika hali ya auto-run, unaamua vipi lini kumruhusu afanye kazi na lini kumsimamisha?
Source: https://dev.to/kkierii/i-gave-claude-code-the-keys-so-did-a-worm-34a4
Optional learning community: https://t.me/GyaanSetuAi