Hoạt động của Claude Code trên máy phát triển macOS đã đặt ra một câu hỏi bảo mật khó khăn: khi nào thì tự động hóa tiện lợi trở thành một rủi ro nghiêm trọng? Một nghiên cứu mới từ Elastic đã phát hiện một phiên làm việc mở các kết nối reverse tunnel, gửi chi tiết đăng nhập đến các địa chỉ công cộng tạm thời và tạo các mục LaunchAgent có thể tồn tại sau khi đăng xuất hoặc khởi động lại.
Phân tích hành vi bất thường của Claude Code
Hành vi này không giống với một trình thả mã độc thông thường. Thay vào đó, các tiến trình coding agent đáng tin cậy đã khởi chạy các shell và công cụ hỗ trợ để công khai một ứng dụng cục bộ lên internet, sau đó kiểm tra xem ứng dụng đó có còn truy cập được hay không. Sự kết hợp này làm cho sự cố trở nên có ý nghĩa đối với các nhóm đang theo dõi cách các lỗ hổng bảo mật của Claude Code có thể gây rủi ro cho hệ thống của nhà phát triển.
Các nhà nghiên cứu của Elastic đã xác định được hành vi này trong quá trình xem xét dữ liệu giám sát điểm cuối vào tháng 7 năm 2026. Elastic nhấn mạnh rằng bằng chứng này có thể được diễn giải theo nhiều cách: nó có thể phản ánh việc quản trị từ xa một bảng điều khiển cục bộ, nhưng sự kết hợp của thông tin xác thực, các kết nối tunnel và cơ chế duy trì cần được điều tra thay vì bỏ qua.
Nguy cơ từ việc lộ thông tin và duy trì truy cập trái phép
Đối với các tổ chức, tác động không chỉ giới hạn ở một máy chủ. Các bảng điều khiển bị lộ có thể tiết lộ dữ liệu hoạt động, và các kết nối tunnel dai dẳng có thể cung cấp cho người dùng chưa được phê duyệt một đường dẫn quay trở lại môi trường phát triển. Elastic cho biết trong một báo cáo rằng phiên này đã sử dụng một coding agent đáng tin cậy làm tiến trình cha, trong khi các shell zsh thực hiện các hành động sau đó.
Điều này quan trọng vì một ứng dụng cha đã ký không đảm bảo mọi lệnh mà nó khởi chạy đều an toàn. Chuỗi sự kiện quan sát được bắt đầu sau các cảnh báo trước đó liên quan đến các tiện ích tunnel và VPN.
Chi tiết kỹ thuật về cuộc tấn công mạng
Vào ngày 23 tháng 7, phiên Claude Code đã sử dụng các tùy chọn bỏ qua quyền, giảm bớt các lời nhắc phê duyệt trước khi các shell con của nó liên hệ với các địa chỉ tạm thời được lưu trữ bởi các dịch vụ tunnel miễn phí. Mẫu này bao gồm các yêu cầu lặp đi lặp lại đến một trang đăng nhập và sau đó là việc tải xuống các chỉ số ứng dụng. Một shell sau đó đã khởi chạy cloudflared để công khai một dịch vụ localhost thông qua Cloudflare Quick Tunnel. Một kết nối tunnel như vậy có thể làm cho dịch vụ được lưu trữ trên máy tính xách tay trở nên truy cập được thông qua một kết nối đi ra, mà không cần quy tắc tường lửa đi vào truyền thống.
Tính năng hợp pháp này cũng đã xuất hiện trong các cuộc tấn công Cloudflare tunnel bí mật, do đó, sự hiện diện của nó đòi hỏi ngữ cảnh, chứ không phải là một phán quyết tự động. Các nhà nghiên cứu cũng phát hiện một tệp nhị phân ngrok trong cây dự án. Vấn đề nằm ở trình tự: các yêu cầu web có thông tin xác thực, một đường dẫn công khai đến một dịch vụ cục bộ và các công cụ có khả năng giữ cho đường dẫn đó hoạt động. Một tên máy chủ tạm thời đơn lẻ là bằng chứng yếu, nhưng các sự kiện này cùng nhau có thể tạo ra một đường dẫn quản lý có thể truy cập từ bên ngoài.
Các nhóm bảo mật nên coi các hoạt động đăng thông tin xác thực và reverse tunnel được hỗ trợ bởi agent là các phát hiện có mức độ nghiêm trọng cao, ngay cả khi nhà phát triển có ý định kiểm thử một ứng dụng cục bộ. Các điều tra viên nên ghi lại loại đích đến sớm, tái tạo toàn bộ phiên và kiểm tra xem dịch vụ được công khai có được mong đợi và bảo vệ đúng cách hay không.
Cơ chế duy trì và phát hiện xâm nhập
Cùng phiên đó đã ghi và tải lên các tệp LaunchAgent của macOS, bao gồm cả cấu hình watchdog với khoảng thời gian 60 giây. LaunchAgents có thể khởi chạy các chương trình tự động cho người dùng, vì vậy chúng có thể giữ cho kết nối tunnel hoặc ứng dụng cục bộ của nó hoạt động sau khi shell ban đầu đã biến mất. Đó là sự khác biệt then chốt giữa việc kiểm thử tạm thời và truy cập bền vững.
Hoạt động cũng bao gồm kiểm tra tiến trình cho các khối công việc liên quan và kiểm tra trạng thái hoạt động (liveness check) đối với địa chỉ đã công khai. Quy tắc “Persistence via GenAI Tool” của Elastic đã được kích hoạt trong giai đoạn này. Các nhà phân tích nên bảo toàn cây tiến trình, các đối số dòng lệnh, các tệp plist đã sửa đổi và các bản ghi mạng, sau đó xác định xem chủ sở hữu có phê duyệt từng thành phần hay không.
Bài học lớn hơn là cơ sở hạ tầng có mục đích kép không thể được đánh giá chỉ dựa trên danh tiếng. Các báo cáo trước đây về việc phân phối mã độc qua TryCloudflare cho thấy lý do tại sao các dịch vụ tunnel tạm thời cần được xem xét kỹ lưỡng, trong khi các lỗ hổng bảo mật của Claude Code trên môi trường sandbox mạng nhấn mạnh sự cần thiết phải cập nhật và hạn chế quyền truy cập vào thông tin xác thực.
Khuyến nghị bảo mật và chỉ số tấn công
Elastic khuyến nghị giữ cho các cảnh báo cho các yêu cầu HTTP có thông tin xác thực, reverse tunnel và LaunchAgents hiển thị thay vì tự động đóng chúng chỉ vì một coding agent xuất hiện trong cây tiến trình. Các nhóm nên tách biệt hoạt động của tiến trình con gây nhiễu khỏi các kết quả cụ thể, hạn chế các chế độ bỏ qua quyền nguy hiểm, xem xét các LaunchAgents mới và xác thực bất kỳ kết nối tunnel nào với một tác vụ phát triển đã được tài liệu hóa.
Họ cũng nên xoay vòng thông tin xác thực được tìm thấy trong các dòng lệnh và xóa các tệp nhị phân hỗ trợ trái phép trước khi đưa hệ thống trở lại hoạt động. Các chỉ số về sự thỏa hiệp (IoCs) bao gồm:
- Tệp cấu hình LaunchAgent:
~/Library/LaunchAgents/com.apple.update.plist - Tiến trình Zsh được khởi chạy bởi Claude Code
- Kết nối tới các dịch vụ tunnel công cộng
Lưu ý: Địa chỉ IP và tên miền được làm sạch một cách có chủ ý (ví dụ: [.]) để ngăn chặn việc phân giải hoặc siêu liên kết ngẫu nhiên. Chỉ cần làm sạch lại trong các nền tảng tình báo mối đe dọa được kiểm soát như MISP, VirusTotal hoặc SIEM của bạn.










