10 Teratas OWASP untuk LLM
Risiko utama bagi aplikasi LLM.
10 Teratas OWASP untuk LLM adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Mengapa 10 Besar LLM?
10 Besar OWASP untuk Aplikasi Model Bahasa Besar adalah daftar yang digerakkan komunitas berisi risiko keamanan paling kritis yang khusus berlaku untuk sistem yang dibangun dengan LLM. Daftar ini menyerupai 10 Besar Web OWASP yang sudah dikenal, tetapi membahas ancaman yang tidak tercakup dalam daftar AppSec klasik.
Daftar ini ada karena aplikasi LLM memperkenalkan permukaan serangan baru: alur kendali bahasa alami, keluaran yang tidak deterministik, rantai pasokan model, dan agen otonom. Daftar ini memberi tim keamanan kosakata bersama dan daftar periksa untuk pemodelan ancaman.
Kode di bawah menggunakan penomoran LLM01-LLM10 dari edisi 2025.
LLM01 Injeksi Instruksi
LLM01: Injeksi Instruksi secara konsisten menjadi risiko nomor satu. Teks yang dikendalikan penyerang dapat mengesampingkan instruksi pengembang karena model tidak dapat memisahkan instruksi tepercaya dari data yang tidak tepercaya.
- Langsung: pengguna mengetikkan instruksi pengganti.
- Tidak langsung: instruksi disembunyikan dalam halaman web, berkas, atau keluaran alat yang diambil.
Mitigasi: terapkan hak akses minimum pada alat, perlakukan semua konten yang diambil sebagai data, tambahkan pemeriksaan manusia untuk tindakan sensitif, dan putus jalur eksfiltrasi data.
LLM02 Pengungkapan Informasi Sensitif
LLM02: Pengungkapan Informasi Sensitif mencakup tindakan model mengungkapkan data yang semestinya tidak boleh diungkapkan: PII, rahasia, data pelatihan milik eksklusif, atau informasi penyewa lain.
Kebocoran terjadi melalui data pelatihan yang dihafal, injeksi konteks yang terlalu luas, atau instruksi system yang berisi kredensial.
- Bersihkan dan minimalkan data yang ditempatkan dalam konteks.
- Jangan pernah menempatkan rahasia aktif dalam prompt; gunakan token dengan cakupan terbatas dan masa berlaku singkat melalui jalur terpisah.
- Terapkan penyaringan keluaran dan pemeriksaan pencegahan kehilangan data sebelum mengembalikan respons.
LLM03 Rantai Pasokan
LLM03: Rantai Pasokan berasal dari risiko model, kumpulan data, plug-in, dan pustaka pihak ketiga. Model dasar yang diracuni, penyetelan lanjut berpintu belakang dari pusat model, atau dependensi Python yang berbahaya dapat membahayakan seluruh aplikasi.
- Verifikasi asal-usul dan nilai pemeriksaan model.
- Kunci versi dan tinjau lisensinya.
- Pindai berkas model yang diserialisasi (
pickledapat mengeksekusi kode saat dimuat) dan utamakan format aman sepertisafetensors.
# Pickle deserialization can run arbitrary code on load.
# Prefer safetensors for untrusted model weights:
from safetensors.torch import load_file
state = load_file("model.safetensors")LLM04 Peracunan Data dan Model
LLM04: Peracunan Data dan Model menargetkan alur pelatihan atau penyetelan lanjut. Penyerang yang dapat memengaruhi data pelatihan dapat menanamkan pintu belakang (pemicu tersembunyi), membiaskan keluaran, atau menurunkan kualitas.
Alur RAG yang memasukkan dokumen kiriman pengguna menjadi permukaan peracunan yang tetap aktif bahkan setelah penerapan.
- Periksa dengan cermat dan tanda tangani sumber data pelatihan.
- Gunakan deteksi anomali pada kumpulan data.
- Isolasi dan tinjau konten yang disumbangkan pengguna sebelum pengindeksan.
LLM05 Penanganan Keluaran yang Tidak Tepat
LLM05: Penanganan Keluaran yang Tidak Tepat terjadi ketika komponen hilir mempercayai keluaran model tanpa validasi. Karena keluaran dapat dipengaruhi penyerang melalui injeksi, meneruskannya tanpa validasi ke shell, SQL query, peramban, atau fungsi evaluasi merupakan jalur langsung menuju XSS, SSRF, atau RCE.
Aturan: perlakukan keluaran LLM persis seperti masukan pengguna yang tidak tepercaya. Enkode, validate, dan isolasi sebelum keluaran tersebut menyentuh penerjemah apa pun.
# DANGEROUS: model output flows straight into a shell
os.system(model_output) # never do this
# SAFER: validate against an allowlist, no shell
if action in ALLOWED_ACTIONS:
run_safe(action, args)LLM06 Otonomi Berlebihan
LLM06: Otonomi Berlebihan adalah bahaya yang disebabkan oleh pemberian terlalu banyak fungsi, terlalu banyak izin, atau terlalu banyak otonomi kepada model. Ketika model dapat memanggil alat, injeksi berubah menjadi tindakan, bukan sekadar teks.
- Fungsi berlebihan: alat yang sebenarnya tidak diperlukan aplikasi.
- Izin berlebihan: alat dengan kemampuan tulis/hapus ketika akses baca sudah memadai.
- Otonomi berlebihan: tindakan berdampak besar tanpa persetujuan manusia.
Terapkan hak akses minimum untuk setiap alat dan minta konfirmasi untuk operasi yang tidak dapat dibatalkan.
LLM07 Kebocoran Instruksi system
LLM07: Kebocoran Instruksi system menegaskan bahwa instruksi system bukan tempat penyimpanan rahasia yang aman. Penyerang sering kali dapat mengambilnya, dan instruksi tersebut terkadang berisi kredensial, logika bisnis tersembunyi, atau aturan penyaringan yang membantu serangan lanjutan.
- Anggap instruksi system dapat dipulihkan; jangan pernah menyematkan rahasia atau kunci di dalamnya.
- Terapkan otorisasi di backend Anda, bukan dengan berharap aturan instruksi dipatuhi.
- Anggap kontrol keamanan apa pun rusak jika hanya berada dalam teks instruksi.
LLM08, LLM09, LLM10
Entri lainnya:
- LLM08 Kelemahan Vektor dan Penyematan: risiko dalam penyematan RAG, seperti kebocoran lintas penyewa, pembalikan penyematan, dan pengindeksan dokumen yang diracuni. Terapkan kontrol akses saat pengambilan.
- LLM09 Informasi Keliru: halusinasi yang disampaikan dengan yakin dan ketergantungan berlebihan. Tambahkan pembumian, sitasi, dan tinjauan manusia untuk keluaran berisiko tinggi.
- LLM10 Konsumsi Tanpa Batas: pengurasan anggaran dan penolakan layanan akibat kueri yang mahal atau tak terkendali. Terapkan pembatas laju, anggaran token, batas waktu, dan peringatan biaya.
Menggunakan Daftar dalam Pemodelan Ancaman
10 Teratas paling berguna sebagai daftar periksa terstruktur selama tinjauan desain:
- Petakan setiap komponen (masukan, pengambilan, alat, keluaran) ke risiko LLM yang relevan.
- Untuk setiap risiko, tentukan kontrol konkret dan penanggung jawabnya.
- Tuliskan kasus penyalahgunaan dan ubah menjadi pengujian otomatis.
Gabungkan daftar ini dengan kerangka kerja yang sudah ada, seperti 10 Teratas OWASP standar, MITRE ATLAS untuk taktik khusus pembelajaran mesin, dan Kerangka Kerja Manajemen Risiko Kecerdasan Buatan NIST untuk tata kelola.
Dari Daftar Periksa ke Pertahanan Berlapis
Tidak ada satu kontrol yang mencakup semua risiko ini. Susun beberapa lapisan:
- Lapisan masukan: validasi, klasifikasi, pembatas laju.
- Lapisan model: alat dengan hak akses minimum, konteks dengan cakupan terbatas, model penjaga.
- Lapisan keluaran: validasi, pengodean, DLP, persetujuan manusia.
- Lapisan platform: pencatatan, pemantauan, verifikasi rantai pasokan, pengendalian biaya.
Anggap setiap lapisan dapat gagal dan rancang sistem agar satu kegagalan tidak berubah menjadi kebocoran keamanan.
Pemeriksaan Singkat
Uji pemahaman Anda tentang kategori LLM OWASP.
Ringkasan
10 Teratas LLM OWASP secara singkat:
- LLM01 Injeksi Instruksi, LLM02 Pengungkapan Informasi Sensitif, LLM03 Rantai Pasokan, LLM04 Peracunan Data dan Model, LLM05 Penanganan Keluaran yang Tidak Tepat.
- LLM06 Otonomi Berlebihan, LLM07 Kebocoran Instruksi system, LLM08 Kelemahan Vektor dan Penyematan, LLM09 Informasi Keliru, LLM10 Konsumsi Tanpa Batas.
- Perlakukan keluaran model dan instruksi system sebagai sesuatu yang tidak tepercaya dan bukan rahasia.
- Gunakan daftar ini sebagai daftar periksa pemodelan ancaman, padukan dengan MITRE ATLAS dan RMF AI NIST, serta terapkan pertahanan berlapis pada lapisan masukan, model, keluaran, dan platform.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “10 Teratas OWASP untuk LLM” gratis?
Ya — teks lengkap “10 Teratas OWASP untuk LLM” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “10 Teratas OWASP untuk LLM”?
Risiko utama bagi aplikasi LLM. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “10 Teratas OWASP untuk LLM” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Injeksi Prompt dan Jailbreak
- 10 Teratas OWASP untuk LLM
- Mengamankan Agen Kecerdasan Buatan dan Penggunaan Alat
- Risiko Model, Data, dan Rantai Pasokan