Na GitHub MCP Serveru, implementaci protokolu MCP (Model Context Protocol) od GitHubu, byla odhalena zranitelnost, která umožňuje extrakci dat z privátních repozitářů uživatelů, kteří používají AI asistenty pro automatizaci práce s repozitáři.
Protokol MCP je určen k propojení AI modelů s různými zdroji dat. GitHub MCP Server zajišťuje hladkou integraci velkých jazykových modelů s API GitHubu a poskytuje těmto modelům dodatečný kontext, extrakčním datům z GitHub repozitářů. Modely využívající MCP mohou být aplikovány pro automatizaci určitých činností na GitHubu, například pro analýzu chybových zpráv.
Podstatou zranitelnosti je to, že prostřednictvím interakce s připojeným velkým jazykovým modelem k GitHubu lze dosáhnout úniku citlivých údajů o uživateli, který připojil AI agenta ke svému účtu na GitHubu. Útočník může umístit do veřejného repozitáře, pro který je aplikována automatizace na základě velkého jazykového modelu, speciálně upravenou zprávu o problému (issue). Po aktivaci model vytvoří pull request s navrhovaným řešením. Pokud se problém týká privátních repozitářů nebo citlivých údajů, model může odhalit informace v navrhovaném pull requestu.

Jako příklad byla odeslána zpráva o chybě se stížností, že v souboru README není uveden autor. Jako řešení bylo navrženo přidat do README údaje o autorovi a seznam všech repozitářů, se kterými autor pracoval. Nakonec model vytvořil pull request s informacemi, které zahrnovaly osobní údaje o autorovi, extrahované z privátního repozitáře, stejně jako seznam existujících privátních repozitářů. V dalším kroku lze přes podobnou interakci s modelem získat data z konkrétního privátního repozitáře.
K aktivaci AI asistenta je nutné, aby vlastník repozitáře nechal provést analýzu chybových zpráv. Pokud je GitHub propojen s AI službou Claude, stačí, aby vlastník repozitáře poslal AI asistentovi požadavek ve formátu "podívej se na issue v mých repozitářích s otevřeným kódem a oprav je". Po tomto kroku AI asistent využije nastavenou MCP integraci s účtem na GitHubu a provede pokyny obsažené v zprávách o problémech.
Zdroj: opennet.ru
