{"schema_version":"1.0","service":"Publicasta","type":"article","id":168,"slug":"cursor_repo_poisoning_windows_trust_boundary_2026_07_19","title":"Cursor, git.exe i granica zaufania na komputerach programistów","excerpt":"Sprawa Cursor nie wymaga paniki. Pokazuje, że nieznane repozytoria, narzędzia AI i Windows workstations potrzebują ostrzejszych granic zaufania.","language":"pl","default_language":"en","canonical_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl","image":{"url":"https://publicasta.com/storage/projects/9/pages/168/2026/07/e0ff711c-833e-4abc-bdc4-f2e4b0ab07ea.webp","alt":"Stacja robocza programisty z podejrzanym plikiem repozytorium odizolowanym od sekretów"},"publisher":{"id":9,"slug":"cybersecurity","name":"Cyberbezpieczeństwo bez paniki","url":"https://publicasta.com/cybersecurity"},"author":{"name":"Anton R"},"published_at":"2026-07-19T17:17:07+00:00","updated_at":"2026-07-19T17:17:07+00:00","content_markdown":"Głośna wersja brzmi: „0-day w edytorze AI sam uruchamia kod”. Przydatniejsza jest spokojna wersja. Mindgard twierdzi, że Cursor na Windows może uruchomić `git.exe` z katalogu głównego otwartego repozytorium podczas szukania Git. Cursor odpowiada, że ryzyko jest wąskie i należy do shared responsibility za niezaufane wejścia workspace. Praktyczny wniosek: otwarcie nieznanego repozytorium w narzędziu AI dla programistów nie jest już całkiem pasywne.\n\n ![Stacja robocza programisty z podejrzanym plikiem repozytorium odizolowanym od sekretów](https://publicasta.com/storage/projects/9/pages/168/2026/07/e0ff711c-833e-4abc-bdc4-f2e4b0ab07ea.webp)\n\n W proof of concept Mindgard Windows Calculator został nazwany `git.exe`, umieszczony w root repozytorium i uruchomiony przy otwarciu projektu w Cursor. To nie prompt injection, nie dowód kompromitacji wszystkich użytkowników i nie potwierdzenie dla macOS/Linux. Warunki są konkretne: Windows, Cursor, malicious executable nazwany dokładnie `git.exe` i zachowanie ładowania projektu, które wywołuje Git discovery.\n\n ## Co wiadomo\n\n Mindgard mówi, że Cursor sprawdza kilka lokalizacji dla Git i może wykonać binary z workspace. Cyber Security News cytował logi Process Monitor, gdzie `Cursor.exe` uruchamia plik poleceniem `git rev-parse --show-toplevel`. The Hacker News dodał zastrzeżenie: publiczny opis nie przesądza, czy Cursor sam szuka w workspace, czy przekazuje Windows gołe `git`, a system stosuje swoją kolejność wyszukiwania.\n\n Dla obrony skutek jest podobny: plik z projektu przechodzi z „czytany” do „wykonany” przed jasną decyzją zaufania. To stara klasa — untrusted search path / current-directory executable resolution — w nowym kontekście AI IDE.\n\n Ważne ograniczenie: The Hacker News podał, że ostatnia datowana weryfikacja Mindgard dotyczyła Cursor 3.2.16 z 30 kwietnia, a aktualna wtedy wersja to 3.11 z 10 lipca. Nie znaleziono oficjalnego advisory Cursor ani CVE konkretnie dla tego `git.exe`. Zespoły powinny sprawdzić własną wersję, changelog i ustawienia.\n\n ## Stanowisko Cursor\n\n Cursor uznał report za poza zakresem bug bounty. Firma mówi o shared responsibility: klienci wybierają repozytoria, prompty, MCP servers, rules and tools, a Cursor daje controls for trust boundary. Warunki mają być wąskie: Windows i folder z malicious `git.exe` w root. Cursor wskazuje Workspace Trust / restricted mode i przyznaje, że komunikacja z badaczem była spóźniona.\n\n Shared responsibility ma sens, ale nie usuwa product responsibility. „Otworzyłem folder, żeby czytać kod” to nie „zgodziłem się uruchomić binary z tego folderu”. Im więcej IDE automatyzuje, tym wyraźniejsza musi być granica między reading and running.\n\n ## Dlaczego to ważne bez paniki\n\n Dyskusja na Hacker News była przewidywalna. Jedni mówią, że malicious executable w repo to znane ryzyko Windows. Drudzy odpowiadają, że klonowanie i otwieranie repozytoriów to normalna praca maintainerów, reviewerów i security teams. Różnica między ręcznym uruchomieniem polecenia a startem przy otwieraniu projektu to właśnie trust boundary.\n\n W sprawdzonych źródłach nie ma potwierdzonego exploitation in the wild. To obniża alarm, ale nie zastępuje kontroli.\n\n ## Nie mylić z DuneSlide\n\n DuneSlide, CVE-2026-50548 i CVE-2026-50549, to inny przypadek Cursor: prompt injection i sandbox escape, według The Hacker News naprawione w Cursor 3.0. Sprawa Mindgard `git.exe` dotyczy local executable resolution podczas ładowania projektu.\n\n ## Co zrobić\n\n Zaktualizuj Cursor i śledź oficjalne notatki. Włącz Workspace Trust lub restricted mode dla nieznanych folderów. Nie otwieraj obcych repozytoriów na głównym hoście: użyj Windows Sandbox, VM, devcontainer albo disposable cloud environment. Sprawdź root projektu pod kątem executables, `.cmd`, `.ps1`, hooks, tasks and wrappers.\n\n Zespoły powinny mieć praktyczną politykę: unknown repos w izolacji, production secrets poza zwykłymi sesjami dev, agenci bez szerokich cloud-admin privileges. Na Windows można testować AppLocker lub Windows Defender Application Control dla ścieżek workspace. EDR może alarmować, gdy `Cursor.exe` uruchamia binary z katalogu repo.\n\n ## Lekcja\n\n To nie powód do paniki wokół Cursor. To powód, by traktować developer workstation jako attack surface. Nieznane repozytoria są executable content until proven otherwise. Narzędzia AI potrzebują bezpieczniejszych defaultów i widocznych granic zaufania.","available_translations":[{"language":"de","title":"Cursor, git.exe und die Vertrauensgrenze auf Entwicklerrechnern","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=de","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=de","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=de","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=de"},{"language":"en","title":"Cursor, git.exe, and the Trust Boundary Developers Keep Crossing","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=en","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=en","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=en","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=en"},{"language":"es","title":"Cursor, git.exe y la frontera de confianza que los desarrolladores cruzan a diario","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=es","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=es","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=es","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=es"},{"language":"fr","title":"Cursor, git.exe et la frontière de confiance des postes développeurs","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=fr","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=fr","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=fr","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=fr"},{"language":"pl","title":"Cursor, git.exe i granica zaufania na komputerach programistów","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=pl","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=pl","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl"},{"language":"ru","title":"Cursor, git.exe и граница доверия, которую разработчики переходят слишком легко","html_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=ru","markdown_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=ru","json_url":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=ru","api_url":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=ru"}],"_links":{"self":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=pl","api":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl","html":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl","canonical":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19?lang=pl","markdown":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.md?lang=pl","json":"https://publicasta.com/cybersecurity/cursor_repo_poisoning_windows_trust_boundary_2026_07_19.json?lang=pl","channel":"https://publicasta.com/api/public/v1/channels/cybersecurity","channel_articles":"https://publicasta.com/api/public/v1/channels/cybersecurity/articles","search":"https://publicasta.com/api/public/v1/search","documentation":"https://publicasta.com/api-docs#reading-publicasta","openapi":"https://publicasta.com/api-docs/openapi.json","llms":"https://publicasta.com/llms.txt"}}