Cuộc tấn công bắt đầu với sự cố GitHub. Không phải là một trong những phức tạp. Chỉ là một sự cố do tài khoản bot mở ra với nội dung được diễn đạt cẩn thận trông giống như một thông báo lỗi. Khi GitHub Action của Claude Code chọn nó để phân loại, nó sẽ tuân theo các hướng dẫn ẩn bên trong, đọc các biến môi trường của quy trình và ghi chúng trở lại vấn đề để kẻ tấn công thu thập.
Các biến đó chứa thông tin xác thực cần thiết để yêu cầu mã thông báo OIDC, mã này có thể đổi lấy mã thông báo cài đặt Ứng dụng Claude GitHub với toàn quyền truy cập ghi vào mã, sự cố và quy trình công việc của kho lưu trữ. Hướng cuộc tấn công vào Kho lưu trữ hành động mã claude của riêng Anthropicchạy cùng một quy trình làm việc dễ bị tổn thương và bạn có thể đầu độc hành động mà hàng nghìn dự án hạ nguồn thực hiện.
Nhà nghiên cứu bảo mật RyotaK của Bảo mật căn hộ GMO đã báo cáo lỗ hổng bảo mật cho Anthropic vào tháng 1. Công ty đã sửa chữa đường tránh lõi trong vòng bốn ngày, đồng thời tăng cường độ cứng qua mùa xuân. Các bản vá có trong claude-code-action v1.0.94. Anthropic đã đánh giá các vấn đề này ở mức 7,8 theo CVSS v4.0 và trả số tiền thưởng là 4.800 USD.
Đường vòng hoạt động như thế nào

💜 của công nghệ EU
Những tin đồn mới nhất từ bối cảnh công nghệ EU, câu chuyện từ người sáng lập thông thái Boris của chúng tôi và một số tác phẩm nghệ thuật AI đáng nghi vấn. Nó miễn phí hàng tuần trong hộp thư đến của bạn. Đăng ký ngay bây giờ!
Claude Code GitHub Actions cung cấp cho Claude quyền truy cập đọc và ghi vào mã, các vấn đề, yêu cầu kéo, thảo luận và tệp quy trình làm việc của kho lưu trữ theo mặc định. Để giới hạn người có thể kích hoạt các khả năng đó, hành động này sẽ kiểm tra xem tác nhân có quyền ghi vào kho lưu trữ hay không.
Tấm séc có một lỗ thủng. Nó tự động tin tưởng bất kỳ diễn viên nào có tên kết thúc bằng [bot]với giả định rằng Ứng dụng GitHub là công cụ đáng tin cậy được quản trị viên cài đặt. Nhưng bất kỳ ai cũng có thể đăng ký Ứng dụng GitHub, cài đặt nó trên kho lưu trữ mà họ kiểm soát và sử dụng mã thông báo của nó để mở một vấn đề trên bất kỳ kho lưu trữ công khai nào. Hành động đã nhìn thấy tên bot và cho phép nội dung được thông qua. Chế độ tác nhân thiếu xác minh bổ sung giữa con người và tác nhân mà chế độ thẻ đã thực hiện, khiến nó bị lộ hoàn toàn.
Sau khi vượt qua cổng, kẻ tấn công sử dụng phương pháp tiêm nhắc gián tiếp, đưa các hướng dẫn vào bên trong nội dung mà Claude đọc dưới dạng dữ liệu nhưng thực thi dưới dạng lệnh. RyotaK đã tạo ra một nội dung vấn đề được ngụy trang dưới dạng thông báo khôi phục lỗi. Claude “đã phục hồi” bằng cách chạy các lệnh ẩn bên trong, đọc /proc/self/environ bất chấp các biện pháp bảo vệ tích hợp của Claude Code chống lại hoạt động chính xác đó và đăng các giá trị cho vấn đề.
Đường dẫn thứ hai, không cần bot
RyotaK cũng xác định một con đường nhẹ nhàng hơn để vượt qua hoàn toàn thủ thuật bot. Ví dụ riêng của Anthropic về quy trình xử lý vấn đề được cung cấp kèm theo cài đặt allow_non_write_users: “*”, cho phép bất kỳ ai kích hoạt hành động. Tài liệu của Anthropic đã gắn cờ điều này là rủi ro, nhưng nhiều kho lưu trữ đã sao chép ví dụ đó và kế thừa cấu hình.
Tệ hơn nữa, Claude còn đăng các bản tóm tắt nhiệm vụ lên bảng tóm tắt hiển thị công khai của quy trình làm việc, tạo ra một kênh lọc có sẵn. Biến thể thứ ba nhắm vào các điều kiện tương tranh: chỉnh sửa vấn đề của người dùng đáng tin cậy sau khi quy trình làm việc được kích hoạt nhưng trước khi Claude đọc nó và tải trọng độc hại sẽ xuất hiện dưới dạng đầu vào đáng tin cậy.
Không mang tính lý thuyết
Mô hình tương tự, bộ xử lý sự cố AI kết hợp với các quyền rộng rãi và tính năng đưa vào kịp thời, đã gây ra thiệt hại thực sự. Vào tháng 2, một tiêu đề vấn đề được đưa vào theo lời nhắc đối với quy trình phân loại hành động mã claude của Cline để kẻ tấn công đánh cắp mã thông báo xuất bản npm và đẩy một trái phép [email protected]. Phiên bản lừa đảo đã buộc cài đặt một tác nhân AI riêng có tên OpenClaw trên khoảng 4.000 hệ thống của nhà phát triển trong khoảng thời gian 8 giờ trước khi bị gỡ bỏ.
Sau đó, một bot tự trị có tên HackerBot-Claw đã dành cuối tháng 2 để thăm dò các cấu hình sai của GitHub Actions tại các dự án Microsoft, Datadog và CNCF. Khi nó cố gắng nhắc nhở người đánh giá dựa trên Claude thông qua một tệp cấu hình bị nhiễm độc, Claude đã bắt được nó và từ chối. Điều đó vừa yên tâm vừa đáng lo ngại: khả năng phòng thủ của mô hình không nhất quán đến mức cùng một kiểu tấn công đôi khi thành công và đôi khi thất bại.
Năm mươi lần bỏ qua và đếm
RyotaK cho biết hiện tại anh đã báo cáo có khoảng 50 cách riêng biệt để vượt qua hệ thống cấp phép của Claude Code và thực thi các lệnh. Phát hiện này là một phần trong làn sóng tấn công chuỗi cung ứng rộng hơn nhắm vào các công cụ dành cho nhà phát triển được hỗ trợ bởi AI, từ tiện ích mở rộng VS Code bị nhiễm độc đã xâm phạm kho lưu trữ của GitHub cho đến các gói npm độc hại được thiết kế để thu thập thông tin xác thực từ trợ lý mã hóa AI.
Cách khắc phục rất đơn giản: cập nhật lên claude-code-action v1.0.94 trở lên, kiểm tra mọi quy trình công việc cho phép người dùng hoặc bot không có quyền ghi kích hoạt Claude, loại bỏ các bí mật không cần thiết khỏi môi trường cũng như xóa các công cụ và quyền có thể được sử dụng để lấy cắp.
Vấn đề sâu xa hơn là về cơ cấu. Tiêm kịp thời vẫn chưa được giải quyết. Một tác nhân AI với các công cụ thực và mã thông báo thực có thể được đẩy mạnh đến mức mà các quyền của nó cho phép và các quyền mà hầu hết các tổ chức cấp theo mặc định sẽ rộng hơn nhiều so với bề mặt tấn công mà họ chuẩn bị bảo vệ.
Nguồn The Next Web