AI Hacking
Tài nguyên bảo mật AI

Bảo mật RAG: Hướng dẫn đầy đủ

Securing Retrieval-Augmented Generation systems against document poisoning, retrieval manipulation, and embedding attacks

Updated: August 2026 • Một phần của OWASP LLM08

RAG là gì?

Retrieval-Augmented Generation (RAG) is an AI architecture that combines large language models with external knowledge retrieval. Enterprise LLM deployments now use RAG extensively, making its security critical.

1. Truy vấn của người dùng

Người dùng gửi câu hỏi hoặc lời nhắc đến hệ thống

2. Nhúng

Truy vấn được chuyển đổi sang dạng nhúng vectơ

3. Truy xuất

Các tài liệu tương tự được lấy từ vector DB

4. Tăng cường

Ngữ cảnh được truy xuất được thêm vào lời nhắc

5. Thế hệ

LLM tạo phản hồi bằng cách sử dụng ngữ cảnh

Nghịch lý tin cậy

RAG systems have a fundamental security flaw: user queries are treated as untrusted input, but retrieved context is implicitly trusted - even though both enter the same prompt. This creates a significant attack surface that traditional security doesn't address.

Vectơ tấn công

1. Ngộ độc tài liệu

Đưa nội dung độc hại vào các tài liệu được lưu trữ trong kiến thức cơ sở.

Cách hoạt động
  • Kẻ tấn công tải lên hoặc tiêm các tài liệu độc hại
  • Tài liệu được nhúng và lưu trữ trong vector DB
  • Khi truy vấn có liên quan, tài liệu bị nhiễm độc sẽ được truy xuất
  • LLM kết hợp bối cảnh độc hại vào phản hồi
Tác động
  • 90% success chỉ với 5 tài liệu bị nhiễm độc
  • Hoạt động ngay cả trong cơ sở dữ liệu với hàng triệu tài liệu
  • Có thể gây ra kết quả đầu ra có hại, sai lệch hoặc không chính xác
  • Khó phát hiện sau khi triển khai

2. Thao tác truy xuất

Thao tác những tài liệu nào được truy xuất để tác động đến kết quả đầu ra.

Cách hoạt động
  • Kẻ tấn công tạo ra các truy vấn để kích hoạt truy xuất cụ thể
  • Khai thác điểm yếu của thuật toán xếp hạng
  • Sử dụng sự tương đồng về ngữ nghĩa để chiếm quyền truy xuất
  • Thao tác của nhiều người dùng trong các hệ thống dùng chung
Tác động
  • Buộc truy xuất nội dung do kẻ tấn công kiểm soát
  • Có thể ngăn chặn nội dung hợp pháp
  • Cho phép thao tác có chủ đích
  • Phá vỡ niềm tin vào chất lượng truy xuất

3. Nhúng Đảo ngược

Khôi phục dữ liệu gốc từ vectơ nhúng.

Cách hoạt động
  • Kẻ tấn công có quyền truy cập vào cơ sở dữ liệu vectơ
  • Sử dụng kỹ thuật đảo ngược trên các phần nhúng
  • Tái tạo văn bản gốc từ vectơ
  • Khôi phục dữ liệu nhúng nhạy cảm
Tác động
  • Recover 50-70% of input words
  • Lộ dữ liệu nhạy cảm trong phần nhúng
  • Vi phạm quyền riêng tư
  • Các vấn đề về tuân thủ (GDPR, v.v.)

4. Các cuộc tấn công giữa nhiều người thuê

Khai thác cơ sở hạ tầng RAG dùng chung trong hệ thống nhiều người thuê.

Cách hoạt động
  • Kẻ tấn công là một trong những đối tượng thuê của hệ thống dùng chung
  • Tiêm nội dung ảnh hưởng đến những người thuê khác
  • Khai thác cơ sở dữ liệu vectơ dùng chung
  • Truy xuất dữ liệu từ những người thuê khác
Tác động
  • Rò rỉ dữ liệu giữa các đối tượng thuê
  • Truy cập trái phép vào dữ liệu của đối thủ cạnh tranh
  • Vi phạm tuân thủ
  • Thiệt hại về danh tiếng

CVE trong thế giới thực

Các lỗ hổng được ghi lại trong hệ thống RAG.

CVE ID Sản phẩm Mô tả Mức độ nghiêm trọng CVSS
CVE-2025-68700 RAGFlow RCE via Canvas CodeExec component - untrusted data parsed with eval() Critical 9.1
CVE-2025-69286 RAGFlow Insecure API key generation allows mutual token derivation (authentication bypass) Critical 8.9
CVE-2025-25282 RAGFlow IDOR vulnerability allowing cross-tenant access and unauthorized user addition High 8.1
CVE-2025-69286 RAGFlow Token generation using same URLSafeTimedSerializer for API keys High 8.9
GHSA-8xw3-v6c2-j84j RAGFlow RCE via stdout parsing in CodeExec component High 8.5

Chiến lược phòng thủ

1. Bảo mật giai đoạn xâm nhập

Xác thực tài liệu

  • Quét tất cả tài liệu để tìm phần mềm độc hại
  • Xác thực định dạng và cấu trúc tài liệu
  • Kiểm tra các mẫu nội dung đáng ngờ
  • Giới hạn loại tài liệu được phép

Lọc nội dung

  • Xóa PII trước khi nhúng
  • Lọc các mẫu dữ liệu nhạy cảm
  • Chặn các mẫu độc hại đã biết
  • Triển khai danh sách cho phép/chặn

Kiểm soát truy cập

  • Xác thực nguồn tài liệu
  • Triển khai RBAC để nhập
  • Dấu vết kiểm tra cho tất cả nội dung tải lên
  • Cách ly tài liệu mới

2. Bảo mật giai đoạn truy xuất

Xử lý truy vấn

  • Xác thực và làm sạch các truy vấn của người dùng
  • Phát hiện các nỗ lực tiêm nhiễm
  • Giới hạn độ phức tạp của truy vấn
  • Giới hạn tỷ lệ

Lọc truy xuất

  • Triển khai bảo mật sắp xếp lại
  • Tham khảo chéo với các nguồn đáng tin cậy
  • Phát hiện các mẫu truy xuất bất thường
  • Giới hạn số lượng tài liệu

Cách ly nhiều người thuê

  • Các không gian tên vectơ riêng biệt
  • Ranh giới nghiêm ngặt đối với đối tượng thuê
  • Ngăn chặn truy vấn nhiều bên thuê
  • Mã hóa cho mỗi đối tượng thuê

3. Bảo mật giai đoạn thế hệ

Xác thực đầu ra

  • Xác thực đầu ra LLM
  • Kiểm tra nội dung được chèn
  • Kiểm tra tính xác thực dựa trên các nguồn
  • Lọc nội dung

Xác minh bối cảnh

  • Xác minh tính xác thực của nội dung được truy xuất
  • Phát hiện các nỗ lực thao túng
  • Gắn cờ các mẫu ngữ cảnh bất thường
  • Ghi lại tất cả việc sử dụng ngữ cảnh

Con người trong vòng lặp

  • Xem xét các đầu ra nhạy cảm
  • Phê duyệt các hành động có rủi ro cao
  • Khả năng ghi đè thủ công
  • Đường dẫn leo thang

4. Bảo mật dữ liệu

Mã hóa

  • Các vectơ mã hóa ở trạng thái nghỉ
  • TLS cho dữ liệu đang truyền
  • Các phương pháp hay nhất về quản lý khóa
  • Xem xét mã hóa đồng cấu

Bảo mật Vector DB

  • Xác thực mạnh
  • Cách ly mạng
  • Kiểm tra bảo mật thường xuyên
  • Quản lý bản vá

Bảo vệ quyền riêng tư

  • Giảm thiểu dữ liệu
  • Phát hiện và loại bỏ PII
  • Chính sách lưu giữ
  • Hỗ trợ quyền xóa

Phương pháp thử nghiệm

Danh sách kiểm tra kiểm tra bảo mật RAG

  • Thử nghiệm chèn tài liệu
  • Kiểm tra thao tác truy xuất
  • Nhúng các nỗ lực đảo ngược
  • Kiểm tra cách ly nhiều người thuê
  • Kiểm tra rò rỉ PII
  • Kiểm tra tràn ngữ cảnh
  • Kiểm tra thao túng xếp hạng
  • Kiểm tra bỏ qua xác thực
  • Kiểm thử chèn API
  • Thử nghiệm từ chối dịch vụ
  • Kiểm tra lọc dữ liệu
  • Kiểm tra tuân thủ

Công cụ kiểm tra

Garak

Trình quét lỗ hổng LLM với các đầu dò dành riêng cho RAG

Xem →

Apache RAG

Khung kiểm tra bảo mật dành riêng cho RAG

Xem →

Máy quét Vector DB

Công cụ kiểm tra bảo mật cơ sở dữ liệu vectơ

Xem →

Ví dụ về mã

Ví dụ xác thực tài liệu

```python
import re
from typing import List

class RAGDocumentValidator:
    SUSPICIOUS_PATTERNS = [
        r"ignore previous instructions",
        r"system prompt:",
        r"{{.*}}",
        r"you are now dan",
    ]
    
    PII_PATTERNS = [
        r"\b\d{3}-\d{2}-\d{4}\b",  # SSN
        r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b",  # Email
        r"\b\d{16}\b",  # Credit card
    ]
    
    def validate_document(self, content: str) -> dict:
        """Validate document before embedding."""
        warnings = []
        blocked = False
        
        # Check for suspicious patterns
        for pattern in self.SUSPICIOUS_PATTERNS:
            if re.search(pattern, content, re.IGNORECASE):
                warnings.append(f"Suspicious pattern: {pattern}")
                blocked = True
        
        # Check for PII
        for pattern in self.PII_PATTERNS:
            if re.search(pattern, content):
                warnings.append(f"PII detected: {pattern}")
        
        return {
            "valid": not blocked,
            "warnings": warnings,
            "pii_detected": len([w for w in warnings if "PII" in w]) > 0
        }
```
AH
AI Hacking Team

The AI Hacking team researches and documents AI/LLM security vulnerabilities, red teaming techniques, and defensive strategies. Our guides are based on real-world pentesting experience and continuous monitoring of the AI security landscape.

Stay Ahead of AI Security

Get the latest AI/LLM security research, OWASP updates, and new vulnerabilities delivered straight to your inbox.