Peretasan AI
Sumber Daya Keamanan AI

Keamanan RAG: Panduan Lengkap

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

Updated: August 2026 • Bagian dari OWASP LLM08

Apa itu RAG?

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. Permintaan Pengguna

Pengguna mengirimkan pertanyaan atau perintah ke sistem

2. Penyematan

Kueri diubah menjadi penyematan vektor

3. Pengambilan

Dokumen serupa diambil dari DB vektor

4. Augmentasi

Konteks yang diambil ditambahkan ke prompt

5. Generasi

LLM menghasilkan respons menggunakan konteks

The Trust Paradox

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.

Serangan Vektor

1. Keracunan Dokumen

Menyuntikkan konten berbahaya ke dalam dokumen yang disimpan dalam basis pengetahuan.

Cara kerjanya
  • Penyerang mengunggah atau menyuntikkan dokumen berbahaya
  • Dokumen tertanam dan disimpan dalam DB vektor
  • Saat kueri yang relevan dibuat, dokumen beracun diambil
  • LLM menggabungkan konteks berbahaya ke dalam respons
Dampak
  • 90% success hanya dengan 5 dokumen beracun
  • Bekerja bahkan dalam database dengan jutaan dokumen
  • Dapat menyebabkan keluaran yang berbahaya, bias, atau salah
  • Sulit dideteksi setelah penerapan

2. Manipulasi Pengambilan

Memanipulasi dokumen mana yang diambil untuk memengaruhi keluaran.

Cara kerjanya
  • Penyerang menyusun kueri untuk memicu pengambilan spesifik
  • Memanfaatkan kelemahan algoritme pemeringkatan
  • Menggunakan kesamaan semantik untuk membajak pengambilan
  • Manipulasi lintas-pengguna dalam sistem bersama
Dampak
  • Memaksa pengambilan konten yang dikendalikan penyerang
  • Dapat menyembunyikan konten yang sah
  • Aktifkan manipulasi yang ditargetkan
  • Merusak kepercayaan pada kualitas pengambilan

3. Menanamkan Inversi

Pemulihan data asli dari penyematan vektor.

Cara kerjanya
  • Penyerang mendapatkan akses ke basis data vektor
  • Menggunakan teknik inversi pada penyematan
  • Merekonstruksi teks asli dari vektor
  • Memulihkan data sensitif yang tertanam
Dampak
  • Recover 50-70% of input words
  • Mengekspos data sensitif dalam embeddings
  • Pelanggaran privasi
  • Masalah kepatuhan (GDPR, dll.)

4. Serangan Lintas Penyewa

Mengeksploitasi infrastruktur RAG bersama dalam sistem multi-penyewa.

Cara kerjanya
  • Penyerang adalah salah satu penyewa sistem bersama
  • Menyuntikkan konten yang memengaruhi penyewa lain
  • Mengeksploitasi basis data vektor bersama
  • Mengambil data dari penyewa lain
Dampak
  • Kebocoran data antar penyewa
  • Akses tidak sah ke data pesaing
  • Pelanggaran kepatuhan
  • Kerusakan reputasi

CVE Dunia Nyata

Kerentanan yang terdokumentasi dalam sistem RAG.

ID CVE Produk Deskripsi Keparahan 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

Strategi Pertahanan

1. Keamanan Fase Penyerapan

Validasi Dokumen

  • Pindai semua dokumen untuk mencari malware
  • Validasi format dan struktur dokumen
  • Periksa pola konten yang mencurigakan
  • Batasi jenis dokumen yang diizinkan

Pemfilteran Konten

  • Hapus PII sebelum penyematan
  • Filter pola data sensitif
  • Blokir pola berbahaya yang diketahui
  • Terapkan daftar izin/blokir

Kontrol Akses

  • Validasi sumber dokumen
  • Terapkan RBAC untuk penyerapan
  • Jejak audit untuk semua unggahan
  • Karantina dokumen baru

2. Keamanan Fase Pengambilan

Sanitasi Kueri

  • Validasi dan sanitasi kueri pengguna
  • Deteksi upaya injeksi
  • Batasi kompleksitas kueri
  • Pembatasan tingkat

Pemfilteran Pengambilan

  • Terapkan keamanan pemeringkatan ulang
  • Referensi silang dengan sumber tepercaya
  • Deteksi pola pengambilan yang tidak wajar
  • Batasi jumlah dokumen

Isolasi Multi-Tenancy

  • Namespace vektor terpisah
  • Batasan penyewa yang ketat
  • Pencegahan kueri lintas penyewa
  • Enkripsi per penyewa

3. Keamanan Fase Pembuatan

Validasi Output

  • Validasi keluaran LLM
  • Periksa konten yang disuntikkan
  • Periksa fakta terhadap sumber
  • Pemfilteran konten

Verifikasi Konteks

  • Verifikasi keaslian konten yang diambil
  • Deteksi upaya manipulasi
  • Tandai pola konteks yang tidak biasa
  • Catat semua penggunaan konteks

Human-in-the-Loop

  • Tinjau keluaran sensitif
  • Menyetujui tindakan berisiko tinggi
  • Kemampuan penggantian manual
  • Jalur eskalasi

4. Keamanan Data

Enkripsi

  • Enkripsi vektor saat diam
  • TLS untuk data dalam perjalanan
  • Praktik terbaik manajemen kunci
  • Pertimbangkan enkripsi homomorfik

Keamanan DB Vektor

  • Otentikasi yang kuat
  • Isolasi jaringan
  • Audit keamanan reguler
  • Manajemen patch

Perlindungan Privasi

  • Minimisasi data
  • Deteksi dan penghapusan PII
  • Kebijakan retensi
  • Hak atas dukungan penghapusan

Metodologi Pengujian

Daftar Periksa Uji Keamanan RAG

  • Tes injeksi dokumen
  • Tes manipulasi pengambilan
  • Menyematkan upaya inversi
  • Uji isolasi lintas penyewa
  • Tes kebocoran PII
  • Tes luapan konteks
  • Tes manipulasi peringkat
  • Tes bypass autentikasi
  • Tes injeksi API
  • Tes penolakan layanan
  • Tes eksfiltrasi data
  • Audit kepatuhan

Alat Pengujian

Garak

Pemindai kerentanan LLM dengan probe khusus RAG

Lihat →

Apache RAG

Kerangka kerja pengujian keamanan khusus RAG

Lihat →

Pemindai DB Vektor

Alat untuk menguji keamanan basis data vektor

Lihat →

Contoh Kode

Contoh Validasi Dokumen

```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.