Kami membiarkan agen AI mengeksekusi Bash dan selamat untuk menceritakannya — Sarah Sanders, PostHog
AAI Engineer
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00Halo semuanya, bagaimana kabarnya? Kita sudah berada di tahap akhir. Nama saya Sarah dan saya adalah seorang insinyur
00:00:23konteks di PostHog, dan saya sangat senang bisa mengerjakan wizard kesayangan kita setiap hari.
00:00:30Jadi, apa itu wizard? Wizard menyiapkan PostHog untuk Anda. Ini adalah alat CLI agenik
00:00:39yang membaca basis kode Anda, menginstal SDK yang tepat untuk proyek Anda, menginstrumentasi
00:00:44acara Anda, dan menyiapkan dasbor untuk Anda. Ini memangkas waktu penyiapan yang biasanya memakan waktu sekitar satu atau dua jam
00:00:52menjadi sekitar lima hingga enam menit saja, dan inferensinya gratis dari kami
00:00:57agar Anda dapat menikmati proses orientasi di PostHog dengan mudah. Kedengarannya cukup keren. Orang-orang
00:01:03sangat menyukainya. Namun beberapa bulan lalu kami berani bermimpi, bagaimana jika ini menjadi cara yang disarankan atau default
00:01:10untuk menginstal PostHog pada proyek Anda? Dan alarm keamanan saya mulai berbunyi.
00:01:17Saya mulai mempertanyakan seberapa aman benda ini karena bentuknya mirip seperti malware.
00:01:25Dan dari pertimbangan itu, saya belajar banyak hal. Jadi hari ini adalah tentang pelajaran yang saya dapatkan, hal-hal
00:01:31yang membuat saya terjaga di malam hari saat membangun hal ini, dan apa yang akhirnya saya bangun
00:01:37karenanya. Jadi sebelum saya membahas semua hal keamanan yang membosankan ini, yang bisa membuat Anda mengantuk di siang hari, saya ingin menunjukkan cara kerja wizard secara langsung.
00:01:49Jika Anda melihat ke layar, itu sedang berjalan dalam putaran. Ini adalah pengalaman yang persis sama dengan yang didapatkan siapa pun yang menjalankan
00:01:56NPX di terminal PostHog Wizard. Seperti yang saya katakan, ini adalah agen. Alat ini mencari tahu SDK apa yang tepat untuk proyek Anda, menginstalasinya untuk Anda, menginstrumentasi acara Anda, dan membangun dasbor.
00:02:10Saya suka menyebutnya sebagai insinyur implementasi mini di terminal Anda. Dan terkadang ketika saya menunjukkan ini kepada orang-orang, mereka bertanya mengapa harus agen? Mengapa tidak memberi pengguna prompt yang bagus? Mengapa tidak memberi mereka skill yang dapat mereka panggil di alat mereka sendiri?
00:02:23Dan meskipun kami menyediakan hal-hal tersebut, jawabannya adalah karena pengalaman pengembang ini dan kemampuan wizard adalah inti dari segalanya. Itulah produk utamanya.
00:02:34Karena kami membangun alat CLI yang dapat sepenuhnya mengambil bagian dalam lingkaran agen dan mengalaminya untuk pertama kalinya adalah hal yang sangat kuat.
00:02:43Namun Anda tidak dapat merilis sesuatu seperti wizard tanpa merilis hal-hal yang membuat wizard ini agak mencurigakan.
00:02:50Mari kita bedah. Mari kita lihat anatomi wizard karena biasanya model ancaman muncul langsung dari anatomi agen tersebut.
00:03:01Jadi wizard memiliki bentuk yang mirip dengan yang saya yakin banyak dari Anda bangun jika Anda sedang membuat agen.
00:03:07Alat ini memiliki model yang telah kami pilih untuk tugas tertentu, memiliki prompt yang mengarahkannya, dan memiliki seperangkat alat yang kami berikan untuk menyelesaikan pekerjaan.
00:03:17Namun alat ini juga memiliki beberapa bagian yang sangat khusus bagi kami. Alat ini memiliki mesin konteks yang dibangun sepenuhnya secara internal oleh tim saya.
00:03:25Inilah yang memungkinkan agen melakukan tugasnya dengan sangat baik dan memberikan hasil yang serupa pada setiap eksekusi.
00:03:30Saya suka menyebutnya otak si wizard. Terkadang kami menyebutnya markdown berjas.
00:03:35Tetapi itu adalah mesin konteks buatan internal kami. Ada juga antarmuka pengguna terminal yang kami bangun sendiri menggunakan ink.
00:03:43Dan sekarang ada pemindai keamanan bernama warlock yang saya bangun ketika saya mulai menyelidiki dan mengungkap kengerian merilis agen ke produksi.
00:03:55Jadi jika Anda mengambil anatomi agen apa pun yang dapat menjalankan perintah, itu pada dasarnya adalah apa yang saya sebut sebagai paket pemula malware.
00:04:03Karena ini hampir persis seperti apa yang akan Anda berikan kepada sepotong malware jika Anda merasa dermawan atau berniat jahat.
00:04:11Untungnya, ini adalah skenario terburuk atau bahan pembuat mimpi buruk dan ini bukan pengakuan bagi saya, melainkan peringatan untuk Anda semua.
00:04:19Karena jika Anda ingin merilis agen yang memiliki 'tangan', agen yang dapat menjalankan perintah, Anda harus memastikan bahwa Anda tidak membangun ini.
00:04:28Jadi versi awal (V0) dari wizard lahir karena Josh Snyder, jika Anda mengenalnya di tim pertumbuhan kami, sedang memerhatikan kursor yang berhalusinasi dalam penyiapan post hog dengan cara yang mungkin paling buruk.
00:04:41Dan dia berpikir, bagaimana jika kita membangun agen yang dapat melakukan pekerjaan dengan lebih baik?
00:04:46Jadi tim saya mulai mengembangkannya saat kami memvalidasi bahwa alat ini melakukan pekerjaan yang jauh lebih baik daripada kursor yang berhalusinasi.
00:04:52Dan kami berpikir, bagaimana jika alat ini dapat melakukan orientasi bagi siapa saja ke post hog?
00:04:58Tidak peduli apa kerangka kerja mereka, apa tumpukan teknologi mereka, instrumen semua acara mereka tanpa mereka harus menyentuh apa pun.
00:05:04Dan kemudian kami berani bermimpi, bagaimana jika ini menjadi cara default untuk menginstal post hog?
00:05:09Kami memimpikan ribuan pengembang menjalankan ini setiap minggunya dan kemarin kami baru saja mencapai 8.000 orang yang menjalankannya setiap minggu.
00:05:16Jadi impian kami menjadi kenyataan.
00:05:18Namun kami, pada masa-masa itu ketika kami sedang bermimpi, harus memeriksa postur keamanan kami di bawah mikroskop dan melihat apa yang sedang terjadi.
00:05:26Jadi saya mengambil tanggung jawab itu dan duduk untuk mengevaluasi posisi kami.
00:05:31Dan di awal, saya berbicara tentang sekitar setahun hingga sembilan bulan lalu, kami memiliki apa yang saya sebut lapisan nol karena itu sama sekali bukan keamanan.
00:05:41Itu hanyalah prompt yang menyarankan apa yang harus dilakukan agen dan mengarahkannya, dan prompt bukanlah keamanan.
00:05:48Jadi saya merasa khawatir di situ.
00:05:51Lapisan satu, itu adalah daftar izin (allowlist).
00:05:53Dan ketika saya mulai menyelidiki daftar izin ini, saya mulai merasa sedikit lebih baik karena batasan cukup ketat.
00:05:59Namun saya masih memiliki banyak kekhawatiran.
00:06:01Dan saya mulai panik karena mesin konteks yang saya ceritakan kepada Anda.
00:06:05Kami memasukkan banyak konteks ke dalam agen pada saat waktu proses (runtime).
00:06:09Jadi saya membangun pemindai regex yang sangat asal-asalan ini untuk mencari hal-hal yang menyerupai ancaman yang masuk ke wizard dan hal-hal yang menyerupai ancaman yang keluar dari wizard.
00:06:20Dan saya akui bahwa itu sangatlah amatiran.
00:06:23Tetapi saya menceritakan semua ini kepada Anda dengan sangat jujur karena kita semua sedang membangun hal-hal yang terasa sangat eksperimental dan kita semua membangunnya dengan sangat cepat.
00:06:33Dan saya tahu tidak semua dari kita memiliki keahlian di bidang keamanan.
00:06:38Dan beberapa dari kita baru mempelajarinya sambil jalan seperti yang saya alami.
00:06:43Tetapi ini adalah sesuatu yang perlu kita pikirkan ketika kita membangun hal-hal yang memiliki bentuk seperti ini.
00:06:50Jadi begitulah postur keamanan kami.
00:06:53Namun saya mengajukan pertanyaan, apakah kita kacau?
00:06:56Kabar baiknya, kita tidak separah itu.
00:06:59Karena ketika saya sebutkan daftar izin tadi, itu dibatasi dengan cukup ketat.
00:07:03Kami menetapkan bash sebagai tolak secara default (deny by default).
00:07:06Alat ini hanya dapat menginstal paket tepercaya yang telah diverifikasi oleh kami.
00:07:09Alat ini bisa melakukan build.
00:07:10Alat ini bisa memeriksa tipe data (type check).
00:07:11Alat ini bisa melakukan linting.
00:07:12Dan hampir tidak ada yang lain.
00:07:13Alat ini tidak bisa menjalankan perintah shell sembarangan.
00:07:16Dan alat ini tidak memiliki akses ke variabel lingkungan (environment variables).
00:07:20Agen tidak dapat membaca file .env Anda karena kami memblokirnya secara langsung dan kami merutekan rahasia melalui sebuah brankas.
00:07:28Jadi saya menghela napas lega dan menyadari bahwa posisi kami lebih baik dari yang saya duga.
00:07:34Namun saya ingin tahu di mana letak celahnya karena dalam keamanan selalu ada celah.
00:07:39Jadi saya melakukan hal yang seharusnya kita semua lakukan.
00:07:41Saya mendatangi tim keamanan kami dan berkata, hei, bisakah kalian mengaudit hal ini untuk saya dan menemukan celah-celah tersebut?
00:07:48Dan mereka menemukan beberapa hal.
00:07:51Mereka menemukan beberapa celah.
00:07:52Dan bagian yang menarik bukanlah celah atau bug spesifik yang mereka temukan sendiri, melainkan bentuk dari celah tersebut.
00:07:58Karena hampir tidak satupun dari mereka yang terang-terangan berniat jahat.
00:08:01Semuanya adalah dua hal yang sangat tidak bersalah dan berniat baik yang saling bersalaman lalu membuka sebuah lubang.
00:08:07Jadi pelajaran yang saya petik adalah serangan dapat bergabung, sementara peninjauan kode tidak bisa, karena kita para pengembang semuanya melihat perbedaan (diff) satu per satu.
00:08:20Tetapi penyerang melihat keseluruhan sistem dan mereka mencari dua hal yang saling bersalaman tersebut lalu membuka pintu.
00:08:25Namun ada satu hal lagi yang membuat saya tetap terjaga di malam hari.
00:08:29Dan kembali ke mesin konteks itu, saya menyadari bagian yang paling menakutkan dari agen yang kami bangun sebenarnya bukanlah perintah dalam kasus kami.
00:08:37Melainkan hal-hal yang tampak membantu yang kami masukkan ke dalam otaknya.
00:08:43Oh, sepertinya saya salah arah.
00:08:46Ya.
00:08:47Pabrik konteks.
00:08:48Jadi ini adalah mesin konteks kita, alias otaknya wizard.
00:08:51Dan inilah cara wizard mengetahui segalanya dan mengapa wizard benar-benar melakukan pekerjaannya dengan baik.
00:08:56Alat ini mengambil dari dokumentasi kami.
00:08:58Alat ini memiliki prompt tulisan tangan yang berisi jebakan serta pelajaran yang kami pelajari di sepanjang jalan.
00:09:02Dan aplikasi contoh ujung-ke-ujung (end-to-end) yang berfungsi nyata yang membantu agen mencocokkan pola sehingga dapat menginstal PostHog dengan cara yang sangat baik untuk Anda.
00:09:11Alat ini mengemas semua itu ke dalam bundel keterampilan yang dikirimkan ke wizard melalui server MCP kami dan dimuat langsung ke dalam konteks agen pada saat waktu proses.
00:09:22Jadi renungkan itu sejenak.
00:09:24Ini adalah mesin yang tugas utamanya adalah mengambil konten dan menyuntikannya ke dalam agen yang dapat menjalankan perintah.
00:09:31Sekarang, jika Anda seorang penyerang, Anda mungkin akan berkata, “Bagaimana jika saya meracuni kontennya saja?”
00:09:36Bukan basis kode pengguna, bukan agen itu sendiri, melainkan konten aktualnya.
00:09:41Katakanlah seseorang membuka permintaan tarik (pull request) pada salah satu repositori sumber terbuka kami, karena di PostHog kami membangun semuanya secara terbuka,
00:09:48dan mereka menyuntikkan sesuatu ke dalam file markdown atau komentar kode yang tampaknya tidak berbahaya,
00:09:55lalu kita memiliki semacam peninjauan kode bertenaga LLM yang memeriksa itu, dan sistem mengatakan, “Kelihatannya bagus,” lalu mengabaikannya.
00:10:04Kita mungkin baru saja merilis muatan injeksi prompt yang ditandatangani oleh kita ke dalam agen yang berjalan di ribuan mesin pengembang dalam sebuah kotak sandi (sandbox), tetapi tetap saja.
00:10:14Jadi itulah ancaman yang membentuk kembali cara pandang saya tentang keamanan dan wizard, karena input berbahaya bagi kami benar-benar bisa datang dari rantai pasokan kami sendiri.
00:10:25Jadi yang akhirnya saya lakukan adalah saya mulai memindai konten di kedua ujung pipa ini.
00:10:30Pertama, ketika sebuah keterampilan dibangun dan dirilis, dan sekali lagi, ketika wizard benar-benar menggunakannya.
00:10:36Metodologi saya adalah tangkal di sumbernya, asumsikan sumbernya gagal, lalu tangkal lagi pada titik penggunaannya.
00:10:43Jadi sekarang saya ingin memperkenalkan Warlock kepada Anda.
00:10:48Membangun Warlock bukanlah bentuk pengendalian kerusakan semata.
00:10:52Seperti yang saya katakan, kami memiliki pertahanan dengan cara lain.
00:10:55Namun saya membangun Warlock karena saya tidak suka mengatakan kepada orang-orang, “Yah, hal ini, um, cukup terkunci dengan aman.
00:11:01Itu tidak bisa diskalakan.
00:11:02Itu bukan sesuatu yang ingin Anda rilis ke produksi.
00:11:04Itu bukan sesuatu yang ingin Anda jalankan oleh ribuan pengembang setiap harinya.”
00:11:08Karena ketika Anda merilis sesuatu ke skala tersebut, Anda memiliki permukaan yang jauh lebih luas, lebih banyak pengguna, lebih banyak konten yang mengalir saat Anda memperluas kemampuan wizard.
00:11:19Dan kita mungkin akan baik-baik saja.
00:11:21Hanya saja hal itu berhenti menjadi cukup baik.
00:11:23Jadi saya menarik pemindai regex kecil dan asal-asalan yang saya masukkan ke sana, mengeluarkannya dari wizard, dan menjadikannya entitas yang mandiri.
00:11:30Saya menamainya Warlock karena segala sesuatu yang berbentuk wizard membutuhkan pengawal.
00:11:35Dan alat ini memiliki satu tugas utama.
00:11:38Anda memberikannya sebuah string.
00:11:40Alat ini mengembalikan daftar temuan kepada Anda.
00:11:42Setiap temuan tersebut memiliki kategori, tingkat keparahan, dan tindakan yang disarankan, lalu alat itu berhenti.
00:11:48Saya ingin kalian fokus pada kata direkomendasikan di sini.
00:11:51Karena Warlock mendeteksi dan tidak bertindak.
00:11:54Alat ini akan memberi tahu, “Hei, ini tampak seperti eksfiltrasi.
00:11:57Ini kritis.
00:11:58Saya akan memblokirnya.”
00:11:59Tetapi apa yang sebenarnya Anda lakukan terhadap temuan itu sepenuhnya terserah Anda.
00:12:04Karena mendeteksi masalah adalah satu pekerjaan, dan memutuskan tindakan atas masalah itu adalah hal yang sepenuhnya berbeda.
00:12:10Dan satu-satunya hal yang membuat semua ini tetap masuk akal adalah menjaga kedua hal tersebut terpisah.
00:12:15Jadi di balik tudung Warlock, alih-alih menggunakan regex buatan tangan saya, aturan-aturannya berjalan di Yara, yaitu mesin pola yang telah digunakan oleh para peneliti malware selama sekitar 15 tahun lebih.
00:12:27Mesin ini sepenuhnya deterministik.
00:12:28Masukan yang sama, keluaran yang sama, setiap saat.
00:12:31Alat ini memang membosankan secara sengaja.
00:12:33Dan dalam bidang keamanan, membosankan adalah sebuah fitur.
00:12:39Lantas, apa yang sebenarnya ditangkap oleh Warlock di dunia nyata saat ini?
00:12:42Banyak hal berbeda, tetapi dua di antaranya benar-benar sangat mengganggu jiwa saya.
00:12:48Hal pertama sebenarnya bukanlah sesuatu yang berbentuk aturan.
00:12:52Itu adalah sesuatu yang ditandai oleh Warlock yang sebenarnya merupakan perilaku sub-agen yang mengekspos kerentanan kepada kami berdasarkan apa yang dilakukan oleh sub-agen tersebut.
00:13:03Jadi pada dasarnya, kami menjalankan agen-agen untuk mengerjakan tugas-tugas besar.
00:13:07Mereka menelurkan sub-agen.
00:13:08Dan sub-agen tersebut mencoba melewati pagar pembatas yang telah kami terapkan di dalam wizard, serta mencoba menciptakan rahasia.
00:13:16Mereka mencoba menarik rahasia secara harfiah dari mana saja di basis kode.
00:13:20Dan kami menghentikannya.
00:13:21Kami berkata, “Tidak ada lagi sub-agen.”
00:13:23Dan berkat Warlock, kami berhasil menangkapnya.
00:13:26Dan saya akan berempati dengan robot tersebut.
00:13:28Robot itu memiliki tugas untuk diselesaikan, dan ia berusaha mengoptimalkan serta menyenangkan kami.
00:13:32Tetapi kita tidak boleh membiarkan hal itu terjadi.
00:13:35Dan hal lain di PostHog yang sangat penting bagi kami adalah PII.
00:13:39Agen benar-benar tidak peduli tentang mengekspos data kecuali Anda membuat aturan yang tegas.
00:13:46Jika dibiarkan begitu saja, kami melihatnya membuang email dan nomor telepon langsung ke dalam event, dan bagi agen hal itu tampak seperti sesuatu yang sangat normal untuk diambil.
00:13:57Dan untungnya untuk injeksi prompt secara khusus, saya mengetuk kayu di sini, kami praktis tidak pernah mendapati injeksi prompt yang benar-benar berbahaya di dunia nyata.
00:14:08Tetapi kami memang menemukan banyak sekali positif palsu, seperti layar login demo kami, teks pada aplikasi contoh kami, dan hal-hal di dokumentasi kami.
00:14:17Dan hal itu benar-benar membuat saya memikirkan kembali cara saya membangun aplikasi dan menulis dokumentasi karena saya tidak ingin merilis apa pun yang terlihat seperti ancaman.
00:14:27Namun positif palsu tersebut sejujurnya adalah pengaturan yang sempurna untuk bagian yang paling rumit dan paling menarik dari semua ini.
00:14:36Jadi ini adalah bagian yang saya pergumulkan.
00:14:39Saya menghabiskan seluruh ceramah ini untuk menggembar-gemborkan sifat deterministik kepada kalian semua, lalu saya malah menambahkan lapisan LLM untuk membantu memilah positif palsu saya dan meredam sebagian kebisingan.
00:14:50Dan saya menyebutnya triase.
00:14:51Ketika saya membangun lapisan triase ini, saya harus membuat pilihan.
00:14:56Haruskah lapisan ini menjadi penjaga keamanan atau haruskah lapisan ini menjadi penasihat?
00:15:01Dan pilihan termudah mungkin adalah menjadikan LLM sebagai penjaga keamanan.
00:15:06Tunjukkan perintahnya, tanyakan apakah ini serangan, blokir, izinkan, dan lakukan saja apa pun yang dikatakannya.
00:15:13Dan meskipun hal itu menggoda karena tampak lebih mudah, saya tidak dapat mempertaruhkan model keamanan saya pada lemparan koin karena model saya sedang mengalami hari yang buruk atau sesuatu terjadi dan ia bertindak berbeda hari ini dibandingkan kemarin.
00:15:26Jadi, alih-alih penjaga keamanan, saya merancang model tersebut untuk menjadi penasihat.
00:15:32Dan inilah garis bersih yang saya temukan dan garis yang masih saya jelajahi, tetapi ingin saya tinggalkan untuk Anda semua.
00:15:38Pertama, bagi kami, deteksi dan penegakan hukum tetap bersifat deterministik dan mekanis.
00:15:43Jika sebuah aturan cocok, gerbang terkunci, sesi berakhir, dan tidak ada model di mana pun pada jalur tersebut.
00:15:49Pemblokiran terjadi bahkan sebelum kita meminta pendapat LLM.
00:15:54LLM hanya boleh ikut campur setelahnya jika kita belum memblokir sesuatu.
00:15:58Alat ini dirancang untuk menghilangkan kebisingan.
00:16:00Alat ini tidak dirancang untuk meloloskan sesuatu.
00:16:03Dan jika gagal dalam keadaan tertutup, jadi jika model sedang mengalami hari yang buruk, semua eksekusi wizard dihentikan, maaf, tetapi kami hanya melindungi Anda.
00:16:14Penegakan hukum adalah bagian yang menjadi pertaruhan besar Anda, jadi itu harus bersifat deterministik.
00:16:20Tetapi pertimbangan adalah bagian yang menambahkan nuansa, jadi itulah satu-satunya tempat di mana Anda dapat menempatkan hal yang bersifat probabilistik di dalamnya.
00:16:27Lalu bagaimana cara kita merilis aturan nyata untuk agen?
00:16:34Ini adalah anatomi dari salah satu aturan warlock kami, dan setiap aturan warlock memiliki empat bagian.
00:16:41Bagian pertama adalah metadata.
00:16:43Ini adalah deskripsi bahasa Inggris sederhana, tingkat keparahan, kategori, tindakan, dan arah.
00:16:50Bagian pertama, apakah ini mengalir ke dalam agen?
00:16:52Apakah ini sesuatu yang sedang ditulis oleh agen?
00:16:57Kemudian kita memiliki string, jadi ini adalah pola aktual yang Anda cari.
00:17:03Dan bagian ketiga adalah kondisinya.
00:17:05Jadi di sinilah aturan tersebut benar-benar diizinkan untuk memicu.
00:17:10Saya akan menjelaskan contoh ini untuk Anda, dan kita dapat pura-pura sedang menulisnya di dalam kepala kita.
00:17:15Injeksi prompt ibarat contoh klasik abaikan semua instruksi sebelumnya.
00:17:20Naluri pertama Anda di sini mungkin adalah memblokir kata abaikan, tetapi agen membaca kode sepanjang hari,
00:17:27dan kata abaikan dapat muncul dalam komentar kode atau contoh setiap saat.
00:17:31Jadi Anda tidak ingin mencocokkan kata kerjanya saja.
00:17:33Anda mencocokkan kata kerja ditambah kata benda yang bernuansa instruksi.
00:17:38Dalam kondisi tersebut, Anda mengatakan pemicu aktif jika salah satu dari pola itu cocok.
00:17:42Dan dalam metadata, Anda menentukan apakah ini kritis, apa kategorinya, apa tindakannya,
00:17:50dalam hal ini blokir, dan arahnya, dalam hal ini adalah masukan yang mengalir ke dalam agen.
00:17:56Tetapi untuk menulis aturan yang baik guna mengurangi kebisingan, Anda harus menyertakan pengujian bersama aturan tersebut.
00:18:02Jadi Anda harus menulis pengujian yang menyatakan bahwa ini adalah pola yang cocok.
00:18:06Ini adalah pola yang seharusnya tidak cocok.
00:18:08Dan pengujian negatif tersebut adalah garis pertahanan pertama terhadap positif palsu.
00:18:13Tetapi Anda juga ingin memastikan, ketika Anda memutuskan tingkat keparahan aturan tersebut,
00:18:19bahwa Anda melacak dampak di dunia nyata, bukan seberapa menakutkan tampilannya.
00:18:24RM-RF memang menakutkan, tetapi itu juga cara kita semua menghapus modul node sekitar 40 kali sehari.
00:18:31Anda memutuskan dampak di dunia nyata untuk agen yang sedang Anda bangun,
00:18:37karena alat keamanan yang mogok setiap kali mencoba membersihkan folder build
00:18:42adalah alat yang akhirnya dimatikan dan tidak dapat menangkap apa pun sama sekali.
00:18:47Jadi saya bangga mengatakan inilah postur keamanan kami sekarang.
00:18:51Saya akhirnya dapat berdiri di sini dan mengatakan bahwa kita memiliki pertahanan yang mendalam dan sejati.
00:18:56Semua pembelajaran saya telah terangkum menjadi hal ini.
00:19:00Sistem ini masih berlapis, tetapi setiap lapisan kini melakukan pekerjaan yang memang dikuasainya.
00:19:04Kita tetap memiliki prompt, tetapi kita hanya menggunakannya untuk pengarahan.
00:19:07Semuanya berjalan di dalam sandbox.
00:19:09Kita menolak secara default.
00:19:11Kita memiliki brankas sehingga rahasia tidak pernah menyentuh model.
00:19:14Kita memiliki warlock untuk memindai konten yang masuk
00:19:17dan memindai keluaran yang ditulis oleh agen.
00:19:20Kita juga memiliki triase untuk mengurangi kebisingan,
00:19:23dan kita memiliki telemetri yang disematkan di seluruh proses
00:19:26sehingga kita melihat semuanya.
00:19:28Tidak ada satu pun lapisan ini yang berdiri sendiri.
00:19:31Tidak ada satu hal pun di sini yang akan menyelamatkan Anda,
00:19:33tetapi ini hanyalah lapisan-lapisan yang membosankan dan jujur,
00:19:36masing-masing melakukan satu pekerjaan yang dikuasainya dengan baik.
00:19:40Jadi, jika Anda membangun agen yang memiliki kendali penuh,
00:19:45inilah keseluruhan ceramah ini dalam tiga baris.
00:19:47Pertama, jika sesuatu tidak ditegakkan secara deterministik,
00:19:50hal itu tidak ditegakkan.
00:19:52Prompt bukanlah aturan keamanan.
00:19:54Jangan bertindak seolah-olah itu adalah aturan keamanan.
00:19:57Kedua, masukan yang berbahaya bukan hanya apa yang diketik oleh pengguna Anda.
00:20:02Bukan juga hanya perintah yang Anda izinkan untuk dijalankannya.
00:20:04Melainkan segalanya yang mengalir ke dalam model,
00:20:06termasuk konten yang Anda tulis sendiri.
00:20:09Jadi, pindai rantai pasokan Anda sendiri pada sumbernya
00:20:12dan saat agen tersebut memanggilnya.
00:20:15Ketiga, serangan dapat bergabung, sementara tinjauan kode tidak.
00:20:18Sebagian besar celah kami selama audit adalah dua hal yang tampak tidak berbahaya,
00:20:22yakni berjabat tangan dan membuka pintu.
00:20:25Wizard, warlock, dan context mill semuanya bersumber terbuka,
00:20:29jadi temui saya di lantai bawah.
00:20:32Saya berada di aula pameran di stan kami
00:20:34dan saya akan memandu Anda berkeliling, menunjukkan apa yang telah kami bangun,
00:20:37serta ingin mendengar bagaimana kalian mengamankan agen kalian.
00:20:41Terima kasih.
00:20:59Terima kasih.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video