drošība · 4 min · 12.07.2026

GitLost: GitHub aģentam pietika ar publisku jautājumu, lai noplūdinātu privātos repozitorijus

Drošības pētnieki no Noma Labs 6. jūlijā publicēja detalizētu aprakstu par uzbrukumu GitHub aģentiskajiem darbplūsmiem. Atklājums: uzbrucējam nav vajadzīgi akreditācijas dati un nav jābūt repozitorija dalībniekam. Pietiek atvērt jautājumu publiskajā repozitorijā — un GitHub AI aģents pats nolasīs privātā repozitorija saturu un publicēs to kā komentāru publiski redzamā vietā.

GitHub Agentic Workflows ir platforma, kas ļauj konfigurēt AI aģentus, kuri reaģē uz repozitorija notikumiem — jauna jautājuma atvēršanu, PR komentāru vai citu trigeri. Ja organizācija aģentam ir devusi lasīšanas piekļuvi vairākiem repozitorijiem, tas var izgūt failus no jebkura no tiem, arī privātajiem. Noma Labs pētnieks Sasi Levi šo konfigurāciju izmantoja kā uzbrukuma virsmu.

Uzbrukuma mehānisms

Pētnieki publiskajā GitHub repozitorijā atvēra jautājumu, kura parastā angļu tekstā bija iebūvētas slēptas instrukcijas. Agentic Workflow, kas bija konfigurēts reaģēt uz jauniem jautājumiem, apstrādāja šo saturu kā komandu kopu. Rezultātā aģents nolasīja README.md failus no organizācijas repozitorijiem un publicēja tos kā atbildi uz publiski redzamu jautājumu. Visa noplūde notika bez konta kompromitēšanas un bez jebkāda kļūdas paziņojuma sistēmā.

Uzbrukuma priekšnosacījums: Agentic Workflow konfigurācijā ir lasīšanas piekļuve vairākiem repozitorijiem organizācijā. Tā ir izplatīta iestatījumu kopa organizācijās, kas izmanto aģentus automātiskai atbildēšanai uz jautājumiem vai koda pārskatīšanai.

Kā viens vārds apiet aizsargsistēmu

GitHub aģentiskajās darbplūsmās ir iebūvēti filtri pret prompt injection uzbrukumiem. The Register reportāžā Noma Labs norādīja, ka viena vārda pievienošana — “Additionally” — pilnībā apiet šos filtrus. Modelis, saņemot šo vārdu, pārkārto atbildes struktūru un sāk pildīt slēptās instrukcijas.

Šis atradums norāda uz strukturālu trūkumu filtru pieejā: to sarakstu nav iespējams padarīt pilnīgu, ja modelis var mainīt uzvedību uz neparedzamiem trigeriem. Noma Labs norāda, ka netiešās prompt injekcijas aģentiskajās sistēmās darbojas līdzīgi SQL injekcijām tīmekļa lietojumprogrammās — abos gadījumos ievades datus apstrādā sistēma, kas nespēj uzticami atšķirt datus no instrukcijām.

Ko PoC eksperiments parādīja

Pētnieki demonstrēja noplūdi praksē: aģents nolasīja README.md failu no privātā repozitorija sasinomalabs/testlocal un publicēja tā saturu publiskā jautājumā. Eksperimentā tika izgūts saturs arī no diviem publiskiem repozitorijiem — sasinomalabs/poc un sasinomalabs/remote-ping — lai parādītu, ka aģents vienā uzbrukumā apstrādā vairākus avotus.

GitHub nav atbildējis un nav labojis

Noma Labs veica atbildīgu izpaušanu GitHub pirms publicēšanas. The Register, kas lūdza GitHub komentāru, atbildi nesaņēma. Nav ne koda labojuma, ne dokumentācijas atjauninājuma ar ieteikumiem administratoriem.

Pētnieki secina, ka pilnīgs koda labojums nav iespējams: caurums nav konkrētā koda rindiņā, bet gan AI modeļa spējā sekot instrukcijām no jebkura ievades avota. SecurityWeek norāda, ka risku mazina stingrāks piekļuves modelis — aģentam nedrīkst dot piekļuvi resursiem, kuri nav nepieciešami konkrētajam uzdevumam.

“Netiešās prompt injekcijas ir SQL injekciju ekvivalents aģentiskajās AI sistēmās.” — Noma Labs

Kas jādara organizācijām

Tūlītēja darbība: pārskatīt GitHub Agentic Workflows konfigurāciju un atcelt lasīšanas piekļuvi repozitorijiem, kuri nav tieši vajadzīgi konkrētajam aģentam. Aģentiem, kas apstrādā ārēji iesniegtu saturu — jautājumus un PR komentārus — nedrīkst dot piekļuvi sensitīviem resursiem bez papildu validācijas slāņa, kas nav pats modelis.

GitLost nav izolēts gadījums. Aģentiskas sistēmas ar piekļuvi reāliem resursiem kļūst par uzbrukuma mērķi, un ievades validācija, kas pietika tīmekļa formai, aģentam ar augstām privilēģijām var nebūt pietiekama.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no drošībasaistītie