Red teaming là chủ động tấn công chính hệ của mình để tìm ra cách nó hỏng, trước khi người dùng thật hoặc kẻ xấu tìm ra. Khái niệm mượn nguyên từ bảo mật.
Săn cái gì: đầu ra gây hại (hướng dẫn phạm pháp, tự hại, thù ghét), jailbreak vượt qua system prompt, prompt injection gián tiếp (chỉ thị giấu trong tài liệu hoặc email mà model đọc), rò rỉ PII và nội dung system prompt. Với agent thì nguy hiểm nhất là hành động không thể hoàn tác — xoá dữ liệu, chuyển tiền, gửi mail.
Quy trình:
1. Mô hình hoá mối đe doạ — liệt kê bề mặt tấn công thật của hệ mình: ai nhập được gì vào đâu, agent có những tool nào. Rồi xếp ưu tiên theo mức thiệt hại × khả năng xảy ra. Bỏ bước này là đi test những thứ không liên quan tới hệ của mình.
2. Sinh ca kiểm thử — kết hợp ba nguồn: chuyên gia viết tay (chất lượng cao nhất, tốn người), sinh tự động bằng một model tấn công lặp đi lặp lại tới khi vượt được (PAIR, TAP), và bộ đề công khai (HarmBench, JailbreakBench).
3. Chạy — đừng chỉ thử prompt đơn lẻ: thử hội thoại nhiều lượt, thử nhét chỉ thị vào tài liệu đầu vào, thử kịch bản có gọi tool. Và thử bằng ngôn ngữ ít được align — đây là lỗ hổng hay lọt nhất.
4. Chấm — chỉ số chính là ASR (Attack Success Rate), tỉ lệ ca tấn công thành công. Dùng classifier (Llama Guard) để chấm ở quy mô lớn, người chấm mức nghiêm trọng trên một mẫu nhỏ.
5. Vá rồi test lại — sửa system prompt, thêm guardrail, bổ sung dữ liệu từ chối khi RLHF. Quan trọng: giữ bộ đề thành suite hồi quy và chạy lại mỗi lần đổi prompt hoặc đổi model, vì vá chỗ này rất hay bung chỗ khác.
Công cụ: Garak (NVIDIA, hàng trăm probe sẵn) và PyRIT (Microsoft) là hai bộ mở dùng được ngay.
Hai điểm hay bị bỏ sót:
- Model đa phương thức phải red team riêng. Chữ giấu trong ảnh có thể ra lệnh cho model bỏ qua system prompt — test text-only không bao giờ thấy dạng tấn công này.
- Đội red team nên độc lập với đội phát triển. Người xây khó tự tìm lỗi của mình, và có xung đột lợi ích vì kết quả xấu làm chậm ngày ra mắt.