Pe serverul GitHub MCP, implementarea protocolului MCP (Model Context Protocol) de la GitHub, a fost descoperită o vulnerabilitate care permite extragerea de date din repozitoriile private ale utilizatorilor care folosesc asistenți AI pentru automatizarea muncii cu repozitoriile.
Protocolul MCP este destinat legării modelelor AI cu diverse surse de date. Serverul GitHub MCP asigură o integrare fluidă a modelelor lingvistice mari cu API-ul GitHub, oferind acestor modele un context suplimentar prin extragerea de date din repozitoarele GitHub. Modelele care utilizează MCP pot fi aplicate pentru automatizarea anumitor acțiuni pe GitHub, de exemplu, pentru analiza mesajelor de eroare.
Esenta vulnerabilității constă în faptul că, prin interacțiunea cu o mare model lingvistic conectată la GitHub, se poate obține divulgarea unor date confidențiale despre utilizatorul care a legat agentul AI de contul său de GitHub. Atacatorul poate publica într-un repozitoriu public, pentru care se aplică automatizarea bazată pe un model lingvistic mare, un raport despre problemă (issue) contruit special. După activare, modelul va genera un pull request cu soluția propusă. Prin urmare, dacă problema se referă la repozitorii privați sau date confidențiale, modelul poate dezvălui informații în pull request-ul sugerat.

De exemplu, a fost trimis un mesaj despre eroare cu plângerea că în fișierul README nu este menționat autorul. Ca soluție, mesajul a propus adăugarea informațiilor despre autor în README și o listă a tuturor repozitoriilor cu care a colaborat autorul. În final, modelul a creat un pull request cu informații care includeau date personale despre autor, extrase dintr-un repozitoriu privat, precum și o listă a repozitoriilor private existente. În etapa următoare, printr-o interacțiune similară cu modelul, se pot obține și date dintr-un anumit repozitoriu privat.
Pentru a activa agentul AI, este necesar ca proprietarul repository-ului să comande analiza mesajelor de eroare. Dacă GitHub este conectat la serviciul AI Claude, este suficient ca proprietarul repository-ului să trimită asistentului AI o solicitare de genul „verifică problemele din repository-urile mele cu cod deschis și rezolvă-le”. După aceasta, asistentul AI va utiliza integrarea MCP configurată cu contul GitHub și va executa instrucțiunile conținute în mesajele despre probleme.
Sursa: opennet.ro
