Site Logo
ctdohub
bao-mat • 26 min read
0

Extension Claude Code trên Cursor bị cài backdoor SSH: cách kiểm tra máy

Đ
Đỗ Thành Xem hồ sơ → Xuất bản ngày November 1, 2026
Extension Claude Code trên Cursor bị cài backdoor SSH: cách kiểm tra máy
Xem ảnh phóng to

Nếu bạn dùng Cursor trên macOS hoặc Windows và có cài extension Claude Code, đây là lúc nên dành 2 phút kiểm tra máy. Ngày 29/10, marketplace extension của Cursor đã phát tán một bản Claude Code bị chỉnh sửa, phiên bản 2.1.312 và 2.1.313, có chứa mã độc cài backdoor SSH. Bản này không phải do Anthropic phát hành.

Theo Cursor, bản độc nằm trên marketplace khoảng 11 giờ, từ 2:27 sáng tới 1:35 chiều giờ Thái Bình Dương (tức khoảng 16:27 ngày 29/10 tới 3:35 sáng 30/10 giờ Việt Nam). Số người có thể bị ảnh hưởng được ước tính tối đa khoảng 5.000.

Chuyện gì đã xảy ra?

Kẻ tấn công đã dùng quyền truy cập vào marketplace của Cursor để đăng một bản sao Claude Code bị cài thêm mã độc. Người dùng cài mới hoặc được tự động cập nhật lên 2.1.312, 2.1.313 trong khung giờ trên sẽ chạy mã độc ngay khi extension được nạp, không cần mở cuộc trò chuyện nào với Claude.

Cursor cho biết ngay khi phát hiện đã gỡ bản độc, chặn phát tán, rồi tắt hẳn marketplace để kiểm tra. Công ty đã rà soát quyền truy cập, xác nhận không có extension nào khác bị can thiệp, đổi toàn bộ khóa, dựng lại marketplace và phối hợp với nhà cung cấp cloud để đánh sập server của kẻ tấn công.

Về phía Anthropic, Felix Rieseberg (nhân viên kỹ thuật của hãng) khẳng định đây không phải vụ xâm nhập hệ thống hay laptop nhân viên Anthropic. Các bản Claude Code trên kênh chính thức không bị ảnh hưởng, sự cố chỉ liên quan tới người dùng Cursor. Microsoft cũng xác nhận gói độc chưa từng xuất hiện trên Visual Studio Marketplace hay gói npm chính thức. Lưu ý: bản 2.1.312 do Anthropic phát hành trên npm, GitHub và Open VSX là bản sạch, chỉ bản 2.1.312 và 2.1.313 tải từ marketplace của Cursor mới bị cài mã độc. Anthropic cũng bỏ qua số 2.1.313 và nhảy thẳng lên 2.1.314 để tránh nhầm lẫn.

Mã độc làm gì trên máy bạn?

Theo phân tích của Cursor và Microsoft Threat Intelligence, đoạn JavaScript chèn vào file extension.js thực hiện lần lượt:

  • Thu thập thông tin máy: hostname, tên người dùng, hệ điều hành, kiến trúc CPU, thư mục home, tên các biến môi trường, thư mục làm việc, email Git và IP public. Với biến môi trường, mã độc chỉ gửi tên (tối đa 40 biến có chữ như KEY, TOKEN, SECRET), không gửi giá trị.

  • Cài khóa SSH lạ: thêm một khóa ed25519 có nhãn svc-telemetry vào file authorized_keys.

  • Mở đường hầm SSH ngược tới server 134.209.82.225, giúp kẻ tấn công vào máy từ bên ngoài mà không cần mở cổng trên router.

  • Tự khởi động lại: LaunchAgent giả danh com.apple.sysmond trên macOS, scheduled task SysMon trên Windows, cứ khoảng 60 giây thử kết nối lại một lần.

Tin tốt là mã độc có lỗi. Bước bật dịch vụ SSH trên máy cần quyền admin, thứ mà extension thường không có. Cursor cho biết trừ khi bạn chạy Cursor bằng quyền quản trị, bước này sẽ thất bại và kẻ tấn công không đăng nhập được qua đường hầm. Server của tin tặc cũng đã bị gỡ.

Tin xấu là các bước còn lại vẫn có thể đã chạy: khóa lạ đã nằm trong authorized_keys, script tự khởi động đã được ghi ra đĩa và thông tin máy có thể đã bị gửi đi. Gỡ extension thôi là chưa đủ.

Cách kiểm tra máy có bị ảnh hưởng không

Dấu hiệu dễ nhận nhất là khóa svc-telemetry. Trên macOS, mở Terminal và chạy:

grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"

Trên Windows, mở PowerShell và chạy:

$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }

Nếu thấy dòng "svc-telemetry key found", máy bạn đã dính. Bạn cũng có thể tìm thêm các dấu vết sau:

  • macOS: file ~/.config/.smt, ~/.config/.smtk và ~/Library/LaunchAgents/com.apple.sysmond.plist.

  • Windows: %USERPROFILE%\.config\smt.cmd, scheduled task SysMon, file sysmon.cmd trong thư mục Startup.

  • Tiến trình ssh -N -R '*:0:localhost:22' hoặc autossh -M 0 đang chạy, kết nối ra 134.209.82.225 cổng 22 hoặc 8099.

Bị dính rồi thì làm gì?

  1. Cách ly máy khỏi mạng công ty nếu bạn dùng máy làm việc.

  2. Chạy script dọn dẹp Cursor cung cấp trong thông báo bảo mật: remediate-macos.sh (chạy bằng user thường, không dùng root) hoặc remediate-windows.ps1 (PowerShell quyền Administrator). Script gỡ extension, xóa cơ chế tự khởi động, tắt tiến trình đường hầm và xóa khóa lạ.

  3. Đổi toàn bộ mật khẩu, token, API key mà máy đó truy cập được, và làm việc này từ một máy sạch. Mã độc chỉ lấy tên biến môi trường, nhưng nếu backdoor từng hoạt động thì không loại trừ việc bị lấy thêm.

  4. Cân nhắc cài lại máy nếu đó là máy chứa nhiều dữ liệu nhạy cảm.

Bài học cho lập trình viên

Vụ này là một dạng tấn công chuỗi cung ứng (supply chain attack) điển hình: bạn tin Anthropic, tin Cursor, và chính kênh phân phối đáng tin đó lại giao mã độc. Extension trong IDE chạy với quyền của chính bạn, đọc được mã nguồn, file cấu hình và khóa SSH, nên rủi ro không nhỏ hơn cài phần mềm lạ.

Vài thói quen nên có: tắt tự động cập nhật extension trên máy làm việc quan trọng, không chạy IDE bằng quyền admin, định kỳ kiểm tra authorized_keys, và theo dõi kênh thông báo bảo mật của công cụ mình dùng. Chỉ riêng việc không chạy Cursor bằng quyền quản trị đã giúp phần lớn nạn nhân lần này thoát khỏi kịch bản tệ nhất.

Nguồn tham khảo

Thảo luận

0 ý kiến
Đang kiểm tra tài khoản...
Đang tải thảo luận...