Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
AMM adalah target yang menggiurkan bagi kode yang merugikan: dana LP berada di pool yang sepenuhnya terlihat; setiap swap mengubah harga secara deterministik. Halaman ini mengkatalogkan kelas serangan yang telah didemonstrasikan terhadap AMM di mana pun, bagaimana serangan tersebut berlaku pada Raydium secara spesifik, dan apa yang Raydium (dan integrator) lakukan untuk mempertahankan diri.
1. Serangan sandwich / MEV
Serangan
Bot mengawasi mempool / aliran gossip, melihat swap pengguna, front-run dengan pembelian searah yang sama (mendorong harga), membiarkan tx pengguna dieksekusi pada harga yang lebih buruk, kemudian back-run dengan penjualan berlawanan. Bot untung dari spread tersebut.Paparan
- Paling terpapar: pool CPMM TVL-rendah dan pool AMM v4 — bahkan perdagangan kecil menggerakkan harga secara berarti.
- Kurang terpapar: pool CLMM yang dalam — perdagangan dalam-tick tidak menggerakkan harga.
- Tidak terpapar: panen farm, deposit LP (rasio dipaksakan, bukan peka-harga dengan cara yang sama).
Pertahanan
- Bundle Jito (
integration-guides/routing-and-mev) menyembunyikan tx dari mempool publik. - Slippage ketat — minimum-out yang lebih dekat ke yang diharapkan membuat sandwich tidak menguntungkan. Di bawah ~0,3%, sebagian besar sandwich mengalami kerugian.
- Ukuran perdagangan lebih kecil — bagi swap $100k menjadi 10× $10k; setiap pergerakan menekan harga lebih sedikit.
Postur Raydium
Program inti Raydium tidak memberlakukan perlindungan anti-MEV — mereka netral di tingkat program. Perlindungan terjadi di lapisan pengajuan (Jito, perlindungan bawaan dompet). UI default slippage ke 0,5% yang masuk akal untuk sebagian besar pool.2. Manipulasi harga
Serangan
Pedagang besar sementara menggerakkan harga pool (melalui flash loan atau modal self-funded), memicu beberapa tindakan hilir yang bergantung pada harga (likuidasi, pinjaman turunan-oracle, pembayaran derivatif), kemudian mengembalikan harga ke normal.Paparan
- Operasi Raydium native: tidak terpapar. Swap spot masuk-keluar hanya dikenai biaya round-trip; pedagang kehilangan uang.
- Program terintegrasikan: terpapar jika membaca harga pool Raydium secara naif.
Pertahanan
- Gunakan TWAP, bukan spot price, untuk komposabilitas (lihat
security/oracle-and-token-risks). - CLMM ObservationState memberikan TWAP jendela-pendek yang tidak dapat dimanipulasi tanpa komitmen modal berkelanjutan.
- Konsensus multi-oracle: jika program Anda membaca Raydium dan Pyth dan Jupiter dan hanya bertindak ketika mereka setuju dalam 1%, manipulasi flash-loan dari sumber mana pun tidak cukup.
Postur Raydium
CLMM mengirim dukungan TWAP ObservationState; integrator yang mengabaikannya dan menggunakan spot price ada pada diri mereka sendiri. Frontend Raydium menggunakan beberapa sumber harga untuk tampilan USD.3. Serangan donasi / inflasi
Serangan
LP pertama di pool baru menyetor jumlah kecil (misalnya, 1 token dari masing-masing 6-mint desimal → 1 unit LP diterbitkan). Kemudian penyerang “menyumbangkan” 1.000.000 token langsung ke vault pool melalui transfer SPL Token. Sekarang 1 unit LP mewakili 500.000 dari setiap mint. LP subsekuensi yang mendeposito kurang dari itu dibulatkan menjadi 0 unit LP dan kehilangan deposit mereka.Paparan
- CPMM / AMM v4: berpotensi terpapar pada pool yang baru dibuat dan berguna rendah.
- CLMM: tidak terpapar (tidak ada mint LP bersama; setiap posisi adalah NFT-nya sendiri dengan nilai likuiditas eksplisit).
Pertahanan
Instruksiinitialize CPMM mengunci jumlah LP minimum ke pool (terinspirasi oleh pola MINIMUM_LIQUIDITY Uniswap V2). Ini berarti LP pertama menerima sqrt(x × y) - MINIMUM_LIQUIDITY, dengan MINIMUM_LIQUIDITY (1000 unit) dibakar ke null. Serangan donasi memerlukan penyerang untuk menyumbangkan >> deposit awal, yang menjadi tidak ekonomis.
Selain itu, SDK Raydium memperingatkan keras ketika deposit awal sangat kecil dan memandu pengguna menuju jumlah yang wajar.
Postur Raydium
PenguncianMINIMUM_LIQUIDITY dikirim di CPMM; AMM v4 memiliki mekanisme serupa. Pengguna yang membuat pool harus disemai dengan setidaknya 10.000+ unit dari setiap mint untuk membuat serangan donasi tidak ekonomis dalam hal apa pun.
4. Penyalahgunaan hook transfer Token-2022
Serangan
Hook transfer mint dapat ditingkatkan. Penyerang menerapkan hook yang tidak bersalah pada peluncuran mint, mendapat daftar di Raydium, mengumpulkan LP dari pengguna. Kemudian, meningkatkan hook untuk memblokir semua transfer (efektif soft-rug — pengguna tidak bisa penarikan). Penyerang membuat pool dapat diperdagangkan hanya ke satu arah, membeli LP murah, membuka hook, menang.Paparan
Pool yang mencakup mint dengan hook transfer.Pertahanan
- Tingkat program: program Raydium menjalankan hook selama swap; jika hook memblokir, swap kembali. Ini tidak mencegah serangan secara mekanis.
- Tingkat UI: Raydium menandai pool dengan mint transfer-hook.
- Tingkat integrator: agregator harus melewati mint transfer-hook secara default dan hanya whitelist hook yang diverifikasi.
Postur Raydium
Raydium tidak melarang pool transfer-hook (hook yang sah ada), tetapi menandainya dengan jelas. Agregator memfilter padatags.includes("TRANSFER_HOOK") dapat dikecualikan jika diinginkan.
5. Eksploit komposabilitas / CPI
Serangan
Program mengkomposisi Raydium melalui CPI dan memperkenalkan bug: misalnya, melewatkanobservation_state yang salah, array tick yang salah untuk swap CLMM, atau double-spend akun. Penyerang mengidentifikasi komposisi buggy dan mengeksploitasi.
Paparan
- Integrator buggy — biasanya sumber bug.
- Raydium — hanya jika bug memicu perilaku yang tidak disengaja di program Raydium itu sendiri.
Contoh historis
Tidak ada program Raydium yang telah dieksploitasi melalui CPI — validator akun Raydium menangkap akun yang tidak berbentuk dan kembali. Eksploit di ekosistem yang lebih luas telah terjadi melalui bug program kustom yang dikomposisi dengan AMM tetapi tidak berasal dari AMM.Pertahanan
- Program pemanggil harus menggunakan helper CPI Anchor (bukan instruksi yang dibangun tangan) jika memungkinkan — keamanan tipe menangkap sebagian besar penyalahgunaan.
- Tes integrasi terhadap status mainnet-forked mencakup kasus komposisi.
6. Kompromi admin / kunci
Serangan
Kunci admin (otoritas upgrade, admin AmmConfig, klaim biaya protokol) dikompromikan. Penyerang menggunakan upgrade berbahaya yang menguras pool, atau memodifikasi AmmConfig untuk mengarahkan biaya ke dompet penyerang, atau menguras biaya protokol.Paparan
Semua peran yang didokumentasikan dalamsecurity/admin-and-multisig.
Pertahanan
- Multisig 3/4 pada otoritas upgrade memerlukan kompromi 4 penandatangan independen.
- Timelock 24 jam pada upgrade memberi pengguna waktu untuk bersih-bersih sebelum upgrade berbahaya diaktifkan.
- Pemantauan operasional — peringatan pada aktivitas multisig apa pun melalui antrian publik Squads.
Insiden historis
Kunci otoritas pool AMM v4 dikompromikan pada Desember 2022 (pra-multisig). Perbaikan: memindahkan semua otoritas ke multisig Squads. Pasca-perbaikan, tidak ada insiden.7. Serangan ekonomi pada matematika tick CLMM
Serangan
Penyerang canggih mengeksploitasi pembulatan atau edge case akuntansi biaya dalam matematika tick CLMM. Contoh yang telah ditemukan di implementasi CLMM lain (bukan Raydium):- Akuntansi pertumbuhan biaya yang pembulatan melawan pengguna, mengumpulkan debu.
- Penyeberangan tick yang mengkredit/mendebet delta fee_growth yang salah.
- Integer overflow dalam produk
sqrtPrice * liquidity.
Paparan
Matematika custom yang kompleks. Audit dan fuzzing adalah pertahanan utama.Postur Raydium
CLMM telah menjalani dua audit independen (OtterSec + MadShield) ditambah fuzzing berbasis properti yang berkelanjutan. Tidak ada bug yang berdampak produksi ditemukan hingga saat ini. Aritmatikasqrt_price_x64 Q64.64 menggunakan matematika 128-bit yang jenuh dengan pengujian unit mencakup tick batas.
8. Kebingungan posisi-NFT
Serangan
Pengguna ditipu untuk menandatangani transaksi yang mentransfer NFT posisi CLMM mereka ke penyerang. Penyerang sekarang memiliki likuiditas posisi.Paparan
Setiap pemegang posisi NFT.Pertahanan
- UI dompet harus mengenali NFT posisi Raydium dan menampilkannya secara khas (bukan sebagai NFT generik untuk “mengirim”).
- Pengguna harus waspada menandatangani transaksi yang mentransfer NFT.
Postur Raydium
NFT posisi mengimplementasikan standar metadata Metaplex; aplikasi dompet yang memahami posisi CLMM menampilkannya sebagai posisi likuiditas daripada NFT yang dapat diperdagangkan. Sebagian besar dompet Solana utama memunculkannya secara khusus sejak 2026.9. Manipulasi aliran reward farm
Serangan
Pembuat farm mendanai vault reward, menarik staker, kemudian memanggilrestartRewards dengan parameter yang membuat komputasi reward tertunda canggung, mencuri nilai panen.
Paparan
Farm dengan pembuat berbahaya. Farm v6 membatasi kekuatan pembuat dengan ketat; serangan ini tidak berfungsi.Pertahanan
Instruksi admin Farm v6 (setRewards, restartRewards, addReward) mempertahankan hak pro-rata — reward_per_share disesuaikan pada saat perubahan, sehingga tidak ada akrual pra-perubahan yang secara retroaktif rusak.
Postur Raydium
Audit farm OtterSec secara khusus menguji skenario restart-rewards; tidak ada eksploit ditemukan.10. Divergensi simulasi-vs-eksekusi
Serangan
Penyerang membangun transaksi yang mensimulasikan dengan sukses tetapi kembali pada eksekusi (atau sebaliknya). Digunakan untuk menggelisahkan dompet yang mengandalkan simulasi untuk tampilan.Paparan
Dompet menampilkan “Anda akan menerima X” berdasarkan simulasi.Pertahanan
- Gunakan
simulateTransactiondengan blockhash yang sama seperti pengajuan nyata. - Tampilkan hasil yang diharapkan sebagai ”≈” (kira-kira) bukan tepat.
- Re-simulasikan segera sebelum pengajuan.
Postur Raydium
Simulasi CLMM deterministik mengingat keadaan pool saat ini; divergensi hanya terjadi jika keadaan berubah antara simulasi dan eksekusi (kasus normal, ditangani melalui batas slippage).Tabel ringkasan
| Vektor | Spesifik Raydium | Dipertahankan di | Risiko sisa untuk pengguna |
|---|---|---|---|
| Sandwich / MEV | Ya | Lapisan pengajuan (Jito, slippage) | Rendah jika Jito digunakan |
| Manipulasi harga | Hanya komposabilitas | Gunakan TWAP | Rendah jika TWAP dikonsumsi |
| Serangan donasi | CPMM | MINIMUM_LIQUIDITY | Rendah |
| Penyalahgunaan transfer-hook | Pool Token-2022 | Bendera UI | Sedang untuk hook yang tidak diverifikasi |
| Eksploit CPI | Bug integrator | Validator Raydium kembali | Rendah (bug tetap di integrator) |
| Kompromi admin | Semua program | Multisig + timelock | Rendah (24h untuk bereaksi) |
| Matematika tick CLMM | CLMM | Audit + fuzzing | Rendah |
| Kebingungan NFT posisi | CLMM | UX dompet | Rendah dengan dompet modern |
| Manipulasi farm | Farm v6 | Kekuatan pembuat terbatas | Rendah |
| Divergensi simulasi | Apa pun | UX dompet | Rendah |
Apa yang bisa dilakukan pengguna
- Default ke slippage ketat; naikkan hanya saat diperlukan.
- Gunakan wallet / alur swap yang diaktifkan Jito.
- Verifikasi ekstensi mint sebelum LP.
- Pantau multisig Squads untuk upgrade tertunda.
- Diversifikasi di seluruh pool; jangan konsentrasikan semua LP Anda di satu pool peluncuran baru.
Apa yang bisa dilakukan integrator
- Gunakan TWAP ObservationState untuk penetapan harga derivatif.
- Validasi batasan akun saat mengomposisi melalui CPI.
- Filter pool menurut bidang
tags(lewatiscam,honeypot, transfer-hook yang tidak diverifikasi). - Tetapkan batas slippage yang masuk akal; jangan terima slippage 0 dari input pengguna.
- Gunakan
simulateTransactiondengan hati-hati — dokumentasikan ini adalah perkiraan.
Petunjuk
security/oracle-and-token-risks— Risiko Token-2022 secara mendalam.security/admin-and-multisig— struktur otoritas.security/disclosure— program bug-bounty.integration-guides/routing-and-mev— mitigasi MEV.
- Rekt News — Post-mortem DeFi yang menginformasikan daftar ini.
- Laporan audit tertaut di
security/audits.


