Îò ÷àñòíîãî ê îáùåìó
Ñåðâèñ GitHub îêàçàëñÿ íåñïîñîáåí îáåñïå÷èòü äîñòîéíóþ çàùèòó ïðèâàòíûì (çàêðûòûì) ðåïîçèòîðèÿì, âëàäåëüöû êîòîðûõ íå õîòÿò, ÷òîáû ñîäåðæàùèåñÿ â íèõ ôàéëû ñòàëè äîñòîÿíèåì îáùåñòâåííîñòè. Ïîä óãðîçîé ðàñïðîñòðàíåíèÿ èíôîðìàöèè íàõîäÿòñÿ íå òîëüêî ÷àñòíûå ïîëüçîâàòåëè, íî è êîìïàíèè, õðàíÿùèå êîä ñâîèõ ïðîåêòîâ íà GitHub.
Êàê ïèøåò ïîðòàë Dev Class, ïðîáëåìà ñêðûâàåòñÿ ïðîòîêîëå GitHub MCP Server, (Model Context Protocol), êîòîðûé èñïîëüçóåòñÿ äëÿ ïîäêëþ÷åíèÿ ÈÈ-ìîäåëåé ê ðàçëè÷íûì èñòî÷íèêàì èíôîðìàöèè.  íåì ñîäåðæèòñÿ óÿçâèìîñòü, ýêñïëóàòàöèÿ êîòîðîé îòêðûâàåò äîñòóï ôàêòè÷åñêè ê ëþáîìó ôàéëó èç ëþáîãî ïðèâàòíîãî õðàíèëèùà.
«Äûðó» â ïðîòîêîëå âûÿâèëà ãðóïïà èññëåäîâàòåëåé èç øâåéöàðñêîé êîìïàíèè Invariant Labs. Â íàñòîÿùåå âðåìÿ GitHub, êàê è âñå âñòðîåííûå â íåãî òåõíîëîãèè, ÿâëÿåòñÿ ñîáñòâåííîñòüþ êîðïîðàöèè Microsoft.
Êàê âñå ðàáîòàåò
GitHub MCP Server îáåñïå÷èâàåò ÈÈ-ìîäåëÿì äîñòóï ê èíôîðìàöèè èç ðåïîçèòîðèåâ. Ïî ìíåíèþ ñïåöèàëèñòîâ Invariant Labs, ïðîáëåìà êðîåòñÿ äàæå íå ñòîëüêî â êîäå ïðîòîêîëà, ñêîëüêî â åãî àðõèòåêòóðå. Óòå÷åê ìîæíî èçáåæàòü, åñëè ðàçðàáîò÷èêè áóäóò òùàòåëüíî ïðîâåðÿòü è îäîáðÿòü äåéñòâèÿ ÈÈ-àãåíòîâ. Îäíàêî èññëåäîâàòåëè ïîäîçðåâàþò, ÷òî ïîëüçîâàòåëè ìîãóò âûáðàòü ïîëèòèêó ïîäòâåðæäåíèÿ «âñåãäà ðàçðåøàòü», ÷òîáû óïðîñòèòü ïðîöåññ ïîëüçîâàíèÿ ðåïîçèòîðèÿìè.
Îñíîâà ñöåíàðèÿ èñïîëüçîâàíèÿ óÿçâèìîñòè çàêëþ÷àåòñÿ â òîì, àòàêóåìûé âëàäåëåö ïðèâàòíîãî ðåïîçèòîðèÿ òàêæå ìîæåò èìåòü è îòêðûòîå õðàíèëèùå.  ýòîì ñëó÷àå çëîóìûøëåííèê ìîæåò ðàçìåñòèòü â ýòîì ïóáëè÷íîì ðåïîçèòîðèè îò÷åò î ïðîáëåìå (issue), êàñàþùåéñÿ ðåïîçèòîðèÿ ÷àñòíîãî. Òóò âàæíî, ÷òîáû âëàäåëåö îòêðûòîãî õðàíèëèùà àêòèâèðîâàë â íåì àâòîìàòèçàöèþ íà îñíîâå èñêóññòâåííîãî èíòåëëåêòà.
Åñëè àâòîìàòèçàöèÿ âêëþ÷åíà, ïîñëå ðàçìåùåíèÿ îò÷åòà î ïðîáëåìå íåéðîñåòü ñîçäàñò çàïðîñ íà âíåñåíèå èçìåíåíèé â êîä (pull request), â êîòîðîì áóäåò ïðåäëîæåíèå ðåøåíèå ïî óñòðàíåíèþ îïèñàííîé ìîøåííèêîì ïðîáëåìû. À ïîñêîëüêó çàïðîñ èçíà÷àëüíî êàñàëñÿ ÷àñòíîãî ðåïîçèòîðèÿ, òî ÈÈ-ìîäåëü ðàñêðîåò âñþ èíôîðìàöèþ î íåì â pull request.
Íèêàêèõ òðóäíîñòåé
Íàøåäøèå áðåøü â ïðîòîêîëå GitHub ñïåöèàëèñòû Invariant Labs íåñêîëüêî ðàç ïðîâåðèëè åå â äåéñòâèè, ïðåæäå ÷åì âûëîæèòü èíôîðìàöèþ î íåé â èíòåðíåòå. Òàê, îíè íàïðàâèëè â îäèí èç ïóáëè÷íûõ ðåïîçèòîðèåâ óâåäîìëåíèå î ïðîáëåìå, çàêëþ÷àâøåéñÿ â îòñóòñòâèè â ôàéëå Readme óêàçàíèÿ àâòîðà ïðîåêòà.  êà÷åñòâå ðåøåíèÿ îíè ïðåäëîæèë âïèñàòü â ýòîò ôàéë íå òîëüêî èìÿ àâòîðà, íî è ñïèñîê âñåõ åãî ðåïîçèòîðèåâ.
ÈÈ-ìîäåëü îòðåàãèðîâàëà íà ýòî òàê, êàê è çàäóìûâàëè èññëåäîâàòåëè – îíà ñîçäàëà pull request, â êîòîðîì âûëîæèëà èíôîðìàöèþ îá àâòîðå èç åãî ïðèâàòíîãî ðåïîçèòîðèÿ. Ñïèñîê åãî çàêðûòûõ õðàíèëèù òîæå ïðèñóòñòâîâàë â ñîçäàííîì ÈÈ çàïðîñå íà èñïðàâëåíèå.
Èññëåäîâàòåëè îòìåòèëè, ÷òî ýòî ïåðâûé øàã â ïîëó÷åíèè õðàíÿùåéñÿ â ÷àñòíûõ õðàíèëèùàõ èíôîðìàöèè. Çíàÿ èõ íàçâàíèå, ìîæíî ÷åðåç àíàëîãè÷íóþ ïðîöåäóðó ñ îïèñàíèåì ïðîáëåìû äîáðàòüñÿ äî èíôîðìàöèè â êàæäîì èç íèõ.
Ê ìîìåíòó âûõîäà ìàòåðèàëà Microsoft íå êîììåíòèðîâàëà ñòîëü çíà÷èòåëüíóþ «äûðó» â åå ñåðâèñå. Ñðîêè åå èñïðàâëåíèÿ èçâåñòíû íå áûëè, êàê è êîëè÷åñòâî ïîñòðàäàâøèõ îò åå ýêñïëóàòàöèè ïîëüçîâàòåëåé GitHub.



