Piegādes ķēžu drošība jau sen ir bijusi kaķa un peles spēle, taču nesens Aikido Security pētnieku atklājums liecina, ka pele ir atradusi veidu, kā kļūt neredzamai. Laikā no 2026. gada 3. marta līdz 9. martam sarežģīta kampaņa pārpludināja GitHub un citas lielākās krātuves ar 151 ļaunprātīgu pakotni. Atšķirībā no pagātnes tiposkvotinga (typosquatting) uzbrukumiem, kas balstījās uz to, ka lietotāji pieļauj kļūdu bibliotēkas nosaukumā, šīs pakotnes izmantoja neredzamas unikoda (Unicode) rakstzīmes, lai paslēptu ļaunprātīgu loģiku visiem redzamā vietā.
Šī tehnika atspoguļo nozīmīgu evolūciju tajā, kā uzbrucēji izmanto atvērtā pirmkoda ekosistēmām raksturīgo uzticēšanos. Izmantojot rakstzīmes, kuras cilvēka acs nevar redzēt, bet kuras kompilatori un interpreti apstrādā ar klīnisku precizitāti, draudu izpildītāji veiksmīgi apiet manuālo koda pārskatīšanu un tradicionālos drošības skenerus.
Šī uzbrukuma pamatā ir unikoda sarežģītība — starptautiskais standarts rakstzīmju kodēšanai no gandrīz visām rakstības sistēmām. Lai gan lielākā daļa no mums domā par unikodu emocijzīmju vai diakritisko zīmju kontekstā, standarts ietver arī dažādas "nedrukājamās" rakstzīmes. Tās ietver nulles platuma atstarpes, virziena maiņas zīmes un savienotājus, kas ekrānā neaizņem vizuālu vietu.
Kad izstrādātājs pārskata izmaiņu pieprasījumu (pull request) vai pārbauda bibliotēkas pirmkodu, viņa IDE vai teksta redaktors parasti šīs rakstzīmes neattēlo vispār. Tomēr Python interpretam vai JavaScript dzinējam šīs rakstzīmes ir atšķirīgi datu punkti. Uzbrucējs var ievietot ļaunprātīgu kodu virknē vai komentārā, kas cilvēkam izskatās tukšs, bet izpilda komandu, kad kods tiek palaists.
Piemēram, uzbrucējs varētu izmantot "Right-to-Left Override" (U+202E) rakstzīmi. Šī rakstzīme ir izstrādāta, lai atbalstītu tādas valodas kā arābu vai ivritu, apgriežot tai sekojošā teksta virzienu. Ļaunprātīgā kontekstā to var izmantot, lai fails ar nosaukumu annoying_executable.exe.txt izskatītos kā annoying_txt.exe, apmānot lietotāju palaist programmu, kuru viņš uzskata par vienkāršu teksta failu.
Gandrīz desmit gadus piegādes ķēžu drošība ir koncentrējusies uz "tiposkvotingu" un "atkarību sajaukšanu" (dependency confusion). Drošības rīki tika izveidoti, lai atzīmētu pakotnes ar tādiem nosaukumiem kā requesst nevis requests. Šie rīki lieliski prot atpazīt zināmas sliktas rakstzīmju virknes, taču tie saskaras ar grūtībām, kad runa ir par to, kā tur nav.
Daudzi mantotie statiskās analīzes drošības testēšanas (SAST) rīki paļaujas uz regulārajām izteiksmēm (regex), lai atrastu ievainojamības. Ja regex nav īpaši konfigurēts meklēt nedrukājamos unikoda diapazonus, tas tiem vienkārši pārleks pāri. Turklāt, tā kā šīs rakstzīmes ir derīgs unikods, tās ne vienmēr izraisa "bojāta faila" brīdinājumus. Kods joprojām ir sintaktiski pareizs, pat ja tā darbība ir slēpta.
Lai izprastu šī jaunā viļņa nopietnību, ir noderīgi to salīdzināt ar tradicionālākām krātuvju saindēšanas metodēm.
| Uzbrukuma metode | Galvenais mehānisms | Redzamība cilvēkam | Noteikšanas sarežģītība |
|---|---|---|---|
| Tiposkvotings | Nepareizi uzrakstīti pakotņu nosaukumi | Augsta (ja ieskatās uzmanīgi) | Zema |
| Atkarību sajaukšana | Iekšējo vs. publisko nosaukumu izmantošana | Zema | Vidēja |
| Neredzamais unikods | Nedrukājamas rakstzīmes pirmkodā | Nulle | Augsta |
| Konta pārņemšana | Uzturētāja akreditācijas datu nozagšana | Nav | Ļoti augsta |
151 pakotne, ko identificēja Aikido Security, nebija tikai koncepcijas pierādījumi; tie bija aktīvi mēģinājumi ievākt vides mainīgos, SSH atslēgas un mākoņpakalpojumu akreditācijas datus no izstrādātāju mašīnām. Līdz brīdim, kad pētnieki atzīmēja kampaņu, dažas no šīm pakotnēm jau bija integrētas automatizētos būvēšanas procesos, uzsverot ātrumu, kādā šie draudi izplatās.
Tas, kas padara šo konkrēto kampaņu ievērojamu, ir milzīgais sešu dienu laikā izlaisto pakotņu apjoms. Tas liecina par augstu automatizācijas pakāpi no uzbrucēja puses, visticamāk, izmantojot skriptus, lai ģenerētu populāru bibliotēku "ēnu" versijas un injicētu neredzamo kodu parastās utilītprogrammās.
Uzbrucējiem pārejot uz neredzamiem draudiem, izstrādātājiem un DevOps inženieriem ir jāpielāgo sava aizsardzības stratēģija. Paļaušanās uz vizuālu pārbaudi vairs nav pietiekama. Šeit ir praktiski soļi, lai mazinātu neredzamā koda injekcijas risku:
package-lock.json, poetry.lock vai requirements.txt ar specifiskiem hešiem. Tas neļauj jūsu būvēšanas sistēmai automātiski ielādēt ļaunprātīgu atkarības "jaunāko" versiju.Šo 151 pakotņu atklāšana ir skarbs atgādinājums, ka atvērtā pirmkoda piegādes ķēde ir dzīva ekosistēma ar mainīgiem plēsējiem. Pāreja uz neredzamiem unikoda uzbrukumiem rāda, ka draudu izpildītāji attālinās no sociālās inženierijas un pievēršas tehniskai slēpšanai, kas izmanto cilvēka uztveres robežas.
Virzoties tālāk 2026. gadā, nozarei ir jāpāriet uz "Zero Trust" modeli attiecībā uz atkarībām. Mēs vairs nevaram pieņemt, ka kods ir drošs tikai tāpēc, ka tas ekrānā izskatās tīrs. Pārbaudei jābūt algoritmiski pamatotai, automatizētai un pietiekami dziļai, lai saredzētu to, ko cilvēka acs nespēj.



Mūsu end-to-end šifrētais e-pasta un mākoņdatu glabāšanas risinājums nodrošina visefektīvākos līdzekļus drošai datu apmaiņai, garantējot jūsu datu drošību un konfidencialitāti.
/ Izveidot bezmaksas kontu