Một phiên bản độc hại của tiện ích Claude Code đã xuất hiện trên Cursor VS Code Extension Marketplace trong khoảng 11 giờ ngày 29/10/2026. Sự cố cho thấy một gói có giao diện và chức năng hợp lệ vẫn có thể trở thành đường vào máy trạm phát triển nếu mã độc được chèn vào chuỗi phân phối.

Điều gì đã xảy ra?
Theo thông báo chính thức của Cursor, hai bản Anthropic.claude-code 2.1.312 và 2.1.313 dành cho Windows và macOS đã bị sửa đổi độc hại trên marketplace của Cursor. Các gói này được phân phối từ khoảng 2:27 đến 13:35 giờ Thái Bình Dương ngày 29/10. Cursor nhấn mạnh mã độc không do Anthropic phát triển và chưa có bằng chứng cho thấy các bản chính thức trên Microsoft Visual Studio Code Marketplace, Open VSX hay gói Claude Code trên npm bị ảnh hưởng.
Cursor đã gỡ phiên bản độc hại, tạm đóng toàn bộ marketplace để kiểm tra, xoay vòng khóa truy cập và dựng lại dịch vụ. Công ty cũng phối hợp với nhà cung cấp hạ tầng để vô hiệu hóa máy chủ của kẻ tấn công.
Vì sao tiện ích có thể chạy mã độc ngay khi được nạp?
Phân tích của Phorion và OpenSourceMalware cho thấy một đoạn JavaScript ngắn được chèn ở đầu tệp extension.js, trước phần mã hợp lệ. Đoạn mã này chạy khi trình chủ nạp tiện ích, không cần người dùng mở cuộc trò chuyện với Claude Code hay thực hiện thao tác đặc biệt.
Đây là điểm rủi ro cốt lõi của tiện ích IDE: chúng hoạt động với quyền của tài khoản đang chạy trình soạn thảo và có thể tiếp cận mã nguồn, tệp cấu hình, kho khóa SSH và biến môi trường. Chữ ký thương hiệu hoặc giao diện quen thuộc không đủ để chứng minh gói cài đặt an toàn.
Chuỗi tấn công hoạt động như thế nào?
Sau khi được nạp, mã độc thu thập tên máy, tên người dùng, hệ điều hành, kiến trúc CPU, thư mục làm việc, email Git và tên của một số biến môi trường liên quan đến khóa, token hoặc mật khẩu. Giá trị bí mật không được đưa trực tiếp vào beacon ban đầu, nhưng danh sách tên biến có thể giúp kẻ tấn công xác định máy chứa thông tin giá trị.
Mã độc tiếp tục thêm khóa công khai Ed25519 có nhãn svc-telemetry vào tệp authorized_keys, thử bật dịch vụ SSH và tạo đường hầm SSH ngược tới máy chủ điều khiển. Cơ chế duy trì hiện diện được cài bằng LaunchAgent trên macOS, tác vụ theo lịch hoặc thư mục Startup trên Windows; phân tích mẫu còn ghi nhận nhánh cron cho Linux.
Tại sao lỗi lập trình không đồng nghĩa với an toàn?
Một số bước bật SSH có lỗi. Trên macOS, lệnh kiểm tra Remote Login cần quyền quản trị nên mã độc có thể hiểu sai trạng thái; trên Windows, một nhánh cố gọi PowerShell qua đường dẫn shell kiểu Unix. Vì vậy, đường truy cập từ xa có thể thất bại trên nhiều máy chưa bật sẵn SSH.
Tuy nhiên, khóa trái phép vẫn có thể được ghi, cơ chế duy trì vẫn được tạo và dữ liệu trinh sát vẫn có thể được gửi đi. Nếu SSH đã hoạt động hoặc trình soạn thảo chạy với quyền cao, rủi ro truy cập tương tác vẫn hiện hữu. Việc máy chủ điều khiển đã bị hạ không thể loại trừ khả năng dữ liệu hoặc phiên truy cập đã phát sinh trước đó.
Ai cần kiểm tra ngay?
Ưu tiên cao nhất là người đã cài hoặc cập nhật Anthropic.claude-code 2.1.312 hay 2.1.313 từ marketplace của Cursor trên Windows hoặc macOS trong khung thời gian được công bố. Các tổ chức nên đối chiếu kho phần mềm, nhật ký cài tiện ích và telemetry EDR thay vì chỉ hỏi người dùng, vì cập nhật tự động có thể diễn ra mà không được chú ý.
Dấu hiệu nổi bật gồm chuỗi svc-telemetry trong tệp SSH authorized keys, tệp ẩn ~/.config/.smt và .smtk, LaunchAgent com.apple.sysmond.plist, tác vụ Windows SysMon, cùng kết nối tới địa chỉ 134.209.82[.]225 trên cổng 22 hoặc 8099. Các tên này phải được đánh giá trong ngữ cảnh vì một chỉ báo đơn lẻ chưa luôn đủ để kết luận.
Quy trình ứng phó an toàn
Nếu phát hiện chỉ báo, hãy cô lập máy khỏi mạng, lưu bằng chứng và xác định xem mã độc chỉ thực thi hay đã có phiên SSH đăng nhập. Sau đó mới loại bỏ tiện ích, khóa SSH trái phép, tiến trình đường hầm và cơ chế duy trì. Chỉ gỡ tiện ích là chưa đủ vì các tệp độc lập vẫn có thể tiếp tục chạy.
Mật khẩu, token API, khóa cloud, phiên đăng nhập và thông tin xác thực kho mã mà tài khoản bị ảnh hưởng có thể tiếp cận cần được thu hồi hoặc xoay vòng từ một thiết bị sạch. Khi có bằng chứng truy cập tương tác, phương án đáng tin cậy hơn là dựng lại máy từ ảnh chuẩn và rà soát hoạt động tiếp theo trong kho mã, CI/CD và dịch vụ đám mây.
Bài học cho quản trị tiện ích IDE
Doanh nghiệp nên lập danh mục tiện ích được phép, ghim phiên bản khi cần, lưu lịch sử cài đặt và giám sát thay đổi ở authorized_keys, LaunchAgents, scheduled tasks cùng lưu lượng SSH bất thường. Marketplace là một lớp phân phối thuận tiện, không phải ranh giới tin cậy tuyệt đối.
Đội phát triển cũng nên tách tài khoản đặc quyền khỏi hoạt động viết mã hằng ngày, hạn chế bí mật tồn tại lâu trong biến môi trường và sử dụng token ngắn hạn. Những biện pháp này làm giảm thiệt hại ngay cả khi một tiện ích hợp lệ bị thay thế trong thời gian ngắn.
Kết luận
Sự cố Claude Code trên Cursor là ví dụ điển hình về tấn công chuỗi cung ứng nhắm vào công cụ phát triển. Điều quan trọng không chỉ là gỡ bản 2.1.312 và 2.1.313, mà còn phải săn tìm dấu vết, thu hồi thông tin xác thực và xác minh toàn bộ máy trạm. Phản ứng dựa trên bằng chứng sẽ giúp tránh cả hai thái cực: xem nhẹ vì mã độc có lỗi, hoặc mở rộng kết luận sang những kênh phân phối không bị ảnh hưởng.
VNCyberS tổng hợp từ Cursor, BleepingComputer, Phorion và OpenSourceMalware















