Sandbox kode yang tidak tepercaya akan berguna saat Anda harus mengandalkan software yang dikembangkan pihak ketiga tempat Anda tidak memiliki akses ke kode sumber, atau Anda tidak memiliki resource untuk melakukan penilaian kode sumber. Sandbox juga dapat berguna sebagai batas keamanan tambahan untuk kode Anda.

Bergantung pada kasus penggunaan Anda, berbagai alat tersedia untuk penahanan kode. Tabel di bawah ini memberikan ringkasan tentang berbagai produk dan kasus penggunaannya yang berlaku. Beberapa dari produk ini digunakan di Google dan dikembangkan oleh engineer Google.

Sandbox2 dan Sandboxed API adalah dua produk yang dikembangkan oleh divisi sandbox tim keamanan Google.

Produk Deskripsi Kasus Penggunaan
Sandbox2 Sandbox Linux menggunakan namespace, batas resource, dan filter syscall seccomp-bpf. Menyediakan teknologi sandbox yang mendasarinya untuk Sandboxed API. Sandbox Umum
gVisor Mengimplementasikan panggilan sistem dalam kernel aplikasi. Mengintersep panggilan sistem menggunakan ptrace atau dengan virtualisasi hardware. Sandbox Umum
balut balut Alat sandbox yang diimplementasikan dengan subset namespace pengguna. Digunakan sebagai mesin eksekusi misalnya Flatpak. Alat CLI
Minijail Alat sandbox dan containment yang digunakan di ChromeOS dan Android. Menyediakan library yang dapat dieksekusi dan library yang dapat digunakan untuk meluncurkan dan meng-sandbox program serta kode lainnya. Alat CLI
NSJail Isolasi proses untuk Linux menggunakan namespace, batas resource, dan filter syscall seccomp-bpf. Secara opsional, Anda dapat menggunakan Kafel, bahasa khusus domain kustom, untuk menentukan kebijakan syscall. Alat CLI
API dengan sandbox Sandbox yang dapat digunakan kembali untuk library C/C++ menggunakan Sandbox2. Kode C/C++
Klien Asli Tidak digunakan lagi

Teknik yang canggih untuk membuat biner biner C/C++ dengan mengompilasi ke subset bytecode x86 (NaCl)/LLVM (PNaCl) yang dibatasi.

Desain penggantinya yang terpengaruh (WebAssembly) dan sebagian besar digantikan oleh desain tersebut.

Kode C/C++
WebAssembly (WASM) Format biner untuk biner portabel. Modul WASM dieksekusi di lingkungan runtime yang terisolasi. Kode C/C++
RLBox API sandbox (ditulis dalam C++ 17), yang dapat menggunakan berbagai backend eksekusi: Native Client, WebAssembly, atau proses jarak jauh. Kode C/C++
Flatpak Dibuat berdasarkan Bubblewrap, menyediakan sandbox untuk aplikasi desktop Linux. Mengutamakan pengemasan dan distribusi aplikasi native. Aplikasi Desktop

Sandbox2 adalah sandbox keamanan C++ open source untuk Linux. Dengan Sandbox2, Anda dapat membatasi lingkungan runtime ke jumlah minimum yang diperlukan untuk operasi asli, sehingga membatasi potensi potensi kerentanan eksekusi kode.

Sandbox2 dapat digunakan untuk membuat sandbox seluruh program atau bagian dari program yang ditulis dalam C/C++.

Sandbox API (SAPI) adalah project open source untuk library C/C++ sandbox. Library yang di-sandbox dengan API dengan Sandbox dapat digunakan kembali dengan mudah, sehingga mengurangi beban project mendatang. Sebelum Sandbox API, sandbox yang tersedia untuk digunakan di Google memerlukan penerapan tambahan dengan setiap instance baru project yang dimaksudkan untuk di-sandbox, meskipun instance menggunakan kembali library software yang sama. Kebijakan Sandbox2 dan batasan lainnya yang diterapkan pada proses sandbox harus diterapkan ulang setiap kali, dan mekanisme pertukaran data antara bagian kode yang tepercaya dan tidak tepercaya harus dirancang dari awal.