Keamanan Claude Code: Izin, Sandboxing, dan Penggunaan yang Aman
Claude Code memiliki sistem izin yang memungkinkan Anda mengontrol persis apa yang bisa dan tidak bisa dilakukan AI. Berikut cara mengonfigurasinya untuk pengembangan yang aman.
Claude Code menjalankan perintah dan mengedit file di lingkungan Anda. Kekuatan itu membutuhkan pagar pembatas. Sistem izin memungkinkan Anda mendefinisikan persis apa yang bisa diakses Claude Code, apa yang bisa dimodifikasinya, dan tindakan apa yang memerlukan persetujuan eksplisit Anda.
Bagaimana cara kerja sistem izin Claude Code?
Claude Code memiliki tiga mode izin yang mengontrol seberapa banyak otonomi yang diberikan kepada agen:
| Mode | Perilaku | Terbaik untuk |
|---|---|---|
| Normal | Meminta izin untuk setiap penggunaan tool | Pembelajaran, codebase sensitif |
| Auto-Accept | Menyetujui tindakan aman, bertanya untuk yang berisiko | Pengembangan sehari-hari |
| Plan Mode | Merencanakan perubahan, menunggu persetujuan sebelum eksekusi | Code review, perubahan arsitektur |
Bagaimana cara mengonfigurasi aturan allow/deny?
Izin yang detail diatur di settings.json. Gunakan pola glob untuk mengontrol file dan perintah mana yang bisa diakses Claude Code:
// .claude/settings.json
{
"permissions": {
"allow": [
"Read:**",
"Edit:src/**",
"Edit:tests/**",
"Bash:npm run *",
"Bash:git *"
],
"deny": [
"Edit:.env*",
"Edit:*.secret",
"Edit:credentials/**",
"Bash:rm -rf *",
"Bash:curl * | bash",
"Bash:git push --force*"
]
}
}File apa yang harus selalu dilindungi?
- +File .env dan .env.* (API key, kredensial database)
- +credentials/, secrets/, atau direktori apa pun dengan data sensitif
- +File konfigurasi CI/CD (.github/workflows/, .gitlab-ci.yml)
- +File infrastruktur (terraform/, docker-compose.prod.yml)
- +Konfigurasi autentikasi (auth.config.ts, pengaturan oauth)
Bagaimana cara kerja sandboxing?
Claude Code menggunakan sandboxing filesystem untuk membatasi di mana agen dapat beroperasi. Secara default, ia hanya bisa mengakses file di dalam direktori proyek Anda. Anda bisa membatasi lebih lanjut dengan aturan allow/deny.
# Claude Code berjalan dalam sandbox secara default:
# ✅ Bisa membaca/menulis file di direktori proyek Anda
# ❌ Tidak bisa mengakses file di luar proyek
# ❌ Tidak bisa mengakses file sistem
# ❌ Tidak bisa mengakses direktori home pengguna lain
# Tambahkan direktori ekstra jika diperlukan:
claude --add-dir /path/to/shared/libraryApa praktik terbaik keamanan untuk Claude Code?
- +Selalu lindungi file .env dengan aturan deny
- +Gunakan mode Normal saat bekerja pada kode sensitif untuk pertama kalinya
- +Tinjau diff sebelum mengizinkan commit (Plan Mode sangat bagus untuk ini)
- +Atur --max-budget-usd untuk mencegah biaya yang tidak terkendali
- +Gunakan allowed-tools di Skills untuk membatasi apa yang bisa dilakukan setiap skill
- +Audit izin server MCP Anda (gunakan koneksi database read-only)
- +Jangan pernah gunakan --dangerously-skip-permissions di luar CI/CD
Flag --dangerously-skip-permissions menonaktifkan semua pemeriksaan izin. Hanya gunakan ini di pipeline CI/CD dengan input terkontrol. Jangan pernah gunakan di sesi pengembangan lokal.