Przejdź do głównej zawartości

Prywatność i bezpieczeństwo

Twoja firma właśnie zatwierdziła Cursora dla zespołu inżynierskiego, ale przegląd bezpieczeństwa zgłosił trzy obawy: kod jest wysyłany do zewnętrznych dostawców AI, agenci mogą wykonywać dowolne polecenia w terminalu, a serwery MCP tworzą połączenia sieciowe, których zespół nie w pełni rozumie. Twój CISO chce odpowiedzi, zanim wdrożenie będzie kontynuowane.

To nie jest hipotetyczny scenariusz — to standardowa rozmowa, która ma miejsce przed każdym wdrożeniem Cursora w przedsiębiorstwie. Zrozumienie modelu bezpieczeństwa Cursora i wiedza, które kontrole włączyć, jest niezbędne do używania go w środowiskach produkcyjnych z wrażliwymi bazami kodu.

  • Jasne zrozumienie, jakie dane Cursor wysyła do dostawców AI, a co pozostaje lokalnie
  • Konfiguracja trybu prywatności i jego kompromisy
  • Kontrole bezpieczeństwa poleceń terminalowych i bezpieczna konfiguracja auto-run
  • Kwestie bezpieczeństwa serwerów MCP
  • Możliwości SSO, SCIM i audytu w planach Enterprise

Domyślnie Cursor wysyła następujące dane do dostawców modeli AI:

  • Kontekst kodu: Pliki i fragmenty kodu zawarte w twoim prompcie (przez wzmianki @file, otwarte karty lub eksplorację agenta)
  • Tekst promptu: Instrukcje w języku naturalnym, które wpisujesz
  • Wyjście terminala: Gdy agent uruchamia polecenia i czyta wyjście
  • Wyniki wyszukiwania: Gdy agent przeszukuje twoją bazę kodu, dopasowany kod jest wysyłany jako kontekst

Cursor nie wysyła całej twojej bazy kodu. Wysyła tylko konkretne pliki i fragmenty kodu, które są istotne dla bieżącego promptu. Indeks wyszukiwania semantycznego jest budowany lokalnie i odpytywany lokalnie — tylko wyniki są dołączane do żądania AI.

Tryb prywatności zapewnia, że twój kod nie jest przechowywany ani używany do trenowania przez dostawców AI. Włącz go w Cursor Settings > Privacy. Gdy tryb prywatności jest włączony:

  • Kod wysłany do modeli AI nie jest zatrzymywany po wygenerowaniu odpowiedzi
  • Twoje prompty i kod nie są używane do trenowania ani ulepszania modeli
  • Cursor nie buforuje twojego kodu na swoich serwerach poza tym, co jest potrzebne do wygenerowania odpowiedzi

Agenci mogą sugerować i uruchamiać polecenia terminala. Domyślnie każde polecenie wymaga twojej ręcznej zgody przed wykonaniem. To najważniejsza kontrola bezpieczeństwa w Cursorze.

Jeśli chcesz włączyć auto-run dla produktywności przy jednoczesnym zachowaniu bezpieczeństwa, użyj podejścia z listą dozwolonych:

Cursor ma tryb, który pomija wszystkie zatwierdzenia poleceń terminala. Oficjalna dokumentacja wyraźnie ostrzega przed jego używaniem: “Never use ‘Run Everything’ mode, which skips all safety checks.” To nie jest funkcja do włączania w jakimkolwiek środowisku, gdzie bezpieczeństwo ma znaczenie.

Lista dozwolonych działa na zasadzie najlepszej starań — dokumentacja przyznaje, że możliwe są obejścia. Traktuj ją jako warstwę wygody, nie granicę bezpieczeństwa. Zawsze przeglądaj kod wygenerowany przez agenta przed zatwierdzeniem, niezależnie od ustawień auto-run.

MCP (Model Context Protocol) rozszerza możliwości Cursora, łącząc go z zewnętrznymi narzędziami i źródłami danych. Każde połączenie MCP wymaga twojej wyraźnej zgody. Po zatwierdzeniu, poszczególne wywołania narzędzi nadal domyślnie wymagają zatwierdzenia przy każdym wywołaniu.

  • Instaluj serwery MCP tylko z zaufanych źródeł
  • Przejrzyj, jakie możliwości zapewnia każdy serwer MCP, przed zatwierdzeniem połączenia
  • Pamiętaj, że serwery MCP mogą wykonywać żądania sieciowe — zweryfikuj, dokąd trafiają dane
  • W środowiskach enterprise utrzymuj zatwierdzoną listę serwerów MCP

Użyj .cursorignore, aby uniemożliwić agentowi dostęp do wrażliwych plików:

# Secrets and credentials
.env
.env.*
*.pem
*.key
credentials/
secrets/
# Infrastructure credentials
terraform.tfstate
*.tfvars
# CI/CD secrets
.github/workflows/*secrets*
# Database dumps
*.sql.gz
*.dump

To uniemożliwia agentowi czytanie tych plików podczas eksploracji. W połączeniu z .gitignore zapewnia wielowarstwową ochronę przed przypadkowym ujawnieniem.

Plany Enterprise wspierają:

  • SSO (Single Sign-On): Uwierzytelnianie oparte na SAML przez twojego dostawcę tożsamości
  • SCIM: Automatyczne provisionowanie i deprovisionowanie użytkowników

Integrują się ze standardowymi dostawcami tożsamości (Okta, Azure AD, Google Workspace).

Użyj reguł zespołowych (zarządzanych z panelu Cursor) do wymuszania praktyk bezpieczeństwa:

Security requirements for all team members:
- Never hardcode API keys, passwords, or connection strings
- All secrets must come from environment variables
- Never run database migration commands in production environments
- Always use parameterized queries, never string concatenation for SQL
- Review all agent-generated code for injection vulnerabilities before committing

Reguły zespołowe z flagą “Enforce” nie mogą być wyłączone przez indywidualnych deweloperów.

Włącz workspace trust dla dodatkowego bezpieczeństwa przy otwieraniu niezaufanych repozytoriów:

{
"security.workspace.trust.enabled": true
}

Po włączeniu, otwarcie nowego repozytorium prosi o wybór między trybem normalnym a ograniczonym. Tryb ograniczony limituje funkcje AI. Dla niezaufanych repozytoriów Cursor zaleca korzystanie z prostego edytora tekstu.

Tryb prywatności blokuje funkcję, której potrzebujesz. Background Agents wymagają wyłączenia trybu prywatności. Jeśli potrzebujesz agentów chmurowych z ograniczeniami prywatności, oceń, czy zadania mogą być wykonane lokalnym trybem Agent.

Agent czyta plik, który powinien być tajny. Natychmiast zaktualizuj .cursorignore. Przejrzyj historię czatu, aby zobaczyć, jaki kontekst został wysłany. Zrotuj wszelkie poświadczenia, które mogły zostać ujawnione.

Serwer MCP wykonuje nieoczekiwane żądania sieciowe. Natychmiast wyłącz serwer MCP w ustawieniach Cursora. Sprawdź, do jakich danych serwer miał dostęp. Zainstaluj ponownie dopiero po zrozumieniu zachowania serwera.

Auto-run wykonuje coś, czego nie powinien. Zaostrz listę dozwolonych. Pamiętaj, że lista dozwolonych działa na zasadzie najlepszej starań. W środowiskach o wysokim poziomie bezpieczeństwa wyłącz auto-run całkowicie i zatwierdzaj każde polecenie ręcznie.