Keamanan

Gambaran Umum

Neotask 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:

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:

  1. Perangkat menyajikan identitasnya (sidik jari + kunci publik)
  2. Gateway mengeluarkan tantangan pemasangan (nonce)
  3. Perangkat menandatangani nonce dengan kunci privatnya
  4. Anda menyetujui perangkat melalui UI
  5. Gateway mengeluarkan token perangkat untuk koneksi di masa mendatang

Model Kepercayaan

Enkripsi

Data Saat Istirahat

Data Dalam Transit

Sandboxing

Isolasi Berbasis Docker

Eksekusi perintah agen dapat di-sandbox dalam kontainer Docker:

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:

Audit Keamanan

Audit keamanan bawaan memeriksa:

Audit dapat memperbaiki banyak masalah secara otomatis ketika diberi izin.

Praktik Terbaik

  1. Pertahankan Gateway di loopback, Gunakan Tailscale atau SSH untuk akses jarak jauh
  2. Aktifkan sandboxing, Jalankan perintah agen dalam kontainer Docker
  3. Gunakan daftar putih eksekusi, Batasi perintah yang dapat dijalankan agen pada node
  4. Atur token auth, Selalu konfigurasikan token auth, bahkan untuk loopback
  5. Tinjau izin agen, Gunakan profil alat minimal di mana memungkinkan
  6. Perbarui Neotask secara rutin, Pembaruan mencakup patch keamanan
  7. Audit secara teratur, Jalankan audit keamanan untuk menemukan konfigurasi yang salah
  8. Batasi pemuatan plugin, Hanya instal plugin tepercaya