DEV Community

Cover image for Lab: Exploiting LLM APIs with excessive agency
tRavOndAtrACk
tRavOndAtrACk

Posted on

Lab: Exploiting LLM APIs with excessive agency

Mục tiêu: Minh hoạ rủi ro khi một LLM được cấp khả năng thực thi trực tiếp trên hệ thống (excessive agency) và phân tích biện pháp giảm thiểu.
Tác giả: travondatrack
Ngày: (06/11/2025)

1. Tóm tắt

Bài lab mô phỏng một hệ thống nơi một LLM có quyền gọi các API nội bộ, trong đó tồn tại một API dạng “debug” cho phép thực thi câu lệnh trên cơ sở dữ liệu.

2. Yêu cầu kiến thức

  • Hiểu cơ bản cách hoạt động của LLM và cách tích hợp LLM với API.
  • Kiến thức về bề mặt tấn công API (API attack surface).
  • Kiến thức cơ bản về SQL và nguyên tắc bảo mật (least privilege)

3. Các bước thực hiện

LLM tiết lộ rằng nó có thể gọi API debug_sql, cho phép chạy câu lệnh SQL thô — đây là dấu hiệu cực kỳ nguy hiểm vì nó trao cho LLM khả năng truy cập trực tiếp vào database backend.

Từ đây ta biết rằng API nhận một chuỗi chứa toàn bộ câu lệnh SQL. Điều này đồng nghĩa với việc nếu LLM có quyền gọi API, nó có thể gửi bất kỳ câu lệnh SQL nào, bao gồm cả truy vấn đọc hoặc ghi dữ liệu. Đây là một lỗ hổng nghiêm trọng trong thiết kế quyền hạn của hệ thống.

Tiếp theo, truy vấn này hiển thị dữ liệu từ bảng users. Ta phát hiện ra có một người dùng tên carlos — đây là thông tin cần thiết để hoàn thành lab. Bước này chứng minh rằng LLM có thể đọc dữ liệu nhạy cảm trực tiếp từ database — vi phạm nguyên tắc phân quyền an toàn.

Đây là bước cuối cùng để hoàn thành lab. LLM đã gửi câu lệnh xóa trực tiếp qua API debug_sql và hệ thống xác nhận rằng người dùng “carlos” đã bị xóa khỏi database.

Top comments (0)