## 1. Large Language Models (LLMs) là gì? LLMs là thuật toán AI có thể xử lý dữ liệu đầu vào của người dùng và tạo ra phản hồi hợp lý bằng cách dự đoán chuỗi từ. Chúng được đào tạo trên các tập dữ liệu bán công khai khổng lồ, sử dụng máy học để phân tích cách các thành phần của ngôn ngữ phù hợp với nhau. LLMs thường trình bày giao diện trò chuyện để chấp nhận đầu vào của người dùng, được gọi là lời nhắc. Đầu vào được phép được kiểm soát một phần bởi các quy tắc xác thực đầu vào. LLMs có thể được sử dụng rộng rãi trong các trang web hiện đại: - Dịch vụ khách hàng, chẳng hạn như trợ lý ảo. - Bản dịch. - Cải thiện SEO. - Phân tích nội dung do người dùng tạo ra, ví dụ như theo dõi giọng điệu của các bình luận trên trang. ## 2. LLM tấn công và chèn lệnh nhắc Nhiều cuộc tấn công LLM trên web dựa vào một kỹ thuật được gọi là chèn lệnh nhắc. Đây là nơi kẻ tấn công sử dụng các lệnh nhắc được tạo sẵn để thao túng đầu ra của LLM. Chèn lệnh nhắc có thể khiến AI thực hiện các hành động nằm ngoài mục đích dự định, chẳng hạn như thực hiện các lệnh gọi không đúng đến các API nhạy cảm hoặc trả về nội dung không tuân thủ theo hướng dẫn của nó. ## 3. Phát hiện lỗ hổng LLM Phương pháp chúng tôi đề xuất để phát hiện lỗ hổng LLM là: - Xác định các đầu vào của LLM, bao gồm cả đầu vào trực tiếp (như lời nhắc) và gián tiếp (như dữ liệu đào tạo). - Tìm hiểu xem LLM có quyền truy cập vào dữ liệu và API nào. - Thăm dò bề mặt tấn công mới này để tìm lỗ hổng. ## 4. Khai thác các API, chức năng và plugin của LLM LLM thường được lưu trữ bởi các nhà cung cấp bên thứ ba chuyên dụng. Một trang web có thể cung cấp cho LLM bên thứ ba quyền truy cập vào chức năng cụ thể của nó bằng cách mô tả API cục bộ để LLM sử dụng. Ví dụ, LLM hỗ trợ khách hàng có thể có quyền truy cập vào các API quản lý người dùng, đơn hàng và kho. ## 5. API LLM hoạt động như thế nào Quy trình làm việc để tích hợp LLM với API phụ thuộc vào cấu trúc của chính API. Khi gọi API bên ngoài, một số LLM có thể yêu cầu máy khách gọi một điểm cuối hàm riêng biệt (thực tế là API riêng) để tạo các yêu cầu hợp lệ có thể được gửi đến các API đó. Quy trình làm việc cho việc này có thể trông giống như sau: Máy khách gọi LLM theo lời nhắc của người dùng. LLM phát hiện rằng một hàm cần được gọi và trả về một đối tượng JSON chứa các đối số tuân theo lược đồ API bên ngoài. Khách hàng gọi hàm với các đối số được cung cấp. Máy khách xử lý phản hồi của chức năng. Máy khách gọi lại LLM, thêm phản hồi hàm dưới dạng một thông báo mới. LLM gọi API bên ngoài bằng hàm response. LLM tóm tắt kết quả của lệnh gọi API này gửi lại cho người dùng. Quy trình làm việc này có thể có những tác động về bảo mật, vì LLM thực sự đang gọi các API bên ngoài thay mặt cho người dùng nhưng người dùng có thể không biết rằng các API này đang được gọi. Lý tưởng nhất là người dùng nên được cung cấp một bước xác nhận trước khi LLM gọi API bên ngoài.