กรงกักได้แค่ว่าเอเจนต์ทำงานที่ไหน ไม่ใช่ว่ามันเอาอะไรไปได้
เอเจนต์เติบโตจาก 3% ของการ deploy บน Vercel เป็นมากกว่าครึ่งในสองไตรมาส Vercel สร้างแซนด์บ็อกซ์เพื่อกักบริเวณที่เอเจนต์ทำงาน แต่ไม่ได้พูดอะไรเลยว่าเอเจนต์จะเอาอะไรไปได้
เมื่อหกเดือนก่อน coding agents มีส่วนกระตุ้นการ deploy บน Vercel ต่ำกว่า 3% ของทั้งหมด สัปดาห์นี้ CEO ของบริษัทระบุตัวเลขไว้ที่มากกว่าครึ่ง จากการ deploy หกล้านครั้งต่อวัน โดยมี AI tokens มากกว่าหนึ่งล้านล้านชิ้นไหลผ่าน gateway ของพวกเขาในช่วงเวลาเดียวกัน เอเจนต์ไม่ได้ค่อย ๆ แทรกเข้าสู่ production มันเข้ายึดครอง ในสองไตรมาส
Vercel จึงสร้าง runtime สำหรับมัน Sandbox ตัวใหม่ของพวกเขาโยน shell commands และการจัดการไฟล์ของเอเจนต์แต่ละตัวลงใน VM ที่แยกออกมา อยู่ใน security context คนละตัวกับ harness ที่ขับเคลื่อนมัน การรันทุกครั้งถูกบันทึก การเรียกเครื่องมือทุกครั้งถูก trace ตามหลักการที่พวกเขาประกาศไว้ตรงไปตรงมา: ไม่มีร่องรอย ไม่มีความไว้วางใจ สัญชาตญาณนี้ถูกต้อง และส่วนของการ audit นั้นถูกต้องเป๊ะ ถ้าเอเจนต์ลงมือทำอะไรแล้วคุณมองไม่เห็นว่ามันทำอะไรไป คุณไม่มีอะไรเลย
ทีนี้ ส่วนที่แซนด์บ็อกซ์ครึ่งหนึ่งไม่ได้แตะต้อง Isolation ควบคุมว่าเอเจนต์ทำงานที่ไหน แต่ไม่ได้บอกอะไรเลยว่าเอเจนต์เข้าถึงอะไรได้ เหตุผลทั้งหมดที่คุณ deploy สิ่งนี้ก็เพื่อให้มันทำงานจริง ซึ่งหมายความว่าคุณยื่น credentials จริงให้มัน: AWS key, รหัสผ่านฐานข้อมูล, API token, deploy secret สิ่งเหล่านั้นอยู่ในกรงเดียวกับมัน เพราะมันต้องใช้ ดังนั้นแซนด์บ็อกซ์หยุดไม่ให้ shell ของเอเจนต์หลบหนีไปยัง host ได้ และมันไม่ทำอะไรเลยสักนิดเมื่อเอเจนต์ที่ถูก prompt injection หรือถูกยึด หยิบ credential ที่มันได้รับมาอย่างถูกต้องไปใช้จ่ายในสิ่งที่ credential นั้นอนุญาตพอดี กรงจำกัดวงความเสียหาย Credential คือ payload คุณแยกตัวแสดงออกจากที่อื่น แล้วทิ้งกุญแจไว้ในมือมัน
และเอเจนต์ถูกยึดได้ เราเห็นมาแล้วเดือนนี้: เอเจนต์ที่ถูกปั่นผ่านเกมให้ส่งมอบ SSH keys และ tokens ที่วางอยู่ในสภาพแวดล้อมของมัน ไม่มี exploit ไม่มีการหลบหนี เอเจนต์แค่ทำในสิ่งที่ถูกพูดให้ทำ ด้วยสิ่งที่มันถืออยู่แล้ว แซนด์บ็อกซ์จะบันทึกทุกวินาทีของเหตุการณ์นั้น และไม่ได้เปลี่ยนแปลงอะไรเลย
วิธีแก้ไม่ใช่กรงที่แข็งแรงขึ้น แต่คือไม่ใส่กุญแจไว้ในกรงตั้งแต่แรก เอเจนต์ไม่จำเป็นต้องถือ credentials ของคุณ มันต้องการแค่การใช้งานหนึ่งครั้ง สำหรับหนึ่งการกระทำ ในขณะที่มันลงมือ ให้ broker ณ ตอนนั้น: จำกัดขอบเขตเฉพาะทรัพยากรเดียวที่งานต้องการ ผูกกับเครื่องที่ออกให้ หมดอายุตามนาฬิกาที่วัดเป็นนาที แล้วหายไป ไม่มีอะไรค้างอยู่ในแซนด์บ็อกซ์ให้เอเจนต์ที่ถูกยึดมาฉวย เพราะ secret ไม่เคยถูกเก็บไว้ที่นั่น เมื่อเอเจนต์ถูกหันมาเล่นงานคุณ และตอนนี้ production ของคุณครึ่งหนึ่งเป็นเอเจนต์แล้ว ดังนั้นสมมติไว้เลยว่ามันจะเกิด สิ่งที่มันเข้าถึงได้คือคีย์ที่หมดอายุหนึ่งใบสำหรับงานหนึ่งชิ้น ไม่ใช่พวงกุญแจของคุณ
ทั้งหมดนั้นไม่ได้ทำให้เอเจนต์ที่ถูกยึดกลายเป็นสิ่งที่ไม่มีอันตราย ในช่วงเวลาที่มันถือ credential ที่ยังใช้งานได้ มันยังใช้ credential นั้นในทางที่ผิดได้ในทุกสิ่งที่มันอนุญาต และไม่มีการออกแบบใดเขียนทับข้อเท็จจริงนี้ สิ่งที่เปลี่ยนคือขนาดของความสูญเสีย แซนด์บ็อกซ์ของ Vercel ลดพื้นที่ที่เอเจนต์ร้ายจะรันได้ Credentials ที่จำกัดขอบเขต ผ่าน broker และชั่วคราว ลดสิ่งที่มันเอาไปได้ คุณต้องการทั้งสองอย่าง และมันแก้คนละครึ่ง อุตสาหกรรมกำลังแข่งกันสร้าง runtime อีกครึ่งคือการตัดสินใจว่าเอเจนต์จะไม่ถือพวงกุญแจเด็ดขาด และตอนนี้ครึ่งนั้นยังคงส่ง standing secrets ลงกล่องโดยตรง
ชั้นที่จะชนะ Vercel แย้ง ไม่ใช่เจ้าของโมเดลที่ดีที่สุด แต่คือ agent runtime พวกเขาพูดถูกเพียงครึ่งเดียว อีกครึ่งคือ credential layer ข้างในนั้น
เรามีรายการสั้น ๆ ของสิ่งที่ระบบ credential ไม่ควรทำเป็นอันขาด ใกล้หัวรายการ: secret ไม่ควรอยู่ในที่เดียวกับโค้ดที่ใช้มันรัน รายการอยู่ที่นี่
Clavitor (@clavitorai) คือ credential vault ที่สร้างขึ้นสำหรับ AI agents และเพื่อรับมือกับมัน clavitor.ai
แหล่งอ้างอิง
Vercel (@vercel) ผ่าน CEO Guillermo Rauch (@rauchg): การเปิดตัว eve agent framework และ Vercel Sandbox พร้อมตัวเลขขนาดที่เปิดเผย เอเจนต์ขับเคลื่อนการ deploy และ commit บน Vercel มากกว่าครึ่งแล้ว เพิ่มขึ้นจากต่ำกว่า 3% เมื่อหกเดือนก่อน; 6M deployments ต่อวัน; 1T+ tokens ต่อวันผ่าน AI Gateway [1]
TechCrunch (@TechCrunch): "Vercel CEO Guillermo Rauch on the fight to split off models from agents" วิทยานิพนธ์เรื่องการแยกโมเดลออกจากเอเจนต์ และกรอบการพิจารณาความเสี่ยงระดับองค์กร [2]