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.

Key Takeaway

Claw Patrol mengamankan agen AI melalui server gateway terpusat yang menyuntikkan kredensial secara on-the-fly, membatasi tindakan berbahaya, dan mencatat setiap aktivitas secara mendetail tanpa memberikan akses langsung ke rahasia sistem.

Highlights

  • Claw Patrol berfungsi sebagai firewall open source yang memposisikan server gateway di antara agen AI dan internet untuk mengelola keamanan.

  • Data sensitif seperti kunci API dan kredensial basis data disuntikkan secara aman oleh gateway saat permintaan berlangsung, sehingga agen tidak pernah menyimpan atau mengakses nilai asli tersebut.

  • Aturan keamanan dikonfigurasi menggunakan bahasa Common Expression Language (CEL) untuk memfilter tindakan agen berdasarkan parameter HTTP, Postgres, atau Kubernetes.

  • Dasbor terpusat memungkinkan pemantauan real-time terhadap setiap sesi agen, detail permintaan, serta tanggapan yang diterima secara transparan.

  • Dukungan kredensial mencakup layanan seperti Anthropic, Postgres, GitHub, serta token bearer kustom, dengan kemampuan untuk membuat plugin tambahan.

  • Fitur profil memungkinkan pengelompokan kredensial dan aturan untuk menerapkan kontrol akses berbasis peran di dalam tim.

Timeline

Fungsi Dasar dan Arsitektur Claw Patrol

  • Claw Patrol menempatkan server gateway untuk memisahkan agen AI dari akses langsung ke internet.
  • Sistem ini terintegrasi secara bawaan dengan Tailscale dan WireGuard untuk keamanan jaringan.

Claw Patrol memecahkan tiga masalah utama keamanan agen AI: kontrol akses, perlindungan rahasia, dan visibilitas aktivitas. Gateway berfungsi sebagai pusat penyimpanan aturan dan kredensial, sementara mesin agen merutekan lalu lintas melaluinya. Pengguna dapat menjalankan perintah tunggal dengan clawd atau menambahkan seluruh mesin ke gateway.

Keamanan Kredensial dan Injeksi Prompt

  • Gateway menyuntikkan kunci API dan kredensial secara otomatis saat permintaan melewati server, sehingga agen tidak perlu memegang akses ke nilai asli.
  • Agen dapat menjalankan perintah curl atau query Postgres menggunakan kredensial yang disuntikkan, meskipun perintah aslinya tidak menyertakan kunci asli.

Pemisahan kredensial di server gateway yang terpisah memastikan bahwa meskipun terjadi injeksi prompt atau kebocoran log agen, kredensial tetap aman. Gateway memverifikasi dan melampirkan kredensial asli ke setiap permintaan yang sah. Proses ini memastikan agen hanya bekerja dengan akses yang dikelola oleh gateway.

Kontrol Tindakan dan Pemantauan Sesi

  • Claw Patrol menolak perintah berbahaya seperti menghapus tabel basis data berdasarkan rangkaian aturan yang ditentukan.
  • Sistem mendukung fitur human-in-the-loop yang dapat meminta persetujuan melalui Slack untuk tindakan tertentu.
  • Setiap permintaan agen terekam secara transparan di dasbor termasuk detail perintah yang dijalankan dan tanggapan API.

Keamanan tidak lagi hanya bergantung pada akses, melainkan kontrol tindakan. Pengguna dapat mengatur aturan berbasis CEL atau menggunakan LLM sebagai hakim untuk mendeteksi konten ofensif atau tindakan yang dilarang. Semua aktivitas dapat dipantau dari satu dasbor pusat tanpa harus menyisir log dari masing-masing layanan.

Konfigurasi dan Tantangan Implementasi

  • Gateway dikonfigurasi melalui satu file HCL yang menentukan titik akhir, kredensial, dan aturan.
  • Pengguna dapat menguji aturan baru menggunakan perintah uji untuk mencegah kebocoran data sebelum diterapkan secara penuh.
  • Proses pengaturan saat ini masih bersifat manual dan terkadang menemui kendala teknis pada titik akhir alamat IP.

Konfigurasi melibatkan penentuan titik akhir seperti OpenAI atau Postgres, lalu mendefinisikan aturan menggunakan bahasa ekspresi umum. Meskipun fitur profil sangat membantu untuk kontrol akses berbasis peran, proses penambahan aturan melalui file HCL dianggap masih memerlukan perbaikan agar lebih intuitif. Alat ini masih berada pada tahap awal siklus pengembangan.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video