Gradient descent phá vỡ các bộ phân loại prompt injection mã nguồn mở
Tom Ganz chứng minh rằng các cuộc tấn công Greedy Coordinate Gradient có thể vượt qua các trình phát hiện prompt injection phổ biến bằng cách thêm các hậu tố token được tối ưu hóa.
Được dịch tự động từ bản gốc tiếng Anh.
Các nhà nghiên cứu bảo mật thường dựa vào các mô hình phân loại nhỏ để lọc các prompt độc hại trước khi chúng tiếp cận các mô hình ngôn ngữ lớn. Trong một phân tích kỹ thuật gần đây, Tom Ganz chỉ ra rằng biện pháp phòng thủ phổ biến này rất mong manh khi trọng số của bộ phân loại được công khai. Bằng cách áp dụng các kỹ thuật gradient descent, kẻ tấn công có thể thêm các hậu tố ngắn vô nghĩa vào các prompt độc hại, buộc các trình phát hiện phải phân loại chúng là lành tính.
Chuyện gì đã xảy ra
Lời khuyên tiêu chuẩn để ngăn chặn prompt injection là đặt một bộ phân loại nhẹ phía trước mô hình chính. Bộ lọc này đọc văn bản đầu vào và quyết định xem nó có chứa nỗ lực injection hay không, loại bỏ các đầu vào nguy hiểm trước khi chúng tiêu tốn tài nguyên tính toán đắt đỏ. Ganz đã phát triển Smolaya-guard, một mô hình 323M tham số dựa trên kiến trúc Laya, chấm điểm các prompt trong một lần forward pass duy nhất. Trên dữ liệu kiểm thử bị giữ lại (held-out), bộ phân loại này đạt AUC 0.9998 và bắt được 99,7% các vụ injection với tỷ lệ dương tính giả chỉ 1%, trông có vẻ như một ranh giới bảo mật vững chắc.
Bất chấp các chỉ số mạnh mẽ này, Ganz đã chứng minh rằng bất kỳ trình phát hiện nào có trọng số mở đều có thể bị vượt qua bằng các cuộc tấn công Greedy Coordinate Gradient (GCG). Phương pháp này liên quan đến việc gắn một hậu tố ngắn gồm các token vào cuối một prompt độc hại. Kẻ tấn công tối ưu hóa các token này để giảm thiểu điểm tin cậy của trình phát hiện, đẩy nó xuống dưới ngưỡng an toàn. Vì trọng số mô hình là công khai, kẻ tấn công có thể tính toán chính xác cách mỗi thay đổi token tiềm năng ảnh hưởng đến biên độ đầu ra, cho phép họ tạo ra một hậu tố đánh lừa bộ phân loại trong khi vẫn giữ nguyên ý định độc hại ban đầu đối với mô hình mục tiêu.
Cách thức hoạt động
Một trình phát hiện prompt injection thường xuất ra một điểm biên độ (margin score), được tính bằng sự khác biệt giữa các logit "injection" và "benign". Nếu biên độ này vượt quá một ngưỡng cụ thể, prompt sẽ bị đánh dấu. Đối với Smolaya-guard, ngưỡng được đặt ở mức -3.18 để duy trì tỷ lệ dương tính giả thấp, trong khi các vụ injection thực tế thường có điểm từ +7 đến +9. Mục tiêu của cuộc tấn công là tìm một hậu tố làm giảm biên độ này xuống dưới ngưỡng.
Vì các token là các đơn vị rời rạc, gradient descent tiêu chuẩn không thể được áp dụng trực tiếp. GCG giải quyết vấn đề này bằng cách tạm thời coi các embedding của token là các biến liên tục. Thuật toán tính toán gradient của biên độ đối với từng vị trí token, xác định những từ vựng nào sẽ làm giảm điểm số đáng kể nhất nếu được thay thế vào. Sau đó, nó kiểm tra một loạt các hoán đổi ứng viên này trên mô hình thực tế, giữ lại thay đổi tạo ra biên độ thấp nhất. Quá trình này lặp lại trong vài bước cho đến khi prompt bị phân loại sai.
Chi tiết chính
- Ganz đã kiểm thử cuộc tấn công chống lại ba mô hình trọng số mở:
Smolaya-guard,protectai/deberta-v3-base-prompt-injection-v2vànvidia/Nemotron-3.5-Content-Safety. - Cuộc tấn công đã vượt qua thành công cả ba trình phát hiện, kéo các điểm số injection tự tin xuống mức lành tính.
- Đối với
Smolaya-guard, 12 trong số 12 vụ injection được kiểm thử đã bị phân loại sai sau khi thêm một hậu tố 30 token được tối ưu hóa qua 10 bước. - Một hậu tố phổ quát đã được tạo ra cho mô hình ProtectAI, làm giảm biên độ trung bình của một loạt các vụ injection từ +15.3 xuống -13.
- Mô hình lớn hơn
Nemotron-3.5-Content-Safetyyêu cầu 136 bước tối ưu hóa để đảo ngược phán quyết từ không an toàn sang an toàn. - Các hậu tố được thêm vào thường là những câu vô nghĩa hoặc chứa các từ không liên quan như "benign", chỉ phục vụ mục đích thao túng toán học nội bộ của mô hình.
Tại sao điều này quan trọng
Phân tích này tiết lộ một điểm yếu cơ bản trong việc dựa vào các bộ phân loại trọng số mở làm ranh giới bảo mật. Khi trọng số mô hình được công khai, đối thủ có quyền truy cập đầy đủ vào thông tin gradient cần thiết để tạo ra các ví dụ đối kháng (adversarial examples). Điều này có nghĩa là việc cung cấp một bộ phân loại với trọng số mở thực chất trao cho kẻ tấn công công cụ để phá vỡ nó. Kích thước hoặc độ phức tạp của mô hình không ngăn cản được điều này; ngay cả một thẩm phán sinh tạo (generative judge) 4.3B tham số như Nemotron cũng bị đánh lừa bởi cùng phương pháp dựa trên gradient, mặc dù cần nhiều tính toán hơn.
Đối với các kỹ sư xây dựng ứng dụng AI, điều này ngụ ý rằng việc lọc prompt đơn thuần là không đủ nếu bộ lọc dễ bị tổn thương trước các cuộc tấn công gradient. Giả định rằng điểm AUC cao trên các tập kiểm thử tĩnh chuyển thành bảo mật thực tế là sai lầm khi đối thủ có thể thích nghi với ranh giới quyết định cụ thể của mô hình. Các chiến lược bảo mật phải tính đến thực tế rằng bất kỳ rào cản xác định, khả vi nào với các tham số bị lộ đều có thể bị tối ưu hóa để chống lại.
Bạn có thể làm gì
- Tránh dựa hoàn toàn vào các bộ phân loại trọng số mở cho các quyết định bảo mật quan trọng trong môi trường sản xuất.
- Cân nhắc sử dụng các công cụ kiểm duyệt dựa trên API mã nguồn đóng, nơi thông tin gradient không thể truy cập được bởi kẻ tấn công.
- Triển khai các chiến lược phòng thủ theo chiều sâu (defense-in-depth), chẳng hạn như xác thực đầu ra và sandboxing, thay vì chỉ tin tưởng vào các bộ lọc đầu vào.
- Giám sát các mẫu token bất thường hoặc các hậu tố entropy cao trong đầu vào người dùng, có thể chỉ ra các nỗ lực đối kháng.
- Thường xuyên cập nhật và xoay vòng các mô hình phát hiện để tăng chi phí tạo ra các hậu tố đối kháng phổ quát.
- Kiểm thử các bộ phân loại của riêng bạn chống lại các cuộc tấn công GCG trong quá trình phát triển để hiểu rõ các điểm yếu cụ thể của chúng.



