Andrew Ng trang bị quét lỗ hổng cho trợ lý AI trên máy tính

Andrew Ng vừa công bố phiên bản mới cho OpenWorker, tác nhân AI để bàn mã nguồn mở của ông, với hàng loạt tính năng xoay quanh quy trình bảo mật. Lý do ông đưa ra là sau khi bản đầu ra mắt, không ít người dùng phát hiện nó đặc biệt hữu dụng trong các tình huống an ninh mạng; kẻ tấn công đã dùng AI, nên phía phòng thủ cũng cần có đòn bẩy tương đương.

OpenWorker không đi theo lối giao diện trò chuyện thông thường. Người dùng giao một nhiệm vụ, nó tự tách thành từng bước, thao tác xuyên suốt các tệp, terminal và các ứng dụng đã kết nối, rồi trả lại một thành phẩm dùng được ngay. Dự án mã nguồn mở từ tháng 7, theo giấy phép MIT, hiện đang trong giai đoạn thử nghiệm mở, và đã đạt 16.400 sao trên GitHub. Bản desktop hỗ trợ macOS 12 trở lên (chip Apple Silicon, đã ký và công chứng) và Windows 10/11 bản x64, riêng chữ ký số cho Windows vẫn đang trong quá trình xin cấp.

Quét cả mã nguồn, quét cả thư viện phụ thuộc

Vai trò chuyên trách được đặt lên hàng đầu trong bản mới có tên "rà soát bảo mật". Tài liệu của kho mã cho biết nó làm hai việc: kết hợp bộ quét tất định (deterministic scanner) với suy luận của mô hình để rà toàn bộ codebase và các thư viện phụ thuộc, tìm ra rủi ro thật sự. Phần thư viện phụ thuộc nhắm vào tấn công chuỗi cung ứng — mã độc bị chèn vào các gói bên thứ ba, sự cố dạng này xảy ra không ít trong năm qua ở hệ sinh thái mã nguồn mở, trong khi việc con người tự tay soát từng nhánh cây phụ thuộc gần như bất khả thi.

Quy tắc ở khâu vá lỗi còn chặt hơn. Tài liệu ghi rõ: bản vá do agent đề xuất phải được quét lại và qua bước soát diff mới được duyệt, và agent đưa ra bản vá không bao giờ được là người kiểm tra duy nhất.

Ràng buộc này nhắm thẳng vào việc AI tự chấm điểm bài làm của chính mình. Cùng một mô hình vừa viết bản vá vừa phán bản vá, kết quả nhìn có vẻ hoàn chỉnh, nhưng thực chất là tự chứng thực cho chính mình — nó cũng mù trước đúng những thứ nó đã bỏ sót. Giữ các công cụ tất định như bộ quét trong vòng lặp tương đương với việc gắn thêm một lớp đối chiếu không khoan nhượng cho phán đoán của mô hình.

Bốn cấp quyền, tự chủ tích lũy dần

Mỗi lần agent gọi công cụ đều bị xếp vào một trong bốn nhóm rủi ro: đọc (read), ghi cục bộ (write_local), thực thi lệnh (exec), gọi ra ngoài (external). Bên trên đó là năm chế độ quyền: discuss và plan chỉ đọc; interactive là chế độ mặc định, hỏi trước khi thực hiện thao tác ghi; auto cho phép toàn bộ trong phạm vi đường dẫn đã giới hạn; custom cho phép đặt các công cụ cụ thể đáng tin cậy thành tự động duyệt.

Quy tắc quản trị được chia cứng thành ba lớp:

  • Ranh giới cứng: thao tác nguy hiểm và không thể đảo ngược luôn chỉ do con người quyết định, dù đổi chế độ nào cũng không nới ra;
  • Tự chủ tăng dần: mọi hành động mặc định đi qua bước duyệt, một lần duyệt có thể nâng cấp thành quy tắc thường trực, cao hơn nữa mới vào danh sách trắng trong cấu hình;
  • Vết kiểm toán: mỗi lần gọi công cụ đều ghi lại nguồn gốc phê duyệt — tự động duyệt, người dùng duyệt, hay bị từ chối.

Còn một quy tắc nữa là "không tự duyệt khi không có người trực": khi chạy qua đêm không ai giám sát, nếu gặp thao tác có hậu quả mà không có phản hồi, lời nhắc sẽ vào hộp thư chờ soát lại, chứ không tự động nới lỏng quyền chỉ vì không có người ở đó.

Đưa công cụ của các hãng lớn xuống laptop cá nhân

Tin tức về AI dò lỗ hổng trong năm qua gần như do các hãng lớn mã nguồn đóng nắm giữ: có bên tìm ra lỗ hổng tồn tại hơn hai mươi năm, có bên quét ra hàng chục nghìn lỗ hổng mức cao chỉ trong một tháng, đều dùng mô hình mạnh nhất của mình, đi qua kênh mua sắm doanh nghiệp, với mức giá và ngưỡng tiếp cận không hề thấp. OpenWorker chọn một hướng khác — chạy cục bộ, mã nguồn mở, giấy phép MIT, mã có thể kiểm tra được.

Với các đội bảo mật, việc "bản thân lớp vỏ này có thể bị kiểm toán" quan trọng không kém năng lực quét lỗ hổng. Một agent có thể đọc toàn bộ codebase, thực thi lệnh, gọi ra bên ngoài, tự nó đã là kênh rò rỉ dữ liệu lý tưởng nhất; nếu nó là hộp đen, thì nó quét ra càng nhiều lỗ hổng, rủi ro khi đưa nó vào hệ thống càng khó đánh giá. Ở đây mã nguồn mở gần với điều kiện để được chấp nhận, hơn là một tuyên bố lập trường.

Hiện thông tin công khai vẫn thiếu hai thứ: kho mã không ghi rõ số phiên bản cụ thể của bản mới, và tỷ lệ phát hiện đúng của khả năng quét trên các benchmark công khai cũng chưa có số liệu độc lập từ bên thứ ba. Trước khi gắn vào CI, nên thử vài vòng trong môi trường cách ly sẽ an toàn hơn.

Nguồn tham khảo: tài liệu kho mã chính thức của OpenWorker, CocoLoop, MarkTechPost, Help Net Security; các nội dung về phân cấp quyền, ba lớp quản trị và trách nhiệm rà soát bảo mật đã được đối chiếu từng phần với tài liệu kho mã.