
Sandbox GitHub Copilot chặn file nhạy cảm, nhưng mạng vẫn mở mặc định

GitHub đưa sandbox cục bộ của ứng dụng GitHub Copilot vào public preview trong thông báo ngày 23/9/2026. Tính năng cho phép đặt chính sách theo dự án cho các công cụ mà agent gọi trong phiên làm việc với kho mã hoặc working tree trên máy. Sandbox có thể chặn truy cập tới thư mục chứa file nhạy cảm, nhưng người dùng phải thêm thư mục đó vào danh sách Denied.
Sandbox tắt theo mặc định. Ngay cả sau khi bật, hướng dẫn cấu hình của GitHub xác nhận chính sách mặc định vẫn cho phép kết nối internet, mạng nội bộ và các thao tác có xác thực bằng Git hoặc GitHub CLI. Trước khi để agent chạy lệnh cục bộ, người dùng cần bật sandbox cho dự án và quyết định riêng quyền truy cập thư mục, hai loại kết nối mạng cùng hai loại thông tin xác thực.
Sandbox giới hạn những gì trên máy?
Sandbox áp chính sách của hệ điều hành lên công cụ do agent gọi để giảm tác động của lệnh ngoài ý muốn. Khi được bật, phiên có quyền đọc và ghi trong workspace cùng thư mục làm việc hiện tại. Cài đặt dự án còn cho phép cấp thêm quyền đọc ghi, quyền chỉ đọc hoặc từ chối truy cập đối với các thư mục cụ thể. Một thư mục nằm trong Denied vẫn bị chặn dù thư mục cha rộng hơn được cấp quyền.
Điều này giải thích giới hạn của chữ “chặn” trong tiêu đề: công tắc Sandbox new sessions không tự nhận diện file bí mật. Danh sách Denied trong tài liệu được cấu hình theo thư mục; những file nhạy cảm nằm trong workspace được phép truy cập sẽ không tự biến mất khỏi phạm vi của agent. Với dự án có dữ liệu cần tách riêng, vị trí của dữ liệu và các thư mục bị từ chối truy cập là một phần của cấu hình.
Phân tích của BaristaLabs cũng lưu ý rằng working tree tách nhánh và file giữa các phiên, nhưng riêng sự tách biệt đó không giới hạn nơi lệnh có thể truy cập trên máy. Local sandboxing áp dụng cho phiên kho mã và working tree cục bộ trong ứng dụng Copilot. Phiên cloud, phiên trên máy chủ từ xa và cấu hình sandbox riêng của Copilot CLI không nhận chính sách dự án này.
Bật chính sách cho phiên cục bộ
Trong cài đặt ứng dụng GitHub Copilot, chọn dự án, mở mục Sandbox rồi bật Sandbox new sessions. Công tắc này đặt mặc định cho các phiên cục bộ mới; nó không thay đổi phiên đang chạy. Muốn bật sandbox ngay trong một phiên cục bộ đang hoạt động, nhập /sandbox on. Lệnh đó tạo thay đổi cho phiên hiện tại mà không sửa mặc định của các phiên khác trong dự án.
Tiếp đó, đặt các thư mục vào danh sách Additional read/write, Additional read-only hoặc Denied theo quyền công việc cần dùng. Trong cùng chính sách dự án, Outbound internet, Local network, Git credentials và GitHub CLI credentials là các lựa chọn riêng. Thay đổi quyền file, mạng hoặc xác thực chỉ có hiệu lực với phiên mới hoặc phiên được khởi động lại; lệnh /restart-session cho phiên hiện tại nhận chính sách mới mà vẫn giữ lịch sử phiên.
Quyền mặc định so với cấu hình cho kho mã nhạy cảm
Các lựa chọn dưới đây nói về phiên đã bật sandbox. Phần “nên tắt” là cấu hình khởi điểm thận trọng cho công việc không cần quyền tương ứng, không phải mặc định do GitHub áp đặt.
- File: Mặc định, agent có thể đọc và ghi trong workspace và thư mục làm việc hiện tại. Với kho mã nhạy cảm, đưa các thư mục chứa bí mật hoặc dữ liệu không phục vụ tác vụ vào Denied. Thư mục ngoài dự án chỉ dùng để tham khảo nên được cấp quyền chỉ đọc, thay vì đọc ghi.
- Internet: Kết nối ra internet được phép theo mặc định. Tắt Outbound internet nếu tác vụ có thể chạy với mã và các phụ thuộc đã có trên máy. Việc cài gói, gọi API hoặc truy cập dịch vụ từ xa có thể cần bật lại quyền này.
- Mạng nội bộ: Kết nối loopback và mạng cục bộ cũng được phép theo mặc định. Tắt Local network khi tác vụ không cần máy chủ phát triển hay dịch vụ nội bộ, đồng thời lưu ý giới hạn thực thi trên Linux được nêu ở phần cuối.
- Git credentials: Sandbox mặc định cho phép Git dùng thông tin xác thực trong thao tác HTTPS. Tắt quyền này khi agent chỉ cần xem và sửa mã cục bộ, không cần thực hiện thao tác Git có xác thực với kho từ xa.
- GitHub CLI credentials: Lệnh gh có thể xác thực theo mặc định. Tắt quyền này nếu tác vụ không cần thao tác GitHub bằng CLI. Đây là quyền riêng: tắt Git credentials không đồng nghĩa với tắt xác thực của GitHub CLI.
Ba cấu hình khởi điểm theo mức rủi ro
Với dự án phát triển thông thường cần cài phụ thuộc, kết nối máy chủ phát triển, đẩy nhánh và tạo pull request, chính sách mặc định sau khi bật sandbox có thể đáp ứng công việc. Vẫn cần xem các thư mục được cấp thêm quyền và những nơi phải đưa vào Denied. Internet, mạng nội bộ và xác thực đang mở nghĩa là lệnh trong sandbox vẫn có thể dùng các khả năng đó trong phạm vi tài khoản và chính sách có hiệu lực.
Với kho mã nội bộ có thư mục nhạy cảm, có thể bắt đầu bằng cách thêm thư mục ấy vào Denied, tắt Local network và tắt cả hai loại xác thực nếu agent chỉ sửa mã hoặc chạy kiểm thử cục bộ. Tắt thêm Outbound internet khi phụ thuộc đã được chuẩn bị sẵn. Nếu một tác vụ sau đó cần tải gói hoặc đẩy nhánh, chỉ mở lại quyền cần thiết cho dự án và khởi động phiên mới để thay đổi có hiệu lực.
Với kho mã chứa dữ liệu đặc biệt nhạy cảm, cấu hình khởi điểm chặt hơn là từ chối các thư mục cần bảo vệ, tắt internet, mạng nội bộ và cả hai loại xác thực. Cấu hình này phù hợp với tác vụ có thể hoàn thành hoàn toàn bằng tài nguyên cục bộ đã được phép truy cập. Nó cũng có thể làm thất bại việc cài gói, gọi dịch vụ, kết nối máy chủ thử nghiệm, đẩy nhánh hoặc tạo pull request; nhóm sử dụng cần xác định quyền nào thực sự cần trước khi giao tác vụ cho agent.
Những giới hạn còn lại của bản public preview
Trên Linux, sandbox không thể kiểm soát riêng quyền truy cập mạng nội bộ của các tiến trình được tạo ra, gồm lệnh shell và máy chủ MCP hoặc LSP cục bộ. Cài đặt Local network vẫn áp dụng cho một số hoạt động chạy trong tiến trình ứng dụng, nhưng không nên coi việc tắt công tắc này là bảo đảm chặn mọi kết nối nội bộ từ mọi công cụ trên Linux. Nếu hệ điều hành không thể thực thi chính sách được yêu cầu, shell trong sandbox sẽ báo lỗi thay vì âm thầm chạy ngoài sandbox.
Khi một công cụ cần quyền bị chính sách chặn, ứng dụng có thể hỏi có chạy công cụ đó ngoài sandbox hay không. Tùy chính sách quản trị có hiệu lực, người dùng có thể hủy, cho chạy một lần hoặc tắt sandbox trong phần còn lại của phiên; chủ sở hữu enterprise có thể cấm các lựa chọn vượt qua sandbox. Local sandboxing của ứng dụng hiện vẫn là public preview. Phạm vi bảo vệ thực tế phụ thuộc vào chính sách mà phiên đã nhận, khả năng thực thi của hệ điều hành và việc có cho phép ngoại lệ ngoài sandbox hay không.
Đọc thêm:
Bài viết liên quan


Plugin4Shell cho plugin chạy mã: hai AI coding agent vẫn chưa có bản vá

Copilot Managed Runtime gom ứng dụng AI vào một lớp quản trị chung

Copilot sửa cùng lúc 25 lỗi code quality, mỗi lượt vẫn tốn AI credits

Sao lưu model Hugging Face: đừng chỉ tải bản mới nhất trên nhánh main

DigitalOcean Managed Agents mở preview, 16.000 công cụ vẫn cần chính sách quyền
Đăng ký bản tin
Nhận tin Web3, AI và tiền mã hóa mới nhất ngay trong hộp thư.