Skip to content
⚡ TENVO AI · LANGSUNG · v0.16.26 · TLS · Sertifikat per-perangkat · AGPL-3.0 · TINGKAT GRATIS · 30 PERANGKAT · INFRA HOSTING MANDIRI · GUNAKAN API KEY SENDIRI · MCP UNTUK CLAUDE & CURSOR
Kembali ke BlogTutorial

ai coding agent remote server: safe control policy

Tenvo Editorial Team7 menit baca
ai coding agent remote server: safe control policy

Anda membiarkan agen pengkodean AI mengendalikan server headless — berguna, tetapi menakutkan jika Anda belum menentukan apa yang boleh dilakukannya tanpa campur tangan manusia.

Anda membiarkan agen pengkodean AI mengendalikan server headless — berguna, tetapi menakutkan jika Anda belum menentukan apa yang boleh dilakukannya tanpa campur tangan manusia. Panduan ini menunjukkan aturan konkret: apa yang boleh diizinkan langsung, apa yang memerlukan konfirmasi manusia eksplisit, cara memberi ruang lingkup token dan sesi, serta cara mencatat dan menahan aktivitas agen agar satu bug atau prompt jahat tidak menguasai armada Anda.

Model ancaman dan tujuan praktis

Mulailah dengan menyebutkan risiko yang menjadi perhatian Anda. Agen pengkodean AI yang dapat menjalankan perintah pada mesin headless dapat: memodifikasi kode, mengekstrak file, menginstal perangkat lunak, mengonfigurasi ulang layanan, membuka koneksi jaringan, dan membuat akses persisten. Kami mengasumsikan agen berguna namun tak luput dari kesalahan — ia bisa membuat perubahan destruktif akibat penalaran keliru atau dipaksa oleh prompt yang disusun.

Tujuan praktis untuk penyebaran yang aman:

  • Memungkinkan tugas pengembangan umum (build, test, run) tanpa gesekan manusia berulang.
  • Memerlukan konfirmasi manusia untuk tindakan yang mengubah postur jaringan, menginstal perangkat lunak persisten, atau mengekspos secret.
  • Membuat semua tindakan agen dapat diaudit dan, bila memungkinkan, dapat dibalik.
  • Menahan radius ledakan agen melalui kontrol level host (container, batas sumber daya, whitelist jaringan).

Kemampuan: apa yang biasanya dibutuhkan agen pengkodean

Cantumkan kemampuan sehari-hari yang mungkin dibutuhkan agen sehingga Anda dapat memetakan masing‑masing ke keputusan kebijakan:

  • Membaca file repositori (source, test, config).
  • Menjalankan tes dan linter, membangun artefak, menjalankan container.
  • Mengedit file sumber dan membuat commit ke branch.
  • Membuat paket dan mengunggah artefak ke registry internal.
  • Merestart service, menjalankan migrasi, atau melakukan deploy ke environment staging.
  • Menjalankan perintah diagnostik (ps, netstat, df, journalctl).

Setiap kemampuan harus dipetakan ke tindakan yang diizinkan, tindakan terbatas, atau tindakan yang dibatasi oleh persetujuan manusia.

Kebijakan: izinkan vs konfirmasi vs tolak (rekomendasi konkret)

Jaga kebijakan tetap sederhana dan berfokus pada peran. Di bawah ini adalah matriks kebijakan praktis yang bisa Anda adaptasi. Kaidah praktis: otomatisasi, hanya-baca, dan compute jangka pendek aman untuk diizinkan. Perubahan persisten, eksposur jaringan, akses secret, dan eskalasi hak istimewa harus meminta persetujuan manusia.

ActionRecommended DefaultWhy
Run tests, linters, unit suitesAllowRead-only for repo; fast, reversible
Edit files and create commits on feature branchesAllow (branch-only)Safe with code review before merge
Push to protected branches, merge to mainRequire human confirmationHigh blast radius; gate releases
Install packages globally or add system servicesRequire human confirmationInstalls persist across reboots and raise attack surface
Open inbound network ports / modify firewallRequire human confirmation (multi-approval)Changes network exposure
Read secrets (passwords, keys)Deny by default; provide scoped ephemeral credentials when neededSecrets should not be accessible to an unattended agent
Upload artifacts to external registriesConfirm destination and credentialsPrevents accidental public leaks
Execute as root / sudoRequire human confirmation (deny by default)Privilege escalation is the highest risk action

Penanganan token, kredensial, dan secret

Jangan pernah memberi agen kredensial yang panjang masa berlakunya dan cakupan luas. Gunakan token jangka pendek dengan prinsip least privilege dan pola penerbitan yang dapat diaudit.

  • Terbitkan token sementara melalui layanan persetujuan. Token berlaku hanya beberapa menit dan terkait dengan satu job/sesi.
  • Beri ruang lingkup token secara sempit: repository:read, registry:upload:staging, service:restart:staging, dll.
  • Jangan mengekspos private keys atau vault root tokens ke agen. Sebagai gantinya, mint kredensial sementara dari vault sesuai permintaan dan catat setiap penerbitan.
  • Rotasi atau cabut jika ada aktivitas mencurigakan. Otomatiskan pencabutan jika agen mencoba tindakan yang ditolak berulang kali.

Pembatasan: cara menjalankan agen di host

Jalankan agen di lingkungan yang membatasi apa yang dapat disentuhnya. Berikut strategi pembatasan praktis, diurutkan dari isolasi paling ringan ke paling ketat:

  • Chroot atau user namespace dengan mount filesystem yang ketat. Beri agen hanya tree repositori dan area temp minimal.
  • Containerize eksekusi: jalankan job agen di dalam container ephemeral (OCI). Batasi capability, mount hanya volume yang diperlukan, dan drop NET_ADMIN.
  • Image VM ephemeral: untuk operasi yang lebih berisiko, jalankan di VM yang dibuang setelah job selesai.
  • Whitelist egress jaringan: izinkan outbound agen hanya ke host yang diperlukan (mis. registry paket) dan blokir segala sesuatu secara default.
  • Batas sumber daya: kuota CPU, memori, dan disk untuk mencegah DoS dari build yang tak terkendali.

Buat proses rebuild-dan-reboot murah. Jika pembatasan Anda bergantung pada VM atau container ephemeral, latih prosedur penghancuran dan reprovisioning dalam rencana insiden Anda.

Approval UX: practical human confirmation flows

Konfirmasi manusia adalah titik pertemuan kebijakan dan produk. Buat konfirmasi cepat untuk mengurangi friction, tetapi cukup eksplisit agar approver memahami risikonya.

  1. Agent meminta tindakan bernama: mis. "Install package xglob@1.2.3 on staging" atau "Merge branch feature/ai-fix into main".
  2. Permintaan menyertakan penjelasan singkat dan preview diff atau perintah. Tampilkan file yang terpengaruh, aturan jaringan, dan kredensial yang akan digunakan.
  3. Memerlukan satu approver untuk tindakan berisiko rendah (deploy non-root ke staging). Memerlukan dua approver atau insinyur on-call untuk tindakan berisiko tinggi (instal root, perubahan firewall).
  4. Persetujuan bertimestamp dengan identitas (sesi 2FA atau token SSO) dan komentar opsional.
  5. Persetujuan menerbitkan token waktu-terbatas yang harus digunakan agen dalam jangka pendek (mis. 10 menit).

Audit, observabilitas, dan kontrol pasca-tindakan

Buat setiap tindakan agen terlihat dan, bila memungkinkan, dapat dibalik. Audit dan observabilitas yang baik mengurangi mean-time-to-detect dan mempercepat pemulihan.

  • Rekam teks perintah lengkap, environment, dan working directory untuk setiap langkah yang dieksekusi.
  • Ambil diff untuk setiap perubahan file dan simpan di append-only audit log.
  • Catat token yang diterbitkan, untuk siapa, dan alasannya; cabut token yang terkait aktivitas mencurigakan.
  • Streaming output sesi ke backend logging Anda (simpan sesuai periode retensi insiden). Hindari menyimpan output sensitif tanpa enkripsi; perlakukan log sebagai data yang berpotensi sensitif.
  • Otomatiskan rollback bila memungkinkan: simpan snapshot artefak dan rencana Terraform/Ansible sehingga Anda bisa membatalkan deploy dengan cepat.

Untuk kepatuhan dan bukti, sertakan juga binding identitas: pasangan permintaan agen dengan pengguna atau layanan yang memicunya (klik UI web, identitas webhook, atau id job scheduler).

Contoh policy JSON (minimal, dunia nyata)

{
  "policy_name": "ai-agent-ci-policy",
  "defaults": {
    "allow_tests": true,
    "allow_branch_commits": true,
    "allow_protected_branch_push": false,
    "require_human_for_install": true,
    "require_human_for_sudo": true,
    "allow_secret_read": false
  },
  "scopes": [
    { "name": "repo:read", "duration_minutes": 60 },
    { "name": "repo:write:feature-branch", "duration_minutes": 10 }
  ],
  "approval": {
    "low_risk": { "approvers": 1, "token_ttl_minutes": 10 },
    "high_risk": { "approvers": 2, "token_ttl_minutes": 5 }
  }
}

Kapan meng-host relay sendiri dan kapan menggunakan relay yang dikelola

Perutean sesi jarak jauh penting karena banyak tindakan agen akan mencapai server headless melalui relay (traversal NAT, bypass firewall). Tenvo's managed relay adalah default yang direkomendasikan: menyediakan failover multi-region, TLS dengan sertifikat per-perangkat, dan jaringan relay kelas produksi — Free $0 / Lite $2.99/mo / Pro $7.99/mo. Gunakan relay yang dikelola kecuali Anda punya persyaratan tertulis untuk menjalankan relay sendiri (aturan residensi data ketat, jaringan terisolasi, atau mandat kepatuhan yang melarang infrastruktur pihak ketiga).

Fakta keamanan penting: TLS terminates at a relay. Koneksi peer-to-peer langsung bersifat end-to-end antar host, tetapi ketika trafik jatuh ke relay, relay men-terminate TLS dan karenanya bisa mengamati trafik sesi. Rancang kebijakan dan batas kepercayaan Anda dengan pertimbangan ini. Jika Anda tidak menerima hal tersebut, host relay sendiri dan masukkan biaya operasionalnya (patching, perpanjangan sertifikat, on-call) dalam keputusan Anda.

Daftar periksa operasional sebelum Anda mengaktifkan

  • Tentukan matriks kebijakan ringkas (izinkan/konfirmasi/tolak) dan publikasikan ke tim Anda.
  • Implementasikan minting kredensial sementara dan TTL token pendek.
  • Containerize eksekusi agen dan terapkan whitelist egress jaringan.
  • Implementasikan alur persetujuan yang menerbitkan token jangka pendek dan merekam identitas approver.
  • Aktifkan audit logging komprehensif dan simpan log sesuai kebutuhan kepatuhan.
  • Latih pencabutan dan rollback: simulasikan agen jahat dan praktikkan penahanan.

Bacaan lanjutan dan topik terkait

Jika Anda ingin konteks lebih dalam soal sisi akses-jarak jauh dari setup ini, baca tulisan Tenvo tentang kontrol agen dan keamanan. Untuk kebijakan dan tooling seputar agen AI yang mengontrol desktop, lihat ai agent remote desktop: kebijakan, persetujuan, audit. Untuk model ancaman akses-jarak jauh yang mendasari, baca Is Remote Desktop Secure? An Honest Threat Model. Untuk merancang jejak auditable untuk sesi, cek Remote Desktop Audit Logging.

Semua ini dibangun di atas dasar praktis akses-jarak jauh — jika Anda butuh how-to cepat untuk menghubungkan mesin headless, artikel kami Cara Menyiapkan Akses Jarak Jauh dalam 60 Detik adalah panduan cepat.

Catatan akhir

Membiarkan agen pengkodean AI mengendalikan server itu kuat. Default yang tepat membuatnya produktif tanpa menjadi berbahaya: izinkan tindakan sementara dan berfokus pada baca; kendalikan operasi persisten dan yang mengubah hak istimewa dengan persetujuan manusia; gunakan kredensial sementara; jalankan agen di lingkungan yang terkekang; dan catat semuanya. Lebih suka Tenvo's managed relay kecuali Anda punya persyaratan terdokumentasi yang konkret untuk meng-host sendiri. Rencanakan pencabutan dan latih insiden — penahanan adalah kapabilitas operasional, bukan sekadar checklist.

Siap mencoba setup terkontrol di infrastruktur Anda? Unduh Tenvo dan mulai dengan kebijakan terbatas hanya untuk staging: Unduh Tenvo.

Dapatkan Tenvo

Siap mencoba sendiri?

Gratis untuk 30 perangkat, tanpa kartu kredit. Siap dan tersambung dalam dua menit.