Một trình quét mã nguồn mở mới dùng để kiểm tra "kỹ năng tác nhân" (agent skills) của AI đang được chuyển đổi thành một công cụ sau khi các nhà nghiên cứu chỉ ra rằng một kỹ năng chưa được xác minh có thể âm thầm thu thập khóa SSH và thông tin xác thực đám mây. Trình quét này kết hợp các bộ lọc từ khóa, phân tích hành vi, suy luận dựa trên AI, thực thi trong môi trường sandbox và phát hiện thay đổi để ngăn chặn làn sóng tấn công chuỗi cung ứng tiếp theo nhắm vào các nhà phát triển có sự hỗ trợ của AI.
Tại sao các kỹ năng AI lại quan trọng vào lúc này
Các trợ lý mô hình ngôn ngữ lớn (LLM) như Claude và GitHub Copilot hiện đang dựa vào "agent skills" – các thư mục nhỏ, độc lập, hướng dẫn mô hình cách thực hiện một tác vụ cụ thể. GitHub gần đây đã thêm một lệnh một dòng cho phép các nhà phát triển tải các kỹ năng này trực tiếp từ các kho lưu trữ công khai, biến chúng thành một trình quản lý gói thực tế cho các quy trình làm việc do AI điều khiển.
Sự tiện lợi là không thể phủ nhận: một kỹ năng có thể biến một yêu cầu mơ hồ như "dọn dẹp bảng tính này" thành các lời gọi API chính xác, thao tác tệp hoặc chỉnh sửa mã nguồn. Sự đơn giản tương tự cũng cho phép mã độc lọt vào gói dữ liệu.
Trang cảnh báo của GitHub lưu ý rằng các kỹ năng không được xác minh trước khi chúng được cài đặt.
Cách một payload ẩn có thể lẩn tránh sự phát hiện
Không giống như một tệp nhị phân thông thường, một kỹ năng AI không tải tất cả cùng một lúc. Mô hình trước tiên sẽ đọc một bản tóm tắt ngắn, sau đó chỉ lấy toàn bộ tập lệnh khi tác vụ có vẻ liên quan. Quá trình tải theo từng giai đoạn này tạo ra một khoảng trống mà một tệp độc hại có thể nằm yên, vô hình trước người dùng, cho đến khi mô hình quyết định kích hoạt nó.
Trong một thử nghiệm chứng minh khái niệm (proof-of-concept), nhà nghiên cứu đã tạo ra một kỹ năng giả mạo có tên là csv-formatter quảng cáo là dùng để dọn dẹp bảng tính. Mã nguồn hiển thị trông có vẻ vô hại, nhưng một hướng dẫn ẩn đã thêm vào một "bước chẩn đoán". Bước này không chẩn đoán bất cứ điều gì; nó quét máy chủ để tìm các khóa riêng tư SSH và token truy cập AWS, sau đó gửi các kết quả tìm thấy tới một máy chủ bên ngoài.
Lệnh độc hại cũng xuất hiện trong tệp changelog – một nơi mà hầu hết con người không bao giờ kiểm tra, nhưng AI lại đọc khi đánh giá lịch sử phiên bản. AI đã âm thầm thực hiện quy trình đánh cắp thông tin xác thực trong khi nhà phát triển nghĩ rằng kỹ năng đó chỉ đơn thuần là định dạng dữ liệu.
Phản ứng từ cộng đồng mã nguồn mở
Để lấp đầy lỗ hổng này, nhà nghiên cứu đã đóng gói logic phát hiện thành một công cụ kiểm tra mã nguồn mở. Trình quét không dựa vào một kỹ thuật duy nhất; nó kết hợp nhiều lớp phòng thủ:
- Khớp từ khóa (Keyword matching) bắt được các nỗ lực lộ liễu, cẩu thả có chứa các chuỗi độc hại đã biết.
- Phân tích hành vi (Behavior analysis) gắn cờ các hướng dẫn đọc tệp thông tin xác thực và sau đó thực hiện các cuộc gọi mạng.
- Suy luận AI (AI reasoning) chạy một mô hình phụ để đánh giá xem các hướng dẫn của một kỹ năng có đang cố tình bị che giấu khỏi người dùng hay không.
- Sandboxing thực thi kỹ năng trong một môi trường cô lập, quan sát các hành động trong thời gian thực mà không gây rủi ro cho hệ thống máy chủ.
- Phát hiện thay đổi (Change detection) giám sát các kỹ năng đáng tin cậy để tìm các sửa đổi bất ngờ, cảnh báo cho những người duy trì trước khi một phiên bản mới được cài đặt.
Tác giả sẽ bao gồm một bộ thử nghiệm (test suite) để tái hiện lại cuộc tấn công csv-formatter và một bộ tiêu chuẩn (benchmark) công khai để đo lường tỷ lệ phát hiện trên một tập hợp các kỹ năng lành tính và độc hại đã được chọn lọc.
Điều cần theo dõi tiếp theo
- Các tiêu chuẩn cộng đồng (Community benchmarks): Khi có thêm nhiều nhà nghiên cứu công bố các mẫu kỹ năng độc hại, bộ tiêu chuẩn công khai sẽ cần được cập nhật thường xuyên để duy trì tính hiệu quả.
Sự xuất hiện của các kỹ năng tác nhân AI đánh dấu một ranh giới mới trong các công cụ dành cho nhà phát triển, nhưng nó cũng mở ra cánh cửa cho các cuộc tấn công chuỗi cung ứng vượt qua các quy trình kiểm tra mã nguồn truyền thống. Một trình quét mã nguồn mở kết hợp giữa kiểm tra tĩnh, quan sát động và suy luận AI mang lại một tuyến phòng thủ đầu tiên thực tế. Những nhà phát triển coi một kỹ năng như một ổ USB ngẫu nhiên sẽ sớm nhận ra rằng cái giá của việc bỏ qua xác minh lớn hơn nhiều so với sự tiện lợi của sự hỗ trợ tức thì từ AI.
