Askar wprost stwierdził, że "nie ma zamiaru" ponownie przechodzić przez proces MSRC . Jego wcześniejszy błąd został początkowo zgłoszony do programu HackerOne GitHuba, gdzie personel wyraźnie poinformował go, że problem leży poza zakresem programu i powinien zostać skierowany do MSRC — biurokratyczne odesłanie sprawiło, że odkrycie pozostało bez nagrody i uznania
.
Exploit łączy trzy podatności w płynny łańcuch, który omija wszystkie granice bezpieczeństwa github.dev.
Webview w VS Code — izolowane piaskownice renderujące notatniki Jupyter, podglądy Markdown i podobną zawartość — są zaprojektowane jako bezpieczne komory. Aby jednak skróty klawiaturowe działały w ich obrębie, edytor przekazuje zdarzenia klawiatury z izolowanego Webview do głównego procesu edytora .
Złośliwy notatnik Jupyter wewnątrz repozytorium atakującego wysyła syntetyczne zdarzenia klawiatury (Ctrl+Shift+A, Ctrl+F1) z izolowanego Webview bezpośrednio do głównego okna VS Code . Te naciśnięcia klawiszy po cichu uruchamiają polecenie "Zainstaluj rozszerzenie" i omijają okno dialogowe zaufania weryfikujące wydawcę, które normalnie blokuje niezaufane rozszerzenia
.
Repozytorium atakującego zawiera wstępnie spakowane rozszerzenie VS Code przechowywane w folderze .vscode/extensions. Ponieważ github.dev traktuje rozszerzenia dostarczane razem z obszarem roboczym jako domyślnie zaufane, złośliwe rozszerzenie instaluje się bez żadnego monitu o zgodę użytkownika .
Po uruchomieniu złośliwe rozszerzenie zyskuje pełny dostęp do środowiska uruchomieniowego github.dev. Znajduje się w nim token OAuth GitHuba, który github.com po cichu przesyła (metodą POST) do github.dev, gdy otwierane jest dowolne repozytorium. Krytyczne jest to, że token ten nie jest ograniczony zakresem do aktualnie otwartego repozytorium — niesie on pełne uprawnienia dostępu użytkownika . Rozszerzenie wyodrębnia token, wysyła zapytanie do API GitHuba o listę prywatnych repozytoriów ofiary, a następnie przesyła zarówno token, jak i metadane repozytoriów do atakującego
.
Rezultat: pełen dostęp do odczytu i zapisu do każdego publicznego i prywatnego repozytorium, do którego ofiara ma dostęp, uzyskany za pomocą jednego kliknięcia w link .
Microsoft potwierdził istnienie luki 2 czerwca 2026 roku i zapewnił, że została ona złagodzona dla jego usług — konkretnie github.dev i VS Code for the Web .
3 czerwca Microsoft wdrożył po stronie serwera poprawki, w tym krok potwierdzenia zaufania przy otwieraniu notatników w przeglądarce oraz blokadę polecenia instalacji rozszerzeń przed akceptowaniem arbitralnych informacji o wywołującym . Do 4 czerwca wprowadzono dodatkowe ograniczenia w obsłudze zdarzeń Webview
.
Microsoft stwierdził, że problem nie dotyczy VS Code Desktop . Jednak podstawowy mechanizm — zaufanie do rozszerzeń przestrzeni roboczej przy niewystarczającej weryfikacji — budzi obawy o bezpieczeństwo każdego użytkownika VS Code, który otwiera niezaufane repozytoria lokalnie.
Łańcuch exploita jest niezwykły z trzech powodów.
Po pierwsze, powierzchnią ataku jest adres URL. Ofiary nie pobierają pliku, nie otwierają terminala ani nie zatwierdzają żadnych uprawnień. Jedynym warunkiem jest link w przeglądarce do github.dev.
Po drugie, zakres tokena jest niepokojąco szeroki. Token OAuth, który github.com przekazuje do github.dev, nie jest ograniczony do przeglądanego repozytorium. Niesie on pełne uprawnienia użytkownika na GitHubie, co oznacza, że atakujący, który przejmie konto programisty pracującego nad publicznym projektem open-source, zdobywa również poświadczenia do prywatnych repozytoriów pracodawcy tego programisty .
Po trzecie, zaufanie do przestrzeni roboczej jest odwrócone. Funkcja, która sprawia, że lokalne programowanie jest płynne — zaufanie do rozszerzeń dostarczanych wraz z projektem — staje się mechanizmem, który zapewnia złośliwemu ładunkowi automatyczne wykonanie.
Równolegle badacze ujawnili pięć luk zero-day we frameworku agenta AI OpenClaw, które pozwalają atakującym na podszywanie się pod użytkowników z listy dozwolonych i przejmowanie zaufanego dostępu agenta AI na wielu platformach komunikatorów .
Główną przyczyną jest architektura: OpenClaw obsługuje 15 różnych adapterów kanałów — Telegram, Slack, Discord, WhatsApp i inne — a każdy adapter samodzielnie implementuje autoryzację listy dozwolonych (allowlist) i weryfikację webhooka . Krytyczne dla bezpieczeństwa pola tożsamości używane do list dozwolonych, takie jak czytelne dla człowieka nazwy wyświetlane, są zmienne na poziomie platformy i są rozwiązywane do stabilnych identyfikatorów użytkowników w sposób niespójny w różnych adapterach
.
Ponieważ nie ma scentralizowanej warstwy wymuszania zasad, atakujący mogą:
Opublikowana 3 czerwca 2026 roku na arXiv analiza bezpieczeństwa zidentyfikowała luki w wielu warstwach architektonicznych (polityka wykonawcza, brama, kanał, piaskownica, przeglądarka, wtyczka, prompt), a dominującym wzorcem strukturalnym było wymuszanie zaufania na poziomie warstwy i miejsca wywołania zamiast ujednoliconych granic polityki . Analiza wykazała, że dyskretne słabości architektoniczne łączą się w kompletne ścieżki nieuwierzytelnionego zdalnego wykonania kodu
.
Comments
0 comments