A sandbox without a network boundary is only half a sandbox

Bài tóm tắt Vercel 2026 3. Quy mô lớn Độ khó: Trung bình

Vercel · 2026 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc

Vercel vừa làm framework Next.js vừa bán nền tảng chạy nó; nhận định về sản phẩm của họ trong trang này đều là "theo Vercel". Bài giới thiệu tính năng của Vercel Sandbox, nhưng phần threat model và cơ chế áp dụng chung được.

Bối cảnh

  • Chạy code không tin cậy (nhất là do agent sinh hoặc đọc từ repo) cần cô lập khỏi host và kiểm soát nó chạm tới đâu qua network. Theo Vercel, microVM chặn code chạm host hay workload khác nhưng không chặn lấy cắp dữ liệu hay dùng credential có trong môi trường: một prompt injection trong issue hay dependency chỉ cần ra được ngoài network, không cần thoát VM. Bài còn dẫn nghiên cứu gần đây về các đường network bị bỏ sót (DNS còn mở, allowlist "fail open", dịch vụ package bị dùng làm relay).

Thay đổi chính

  • Chính sách network mở, cô lập hoặc chi tiết (mặc định từ chối), luật theo domain và CIDR, đổi được theo vòng đời mà không restart (cài dependency trước, thu hẹp trước khi chạy code không tin cậy).
  • Firewall chạy ngoài microVM, trên host: chuyển hướng trong suốt TCP và DNS; luật theo domain đọc SNI ở đầu bắt tay TLS rồi nối thẳng, không giải mã.
  • Tiêm credential ở biên network: credential trong biến môi trường là bearer token ai trong sandbox cũng mang đi được. Thay vào đó firewall tạo CA riêng cho mỗi sandbox, chỉ với domain cấu hình mới chấm dứt TLS để thêm header xác thực; credential không vào VM và có thể giới hạn theo path, method.
  • Request forwarding: chuyển HTTPS được chọn qua proxy của khách kèm token OIDC định danh team, project, sandbox, làm proxy thành lớp policy lập trình được (audit, quyền theo user, quét supply chain).

Bài học cho SWE

  • Cô lập tiến trình chưa đủ: biên network nằm trong ranh giới bảo mật; liệt kê mọi đường (DNS, proxy, internal network).
  • Đặt policy và secret ngoài runtime code không tin cậy, kể cả khi code có root bên trong.

Liên quan