Security - Neotask by Neotask Documentation | Neotask

Keamanan

Gambaran Umum

Open Claw dirancang dengan arsitektur yang mengutamakan keamanan. Gateway mengikat ke localhost secara default, semua data sensitif dienkripsi saat istirahat, dan eksekusi agen dapat di-sandbox dalam kontainer terisolasi.

Keamanan Jaringan

Loopback Secara Default

Gateway hanya mendengarkan pada 127.0.0.1 (localhost) kecuali Anda secara eksplisit mengubah mode binding. Tidak ada eksposur jaringan eksternal secara default.

Autentikasi

Semua koneksi WebSocket memerlukan autentikasi:

  • Token auth — Token bearer (UUID atau string kustom)
  • Password auth — Kata sandi yang di-hash dengan bcrypt
  • Trusted proxy — Header yang telah diautentikasi dari reverse proxy
  • Local trust — Koneksi loopback dipercaya secara implisit
  • Keamanan Akses Jarak Jauh

    Untuk akses jarak jauh, pendekatan yang direkomendasikan adalah Tailscale VPN atau SSH tunneling — jangan pernah mengekspos Gateway langsung ke internet.

    Pemasangan Perangkat

    Cara Kerja Pemasangan

    Setiap klien yang terhubung ke Gateway harus dipasangkan:

  • Perangkat menyajikan identitasnya (sidik jari + kunci publik)
  • Gateway mengeluarkan tantangan pemasangan (nonce)
  • Perangkat menandatangani nonce dengan kunci privatnya
  • Anda menyetujui perangkat melalui UI
  • Gateway mengeluarkan token perangkat untuk koneksi di masa mendatang
  • Model Kepercayaan

  • Perangkat lokal (loopback) disetujui otomatis untuk kenyamanan
  • Perangkat non-lokal memerlukan persetujuan eksplisit
  • Token perangkat disimpan secara lokal dan digunakan kembali saat menghubungkan kembali
  • Perangkat dapat dicabut kapan saja
  • Enkripsi

    Data Saat Istirahat

  • AES-256-GCM — Semua token, rahasia, dan kunci API dienkripsi saat istirahat
  • Kunci yang berasal dari mesin — Kunci enkripsi yang berasal melalui scrypt dari identitas perangkat
  • Tanpa penyimpanan teks biasa — Token tidak pernah disimpan dalam teks biasa
  • Data Dalam Transit

  • TLS — HTTPS untuk komunikasi API
  • WSS — WebSocket Secure untuk koneksi Gateway (saat menggunakan Tailscale Serve atau reverse proxy)
  • Penandatanganan HMAC — Integritas permintaan dengan nonce dan cap waktu
  • Sandboxing

    Isolasi Berbasis Docker

    Eksekusi perintah agen dapat di-sandbox dalam kontainer Docker:

  • Profil per-agen — Setiap agen dapat memiliki konfigurasi sandbox sendiri
  • Batas sumber daya — Batas CPU, memori, dan timeout yang dapat dikonfigurasi
  • Isolasi jaringan — Kontainer dapat diisolasi dari jaringan
  • Pembatasan sistem file — Agen hanya mengakses workspace mereka
  • Gambar kustom — Gunakan gambar yang sudah dibangun dengan alat tertentu yang diinstal
  • Cakupan Sandbox

    | Cakupan | Deskripsi | |-------|-------------| | Per-sesi | Kontainer segar untuk setiap sesi | | Per-agen | Kontainer persisten per agen | | Bersama | Kontainer bersama di seluruh agen |

    Akses Workspace

    Agen yang di-sandbox dapat mengakses direktori workspace mereka (dipasang ke dalam kontainer) tetapi tidak dapat mengakses sistem file host di luar workspace mereka.

    Persetujuan Eksekusi

    Kendalikan perintah apa yang dapat dieksekusi agen pada node dan host Gateway:

    Mode

    | Mode | Deskripsi | |------|-------------| | Allowlist | Hanya perintah yang telah disetujui sebelumnya yang dieksekusi | | Ask | Perintah yang tidak dikenal meminta persetujuan pengguna | | Full | Tanpa pembatasan (gunakan dengan hati-hati) |

    Konfigurasi Per-Node

    Setiap node (macOS, host headless) memiliki konfigurasi persetujuan eksekusi sendiri, disimpan secara lokal. Anda dapat mengizinkan binari tertentu (misalnya, /usr/bin/docker, /usr/local/bin/terraform) sambil memblokir semua yang lainnya.

    Mode Elevasi

    Beberapa operasi memerlukan menjalankan di host Gateway secara langsung (bukan dalam sandbox). Mode elevated adalah:

  • Dibatasi oleh izin eksplisit dalam konfigurasi agen
  • Hanya tersedia di host Gateway
  • Dinonaktifkan secara default
  • Dapat diaudit melalui logging
  • Audit Keamanan

    Audit keamanan bawaan memeriksa:

  • Izin file konfigurasi (harus 600)
  • Izin file sesi
  • Versi Node.js (patch keamanan)
  • Deteksi rahasia teks biasa
  • Validasi daftar putih plugin
  • Audit antarmuka jaringan yang terbuka
  • Kelengkapan konfigurasi auth
  • Audit dapat memperbaiki banyak masalah secara otomatis ketika diberi izin.

    Praktik Terbaik

  • Pertahankan Gateway di loopback — Gunakan Tailscale atau SSH untuk akses jarak jauh
  • Aktifkan sandboxing — Jalankan perintah agen dalam kontainer Docker
  • Gunakan daftar putih eksekusi — Batasi perintah yang dapat dijalankan agen pada node
  • Atur token auth — Selalu konfigurasikan token auth, bahkan untuk loopback
  • Tinjau izin agen — Gunakan profil alat minimal di mana memungkinkan
  • Perbarui Open Claw secara rutin — Pembaruan mencakup patch keamanan
  • Audit secara teratur — Jalankan audit keamanan untuk menemukan konfigurasi yang salah
  • Batasi pemuatan plugin — Hanya instal plugin tepercaya
  • View full documentation