𝗞𝗶𝘁𝘂 𝗨𝗹𝗶𝗰𝗵𝗼𝗸𝗶𝗵𝗮𝗸𝗶𝗸𝗶 𝗦𝗶 𝗞𝗶𝗹𝗲 𝗞𝗶𝗻𝗮𝗰𝗵𝗼𝘁𝗲𝗸𝗲𝗹𝗲𝗓𝘄𝗮

Zana mpya hivi karibuni imepata umaarufu. Inakaa mbele ya amri kama curl na kukuonyesha skripti kabla haijatekelezwa. Inaangazia sehemu zenye hatari. Zana hii ni muhimu, lakini inakosa tatizo la msingi.

Tatizo si kwamba bayti zinaonekana kuwa na nia mbaya. Tatizo ni kwamba URL inaweza kutoa skripti moja leo na nyingine tofauti kesho. Uhakiki wako unahusu wakati mmoja tu.

Wataalamu wa mifumo huiita hii TOCTOU. Inasimama badala ya time-of-check to time-of-use. Unahakiki faili, kisha mtu anabadilisha kabla hujaifungua. Uhakiki wako ulikuwa sahihi, lakini ulikuwa sahihi kuhusu kitu ambacho hakipo tena.

Mawakala wa AI hufanya hatari hii kuwa kubwa zaidi. Mawakala hufanya uhakiki mara kwa mara.

  • Mwakala hupiga 'ping' kwenye URL na kuchukulia jibu lililofanikiwa kama ishara ya usalama.
  • Mwakala husoma wasifu na kuchukulia tamko kama ukweli.
  • Mwakala huona saini na kudhania kuwa bayti halisi atakazozitekeleza ndizo zilizosainiwa.

Kila uhakiki unaambatisha imani kwenye wakati fulani au njia fulani. Kisha wakala hufanyia kazi kitu kingine cha baadaye ambacho uhakiki huo haukuwahi kukihusisha.

Kwa mfano, wakala anaweza kuhakiki tool manifest na kuhifadhi matokeo (cache). Ikiwa endpoint itabadilika kabla ya wakala kuita zana hiyo, wakala atatekeleza toleo lisilo sahihi. Uhakiki ulipita, lakini ulipita kwa manifest ambayo wakala haitumii tena.

Jaribio la kurekebisha hili kwa kuongeza ukali wa ukaguzi halifanyi kazi. Sheria zaidi zinapunguza tu dirisha la muda. Hazifungi dirisha hilo. Mtengenezaji bado anaweza kutoa artifact tofauti katika milisekunde chache kati ya ukaguzi wako na utekelezaji wako.

Ili kurekebisha hili, acha kuhakiki wakati. Anza kuhakiki artifact.

Unganisha maamuzi yako kwenye kitu kisichobadilika (immutable object) badala ya fetch.

  • Usikubali URL.
  • Kubali content hash mahususi.
  • Hata bora zaidi, kubali hash ambayo ufunguo unayeiamini uliisaini.

Hii inabadilisha swali kutoka "je, maandishi haya yanaogopesha?" kwenda "je, hii ndiyo artifact halisi ambayo ufunguo uliidhibitisha?" Ikiwa hash hailingani, unakataa. Hakuna mjadala.

Njia hii pia inafanya uhakiki uweze kubebeka (portable). Upande wa tatu unaweza kuchukua hash na saini ile ile ili kuhakiki matokeo wenyewe. Hii ni sifa ya kitu chenyewe, si sifa ya muda wako wa mchana.

Tumia maswali haya mawili kupima uhakiki wowote:

  1. Je, ukaguzi umeunganishwa na artifact halisi iliyotumiwa, au na wakati fulani na ahadi?
  2. Je, mtu asiyejulikana anaweza kurudia ukaguzi huo na kufikia uamuzi uleule?

Ikiwa jibu la swali la kwanza ni wakati, basi ukaguzi huo una tarehe ya mwisho. Ikiwa jibu la swali la pili ni hapana, basi huna uhakiki. Una ushahidi tu.

Uhakiki mwingi wa wakala (agent) kwa sasa ni ushahidi tu. "Handshake ilifanikiwa" au "skani ilikuwa safi" ni kauli za kweli kuhusu wakati fulani, lakini haziambatani na byte zinazotekelezwa halisi.

Wakala (agents) hufanya kazi maelfu ya mara bila uangalizi wa binadamu. Ikiwa hutaegemeza imani kwenye artifact, mnyororo mzima utapokea ukaguzi dhaifu zaidi na wa zamani zaidi.

Huhitaji teknolojia mpya ili kurekebisha hili. Content addressing na saini za kidijitali ni za miongo mingi. Unahitaji tu kuelekeza kwenye kitu sahihi: byte halisi zinazotekelezwa, si ombi lililozileta.

Kabla ya kuamini ukaguzi, jua unachofungamana nao. Ikiwa unaambatana na wakati fulani, basi muda wake tayari umeshaisha.

Chanzo: https://dev.to/anp2network/the-thing-you-verified-is-not-the-thing-that-runs-hnl

Jumuia ya kujifunza ya hiari: https://t.me/GyaanSetuAi