Chuyển đến nội dung
tinAI
Quay lại

Coop: chạy Claude Code và Codex trong VM cô lập

github.com · Loại nguồn: GitHub 2026-09-07T20:19:23.561Z
Bản dịch tiếng Việt của tinAI · Từ GitHub - trailofbits/coop: Isolated VM environment for running Claude Code and Codex (github.com) · Ngày gốc: · Dịch ngày:

và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bài gốc: GitHub - trailofbits/coop: Isolated VM environment for running Claude Code and Codex (github.com)

Tác giả: Trail of Bits

Ngày đăng: Dịch ngày:

TL;DR

Coop là Rust CLI tạo VM dùng Firecracker trên Linux hoặc Lima trên macOS để coding agent có tool access rộng mà giảm blast radius trên host. Isolation vẫn cần đi cùng credential tối thiểu, hiểu rõ workspace sync và quy trình review output.

Ước tính đọc: 3 phút

Giới thiệu

Coop là Rust CLI của Trail of Bits để chạy Claude Code và Codex trong virtual machine tách khỏi host. Agent vẫn có Docker, git, compiler, package manager và quyền thao tác rộng bên trong guest, trong khi workspace được đặt trong môi trường có thể tạo lại hoặc bỏ đi.

Công cụ dùng Firecracker microVM trên Linux và Lima VM trên macOS. Bản phát hành được test trên macOS arm64 và Linux x86_64; Linux arm64 có binary nhưng chưa được test đầy đủ.

Tính năng chính

Mục tiêu thiết kế là thu nhỏ blast radius trên host khi coding agent chạy command không đáng tin hoặc cài dependency. Đây là isolation boundary cho môi trường thực thi, không phải lý do để cấp credential rộng hơn nhu cầu.

Cài đặt

Cài bản phát hành mới nhất bằng installer của dự án:

curl -fsSL https://raw.githubusercontent.com/trailofbits/coop/main/install.sh | bash

Hoặc build từ source khi đã có Rust:

cargo build --release
cp target/release/coop /usr/local/bin/

Sau đó tạo template image:

coop setup

Trên Linux, bước setup cài Firecracker và tải guest kernel. Trên macOS, cần cài Lima trước:

brew install lima

Để cập nhật CLI, dùng:

coop update

Cách sử dụng

Trong project hiện tại, tạo hoặc khởi động instance rồi mở agent:

cd ~/code/my-project
coop up
coop claude
# hoặc
coop codex

Agent làm việc trong guest thay vì trực tiếp trên host. Trước khi dùng cho repository thật, nên đọc phần prerequisite của backend, cơ chế workspace sync và tài liệu trust model để biết dữ liệu nào đi qua host–guest boundary.

Cách dùng an toàn

Giữ credential theo phạm vi

VM cô lập filesystem và process tốt hơn một shell chạy thẳng trên máy cá nhân, nhưng credential được đưa vào guest vẫn có thể được process bên trong sử dụng. Chỉ truyền token cần thiết, giới hạn repository/quyền, đặt thời hạn ngắn khi có thể và tránh đưa secret không liên quan vào instance.

Xác định dữ liệu cần giữ

Môi trường disposable hữu ích khi dependency, build artifact và tool do agent tạo ra không cần tồn tại lâu. Với source code hoặc output cần giữ, hãy hiểu rõ cơ chế sync trước khi restore hoặc thay image. Đừng coi disk guest là bản sao lưu duy nhất.

Kiểm tra yêu cầu của backend

Firecracker và Lima có mô hình networking, mount và kernel khác nhau. Một workflow chạy trên macOS chưa chắc có cùng chi tiết vận hành trên Linux. Hãy test port forwarding, Docker, file permissions và performance trên đúng nền tảng của nhóm.

Khi nào Coop phù hợp

Coop hữu ích khi muốn cho coding agent quyền cài package, chạy compiler hoặc Docker mà không mở toàn bộ host. Nó đặc biệt hợp với thử nghiệm dependency lạ, repository chưa tin cậy và task tự động dài.

Đổi lại, nhóm phải vận hành VM image, hiểu workspace lifecycle và quản lý credential boundary. Nếu task chỉ cần read-only hoặc vài command cố định, một sandbox nhỏ hơn có thể đơn giản hơn. Với agent cần tool access rộng, disposable VM là một ranh giới đáng cân nhắc—miễn là isolation được ghép với credential tối thiểu và quy trình review output.


Đường dẫn nguồn

tinAI dịch bài này sang tiếng Việt từ GitHub - trailofbits/coop: Isolated VM environment for running Claude Code and Codex (github.com) · Loại nguồn: GitHub và giữ bối cảnh từ bản tin tinAI đã giới thiệu bài này .

Bản tin này có 3 bài dịch liên quan từ cùng bản tin.

Đọc tiếp từ đây

Bạn có thể quay lại bản tin nguồn hoặc mở kho bài dịch để đọc tiếp.

Các bài bên dưới cùng xuất hiện trong bản tin nguồn, nên giữ chung bối cảnh đọc với bài này.

Các bài liên quan trong cùng bản tin trải trên 2 loại nguồn (2 bài). Loại nguồn: cộng đồng 1 Loại nguồn: công ty/blog 1