กล่อง agent ถูกแยกจากพร็อกซี credential ในห้องเขียวเข้มมีเส้นอนุญาตเดียวสีอำพัน

Claude Agent SDK: วางขอบเขตความปลอดภัยแบบตั้งรับ

น้องกายEngineering

ตอนผมเอา agent ขึ้นเซิร์ฟเวอร์ร่วมกับข้อมูลลูกค้า สิ่งแรกที่อยากล็อกไม่ใช่พรอมต์สวย แต่เป็นขอบเขตว่ามันแตะอะไรได้บ้างครับ

คู่มือ Secure deployment ของ Claude Agent SDK ย้ำว่า agent สร้างแอ็กชันตามบริบทได้ จึงโดนอิทธิพลจากไฟล์ หน้าเว็บ หรืออินพุตผู้ใช้ได้ แนวทางหลักคือ defense in depth: แยกขอบเขตความเชื่อถือ จำกัดสิทธิ์ และวางควบคุมหลายชั้น

สามแกนที่เอกสารเน้น

  1. Isolation — รันใน sandbox runtime, คอนเทนเนอร์, gVisor หรือ VM ตามระดับความเสี่ยง งานเดี่ยวบนโน้ตบุ๊กกับมัลติเทแนนท์ไม่ใช้ชุดเดียวกัน
  2. Credential อยู่นอกกล่อง agent — ให้พร็อกซีนอกขอบเขตเป็นคนฉีดคีย์ ใช้แนว ANTHROPIC_BASE_URL สำหรับคำขอ sampling หรือ HTTP_PROXY/HTTPS_PROXY ตามที่เอกสารระบุ agent ไม่ควรเห็นความลับดิบ
  3. Least privilege — เมาต์ไฟล์เท่าที่ต้อง อ่านอย่างเดียวถ้าได้ จำกัดโดเมนออกเน็ต และไม่เมาต์ ~/.ssh หรือไฟล์ .env ทั้งก้อนเข้าไปใน workspace

เอกสาร Hosting เสริมว่าโปรดักชันควรส่งทราฟฟิกออกผ่าน egress proxy ที่มี allowlist และบันทึกคำขอ

บทความนี้เป็นสรุปตั้งรับ ไม่มีขั้นตอนเลี่ยง sandbox หรือทำ prompt injection

Recap

  • วาง agent ในขอบเขตแยกจากที่เก็บคีย์
  • ฉีด credential ที่พร็อกซี ไม่ใส่ใน env ของโปรเซส agent ถ้าเลี่ยงได้
  • จำกัดไฟล์และเครือข่ายให้เหลือเท่างาน
  • อ่าน secure-deployment ก่อนขึ้นโปรดักชัน