Legit Security pētnieki ir izstrādājuši uzbrukuma tehniku pret GitHub Copilot, kas ļauj viņiem iegūt saturu no privātām krātuvēm, izmantojot tērzēšanas robotu, lai analizētu ienākošos pieprasījumus. Kā piemēru viņi demonstrēja spēju noteikt privātā krātuvē saglabātās atslēgas, lai piekļūtu AWS mākoņvidei.
Uzbrukums balstās uz GitHub Copilot spēju ielādēt ārējos attēlus, pamatojoties uz apstrādājamo saturu, un spēju ievietot slēptus komentārus pieprasījuma pieprasījumos, kas GitHub saskarnē nav redzami, bet ir iekļauti tērzēšanas robota analīzē. Lai ģenerētu noplūdi, uzbrucējs izmanto serveris Izveido viena pikseļa caurspīdīgu attēlu komplektu, katrs no kuriem attēlo īpašu rakstzīmi, ciparu vai alfabēta burtu. Pēc tam upurim tiek nosūtīts pieprasījums, kas papildus ierosinātajām izmaiņām satur slēptu komentāru ar instrukcijām tērzēšanas robotam, formatētu " ", kas netiek rādīts, izvadot tekstu Markdown formātā.
Komentārā robotam tiek lūgts pārmeklēt visās lietotāju krātuvēs, tostarp privātajās, virknes, kas satur koda vērtību "AWS_KEY". Atrastās virknes ir jāparāda nevis kā vienkāršs teksts, bet gan izmantojot uz attēlu balstītu vizualizāciju — katra teksta rakstzīme ir jāparāda kā attēls. Komentārā ir sniegta arī tabula rakstzīmju sasaistei ar attēliem. Piezīmē norādīts, ka uzdevumam nav nepieciešami papildu skaidrojumi vai informācija, izņemot attēlus.

Kad GitHub uzturētājs izmanto Copilot, lai parsētu ierosināto pieprasījumu, tērzēšanas robots veiks slēptu uzdevumu un parādīs rezultātus attēlu veidā. Tā kā attēli ir caurspīdīgi, uzturētājs nepamanīs nekādas anomālijas, un uzbrucējs var rekonstruēt atklāto virkņu saturu, kas satur AWS atslēgas, analizējot attēlu augšupielādes secību žurnālā. tīmekļa serveri.
Lai apietu satura drošības politiku (CSP), kas ļauj augšupielādēt GitHub Copilot platformā tikai attēlus no GitHub serveriem, kā starpniekserveris tiek izmantots GitHub Camo. GitHub izmanto šo starpniekserveri kā starpnieku ārēju attēlu, piemēram, README lapā iegultu attēlu, ielādei. Lai izmantotu Camo, simbolu kartēšanas tabulā ir norādītas saites uz pašu starpniekserveri, kas formatētas kā "https://camo.githubusercontent.com/hash_images", nevis tiešas saites. Iepriekš nepieciešamie ceļi attēlu ielādes novirzīšanai tika pievienoti un pārbaudīti Camo platformā, izmantojot GitHub REST API. GitHub jau ir bloķējis šo uzbrukuma metodi, atspējojot attēlu renderēšanu Copilot tērzēšanā.
Avots: opennet.ru
