Deno Baru Saja Membuka Kode Sumber Firewall Agen Mereka (Claw Patrol)
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Ini adalah Claw Patrol, firewall keamanan open source yang dibangun oleh tim Dino yang berada di antara
00:00:04agen AI Anda dan internet, dan alat ini memecahkan tiga masalah keamanan utama pada agen AI.
00:00:09Akses bukanlah kontrol yang sebenarnya, agen Anda tidak boleh melihat rahasia, dan Anda tidak bisa melihat apa yang agen Anda
00:00:14lakukan. Saya sudah mencoba banyak alat keamanan agen AI akhir-akhir ini, dan saya sangat menyukai pendekatan
00:00:19yang diambil Claw Patrol di sini, tapi belum sempurna. Jadi, cara kerja Claw Patrol adalah Anda memiliki
00:00:28satu server yang disebut gateway, yang menyimpan aturan, kredensial, log, dan dasbor Claw Patrol Anda,
00:00:32dan kemudian Anda memiliki sejumlah mesin yang menjalankan agen, dan mereka dapat bergabung
00:00:36dengan gateway itu dan merutekan lalu lintas agen mereka melaluinya. Faktanya, Anda dapat memilih untuk menjalankan perintah tunggal
00:00:40melalui gateway, atau Anda dapat menambahkan seluruh mesin Anda. Dalam kasus saya, gateway saya hanyalah sebuah server
00:00:45Ubuntu, yang saya hubungkan dengan Tailscale, yang didukung Claw Patrol secara bawaan, serta
00:00:50WireGuard atau keduanya, dan agen saya adalah Mac saya dan server OpenClaw saya. Saya menjalankan gateway OpenClaw
00:00:55melalui Claw Patrol, dan di Mac saya hanya menggunakan perintah jalankan tunggal dengan Clawd saat saya membutuhkannya.
00:01:00Dengan sedikit konteks itu, mari kita lihat tiga masalah utama yang dipecahkan Claw Patrol, dan saya
00:01:04sebenarnya akan mulai dengan nomor dua, yaitu agen Anda tidak boleh melihat rahasia, karena ini mengarah dengan baik ke
00:01:09masalah lainnya. Jadi pada gateway Claw Patrol, Anda dapat mengonfigurasi kredensial Anda seperti pengguna Postgres,
00:01:14langganan Clawd, akun GitHub, dan token pembawa (bearer tokens) apa pun atau header kustom seperti yang saya miliki di sini untuk
00:01:19server API produksi saya. Dengan ini, ketika kita kemudian menjalankan agen kita melalui gateway menggunakan perintah jalankan
00:01:25Claw Patrol itu, mereka tidak memerlukan kredensial ini untuk benar-benar membuat permintaan berfungsi. Mereka akan cukup
00:01:30disuntikkan saat permintaan itu melewati gateway. Jadi jika saya meminta Claw untuk menggunakan API dan basis data saya
00:01:35untuk memberi saya gambaran umum dari keduanya, ia mampu melakukannya tanpa masalah, dan saya dapat melihat di
00:01:41perintah yang benar-benar ia jalankan bahwa ia tidak menyertakan kunci API apa pun untuk permintaan curl ini,
00:01:46padahal ia membutuhkannya, dan pada Postgres, ia hanya menggunakan kata sandi palsu “X” yang sudah pasti bukan
00:01:51kata sandi yang asli, tetapi ia masih terhubung dan mendapatkan informasi yang relevan kembali, karena gateway telah
00:01:56benar-benar mengambil permintaan ini dan melampirkan kredensial yang asli. Ini berarti agen tidak pernah
00:02:00memiliki akses ke nilai yang sebenarnya, jadi jika seseorang melihat log agen saya atau mencoba injeksi prompt,
00:02:06mereka tidak akan pernah mendapatkan kredensial ini karena kredensial tersebut berada di server yang benar-benar terpisah, dan agen tidak
00:02:10memiliki cara untuk mengaksesnya. Hanya untuk menunjukkan proses injeksi itu lebih bersih lagi, jika saya menjalankan permintaan curl ini di
00:02:15terminal saya di sini, Anda dapat melihat permintaan itu ditolak karena saya tidak memberikannya kunci API, tetapi jika saya menjalankan perintah
00:02:20yang sama persis melalui claw patrol run, datanya dikembalikan seperti biasa karena kunci API itu disuntikkan.
00:02:26Masalah berikutnya yang ingin dipecahkan oleh claw patrol adalah akses bukanlah kontrol tindakan. Claw patrol memberi
00:02:31Anda kontrol yang sangat terbatas atas apa yang dapat dilakukan agen dengan sebuah permintaan. Misalnya, jika saya menggunakan keterampilan
00:02:36Postgres itu lagi, tetapi kali ini saya memintanya untuk menghapus tabel dan membuat yang baru, saat ia berjalan, ia langsung
00:02:41mengembalikan pesan kesalahan yang disesuaikan yang telah saya siapkan yang mengatakan bahwa perubahan skema hanya berlaku melalui migrasi
00:02:46PR, bukan melalui agen. Gateway sebenarnya telah memeriksa permintaan Postgres yang dibuat agen saya,
00:02:51dan ia memeriksanya terhadap rangkaian aturan yang telah saya tentukan, dan berkat salah satu aturan saya, ia telah menolak
00:02:56permintaan hapus tabel itu. Cara lain yang bisa saya gunakan untuk menangani ini adalah dengan human-in-the-loop, jadi saya bisa
00:03:00benar-benar membuat aturan ini menghubungi saya untuk menyetujui tindakan tersebut. Saat ini, yang satu ini baru mendukung
00:03:04Slack, tetapi lebih banyak opsi akan segera hadir juga. Bahkan ada opsi untuk menggunakan LLM sebagai hakim,
00:03:09dan aturannya sangat dapat disesuaikan dan fleksibel, jadi Anda bahkan bisa memiliki aturan seperti memeriksa
00:03:13titik akhir API dukungan pelanggan Anda yang mengirim balasan, dan Anda dapat melihat apakah ada konten
00:03:18yang ofensif, sapaan yang hilang, atau hanya apa pun yang tidak ingin Anda bocorkan dalam permintaan itu. Dan lagi,
00:03:22semua ini dilakukan pada permintaan di gateway berarti secara teoretis semua ini aman dari
00:03:27injeksi prompt dan hampir semua jenis serangan AI lainnya. Masalah ketiga yang dipecahkan claw patrol
00:03:31adalah Anda tidak bisa melihat apa yang dilakukan agen, tetapi dengan claw patrol, setiap permintaan terlihat di
00:03:37dasbor di sini, dan Anda bahkan dapat melihat sesi aktif serta token yang digunakan, dan jika Anda mengeklik
00:03:42ke dalam sebuah permintaan, Anda dapat melihat detail yang relevan seperti perintah postgres yang sebenarnya dijalankan,
00:03:46atau dalam kasus panggilan API, Anda dapat melihat permintaan API serta tanggapan yang didapatkannya.
00:03:51Dengan cara ini, Anda tidak perlu menghabiskan waktu menyisir semua log dari masing-masing layanan
00:03:55yang disentuh agen untuk mencoba mencari tahu apa yang dilakukannya, dan sebaliknya, Anda cukup melihat apa yang dilakukannya
00:03:59pada titik permintaan, jadi Anda seharusnya melihat hampir semua yang dilakukan agen.
00:04:03Itulah tiga masalah yang ingin dipecahkan claw patrol, tapi bagaimana semua ini disiapkan? Nah,
00:04:07setelah Anda menginstal claw patrol, gateway sebenarnya dikonfigurasi dengan satu file HCL.
00:04:12Di sini, Anda menentukan berbagai titik akhir (endpoint) yang akan memiliki aturan dan kredensial,
00:04:16jadi saya memiliki berbagai titik akhir seperti OpenAI, Slack, SSH, Postgres, dan sebagainya, jadi jika ada permintaan yang melalui
00:04:22gateway yang cocok dengan salah satu dari ini, ia tahu untuk memeriksa aturan dan kredensialnya.
00:04:26Adapun kredensial itu sendiri, pengaturannya cukup mudah juga.
00:04:30Anda menentukan jenis kredensial apa itu, dan titik akhir mana yang harus dicocokkan dengan kredensial tersebut.
00:04:34Terdapat dukungan untuk banyak jenis kredensial seperti langganan Anthropic, Codex Ones,
00:04:39ClickHouse, Postgres, dan juga dasar-dasarnya seperti bearer token dan header kustom,
00:04:43jadi Anda seharusnya menemukan bahwa alat ini mendukung hampir semua jenis yang Anda butuhkan,
00:04:46dan bahkan jika tidak, Anda sebenarnya dapat membuat plugin untuk menambahkan jenis Anda sendiri.
00:04:50Setelah Anda menentukan kredensial di sini, yang perlu Anda lakukan hanyalah pergi ke dasbor untuk mengisi
00:04:54nilai sebenarnya. Mengatur aturan juga cukup mudah.
00:04:56Anda cukup menentukan titik akhir yang akan diterapkan aturannya, dan kemudian Anda menulis aturannya
00:05:00menggunakan common expression language, jadi ini bisa mencakup berbagai hal seperti HTTP,
00:05:05Postgres, Kubernetes, dan sebagainya. Setelah ini, Anda kemudian menentukan keputusan untuk aturan yang baru saja Anda
00:05:09tentukan, apakah Anda menyetujui atau menolak berdasarkan hal itu, dan Anda akan menggunakan “setuju” (approve) di sini jika Anda membuat
00:05:14pendekatan berbasis daftar izin (allow list) alih-alih daftar blokir (block list), jadi Anda akan memblokir semua secara default dan kemudian
00:05:18hanya mengizinkan hal-hal tertentu. Namun dalam kasus saya, saya hanya menggunakan metode daftar blokir.
00:05:22Akhirnya, fitur lain yang sangat berguna di sini adalah profil. Anda sebenarnya dapat mengelompokkan kredensial Anda
00:05:26ke dalam beberapa profil, yang berarti aturan dan titik akhir apa pun yang dilampirkan pada kredensial tersebut
00:05:31juga dikelompokkan bersamanya, dan ini memungkinkan Anda untuk mengatur semacam kontrol berbasis peran untuk agen
00:05:35dan tim Anda, jadi pengembang dapat memiliki akses tertentu ke kredensial dan aturan yang berbeda untuk
00:05:40mereka, dan mungkin tim lain, seperti tim dukungan, memiliki kredensial dan aturan yang berbeda pula
00:05:45juga. Untuk membantu Anda saat membuat perubahan aturan, sebenarnya ada perintah uji di mana Anda dapat
00:05:49mengunduh tindakan aturan dari dasbor, dan kemudian menjalankannya kembali terhadap perubahan aturan lokal Anda untuk melihat apakah
00:05:54salah satu dari mereka telah mengubah hasilnya, sehingga Anda dapat mengetahui jika akan ada kebocoran yang tidak disengaja.
00:05:59Saya harus mengakui, saya sebenarnya merasa proses pengaturan ini sedikit membosankan, dan saya yakin ini akan
00:06:02segera ditingkatkan, karena ini masih sangat awal dalam siklus hidup proyek, tetapi jika ada cara sederhana untuk menambahkan
00:06:07kredensial dan aturan dari dasbor, itu akan sangat luar biasa. Mungkin sesuatu yang mirip dengan
00:06:11bagaimana cara kerja AdGuard, di mana Anda bisa melihat permintaan yang masuk dan mengeklik untuk menambahkan aturan atau
00:06:15kredensial untuk permintaan tersebut. Saya juga mengalami banyak masalah ketika saya mencoba menambahkan titik akhir
00:06:19yang hanya berupa alamat IP ke server Proxmox lokal saya. Entah mengapa, ia tidak ingin
00:06:24mencegat permintaan tersebut, dan saya tidak bisa melihat satu pun dari mereka muncul di dasbor, dan itu hanya
00:06:28membuat saya pusing. Jadi jelas ada beberapa perbaikan yang diperlukan, atau mungkin saya yang salah menggunakannya,
00:06:33tetapi bagaimanapun juga, ya, akan ada beberapa pekerjaan untuk mencapai titik kegunaan yang tidak mengganggu
00:06:38alur kerja Anda, tetapi itu masuk akal karena ini semua tentang keamanan dan bukan hanya mengirim agen
00:06:43dalam mode YOLO. Jadi beri tahu saya di kolom komentar di bawah apa pendapat Anda tentang Claw Patrol, dan jika
00:06:47Anda memiliki alat keamanan apa pun yang Anda gunakan untuk agen Anda. Saat Anda di sana, jangan lupa berlangganan, dan seperti
00:06:51biasanya, sampai jumpa di video berikutnya.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video