
Wprowadzenie do problemu / definicja luki
Salesforce poinformował o „nietypowej aktywności” dotyczącej aplikacji publikowanych przez Gainsight (partnera z AppExchange), która mogła umożliwić nieautoryzowany dostęp do danych części klientów poprzez zewnętrzne połączenie aplikacji z instancjami Salesforce. W reakcji Salesforce unieważnił wszystkie aktywne access i refresh tokeny powiązane z tymi aplikacjami oraz tymczasowo usunął je z AppExchange na czas śledztwa. Firma podkreśla, iż nie chodzi o lukę w samym rdzeniu platformy CRM, ale o wektor przez integrację z aplikacją zewnętrzną. Źródła branżowe wiążą sprawę z aktywnością grupy ShinyHunters, która miała wykorzystać poświadczenia powiązane z wcześniejszą kampanią Salesloft/Drift.
W skrócie
- Kiedy: komunikaty Salesforce oraz publikacje branżowe z 20–21 listopada 2025 r.
- Co się stało: wykryto nietypową aktywność na aplikacjach Gainsight połączonych z Salesforce; możliwy dostęp do danych przez łącze aplikacyjne. Tokeny OAuth/refresh zostały unieważnione, aplikacje tymczasowo wycofane z AppExchange.
- Skala: BleepingComputer relacjonuje deklaracje ShinyHunters o dostępie do ~285 instancji Salesforce; trwa weryfikacja.
- Jakie dane: Gainsight wcześniej potwierdzał, iż w incydencie powiązanym z Salesloft/Drift dostępne były głównie dane kontaktowe i treści części zgłoszeń wsparcia (bez załączników).
Kontekst / historia / powiązania
W sierpniu–wrześniu 2025 r. doszło do szerokiej kampanii kradzieży danych z instancji Salesforce przez kompromitację integracji Salesloft/Drift i kradzież tokenów OAuth. Wtedy ShinyHunters przypisywało sobie atak na setki firm. Obecny incydent z Gainsight ma podobny profil — wektor przez zaufane połączenie aplikacyjne, nie przez samą platformę Salesforce. Media odnotowują ciągłość taktyk: „przeskakiwanie” między SaaS-ami przez łańcuch integracji i nadmierne uprawnienia aplikacji.
Analiza techniczna / szczegóły luki
Kluczowym elementem jest OAuth oraz refresh tokeny wydawane dla aplikacji zewnętrznych (Connected Apps). Gdy aplikacja ma szerokie zakresy (scopes) i długowieczne refresh tokeny, atakujący, którzy zdobędą którykolwiek z sekretów (token, client secret, zapisane poświadczenia w logach/zgłoszeniach), mogą:
- Wydawać nowe access tokeny, choćby po wygaśnięciu poprzednich.
- Przeglądać/eksportować dane CRM przez API (np. obiekty Lead, Contact, Case, Opportunity).
- Omijać klasyczne kontrole użytkowników (MFA), bo autoryzacja odbywa się jako integracja aplikacyjna.
Salesforce zareagował zgodnie z najlepszą praktyką: całkowita revokacja tokenów dla dotkniętych aplikacji i ich czasowe wycofanie z AppExchange, aby przerwać łańcuch odświeżania. To minimalizuje możliwość dalszego „mintowania” access tokenów z przejętych refresh tokenów.
Praktyczne konsekwencje / ryzyko
- Ryzyko dla prywatności i zgodności: możliwy wyciek danych klientów B2B (dane kontaktowe, kontekst wsparcia), co uruchamia obowiązki notyfikacyjne (RODO/GDPR) i ryzyka phishingu ukierunkowanego. (Wcześniejsze oświadczenie Gainsight wskazywało właśnie taki profil danych).
- Ryzyko lateralne w SaaS: jeżeli te same kontakty/poświadczenia są używane w innych systemach, możliwe kampanie spear-phishing/smishing na konta zespołów sprzedaży i success.
- Ryzyko ciągłości działania: doraźne wyłączenie integracji Gainsight może wpływać na procesy CS/CRM, automatyzacje i raportowanie.
Rekomendacje operacyjne / co zrobić teraz
Dla administratorów Salesforce / SecOps:
- Inwentaryzuj i tymczasowo ogranicz wszystkie Connected Apps Gainsight (CS, PX, itp.) — sprawdź OAuth scopes, IP Relaxation, Permitted Users, Session Policies.
- Wymuś rotację: odłącz i ponownie autoryzuj integracje po oficjalnym przywróceniu; przeprowizjonuj klucze API/sekrety i zmień client secrets po stronie Gainsight.
- Przejrzyj logi: Event Monitoring (LoginEvent, ApiEvent, ConnectedAppUsage), Setup Audit Trail, Login History — filtruj po OAuth Client Id Gainsight i anomalie (nietypowe IP/ASN, masowe eksporty, SOQL z SELECT * / LIMIT high).
- Zastosuj polityki: High Assurance Sessions dla wrażliwych obiektów, Transaction Security Policies dla masowych zapytań API, MFA/step-up dla administracji integracjami.
- Zasada najmniejszych uprawnień: ogranicz scopes i profile integracji; rozdziel instancje/projekty dla środowisk (prod/sandbox).
- DLP i monitoring: reguły DLP na eksport CSV/Reports, alerty na nietypową objętość API.
- Higiena tokenów: krótszy TTL refresh tokenów, cykliczna rotacja, bez przechowywania sekretów w ticketach/jira/confluence; redakcja danych w zgłoszeniach.
- Komunikacja i zgodność: przygotuj notyfikacje do klientów/partnerów (szczególnie w UE), aktualizuj rejestry przetwarzania i oceny DPIA jeżeli używasz Gainsight.
- Phishing readiness: przeszkol handlowców/CS pod kątem phishingu kontekstowego wykorzystującego realne dane wsparcia.
Różnice / porównania z innymi przypadkami
- Salesloft/Drift (VIII–IX 2025): masowa kompromitacja tokenów OAuth integracji Drift → dostęp do danych w wielu instancjach Salesforce; nie była to luka w Salesforce, ale łańcuch dostaw SaaS. Obecny przypadek wygląda podobnie w wektorze (OAuth + integracja), ale dotyczy aplikacji Gainsight i jest świeżo wykrywany/neutralizowany (revokacja tokenów i wycofanie z AppExchange).
Podsumowanie / najważniejsze wnioski
- To nie jest błąd w rdzeniu Salesforce, ale kompromitacja łańcucha integracji poprzez aplikacje Gainsight.
- Największym ryzykiem są tokeny odświeżania i szerokie uprawnienia Connected Apps.
- Natychmiastowa revokacja tokenów przez Salesforce ogranicza skutki, ale zespoły muszą prześwietlić logi, zawęzić scopes i zrotować sekrety.
- Firmy powinny traktować integracje SaaS jak tożsamości uprzywilejowane i objąć je taką samą dyscypliną bezpieczeństwa jak konta adminów.
Źródła / bibliografia
- BleepingComputer: oficjalne podsumowanie incydentu i wypowiedzi Salesforce + deklaracje ShinyHunters (20 listopada 2025). (Bleeping Computer)
- Salesforce Status: komunikat o nietypowej aktywności, revokacji tokenów i czasowym usunięciu aplikacji Gainsight z AppExchange. (status.salesforce.com)
- Reuters: potwierdzenie dochodzenia Salesforce ws. możliwej ekspozycji danych (21 listopada 2025). (Reuters)
- TechCrunch: ujęcie techniczno-biznesowe i kontekst wcześniejszej kampanii Salesloft/Drift. (TechCrunch)
- Gainsight – Security / Alerts: zakres danych z wcześniejszego incydentu i kooperacja z Salesforce. (Gainsight Software)









