Docker Sandboxes 릴리스 노트
Docker Sandboxes 릴리스 노트 (Docker Sandboxes release notes)
Docker Sandboxes의 최근 안정 릴리스 변경 사항을 정리해 드릴게요.
출처: 문서
본문
이 페이지는 Docker Sandboxes의 최근 안정 릴리스 변경 사항을 나열해요. 사전 릴리스와 다운로드를 포함한 전체 릴리스 이력은 GitHub의 Docker Sandboxes 릴리스를 참고하세요.
0.45.1
2026-09-22
수정 및 개선 (Fixes and improvements)
- 샌드박스 이동을 개선하고 클라우드 샌드박스에서 사설 kit 이미지를 지원해요.
0.45.0
2026-09-21
주요 사항 (Highlights)
v3 kit로 재사용 가능한 환경 구성
Docker Sandboxes는 이제 v3 kit를 지원해요. v3 kit는 에이전트 워크로드를 도구, 구성, 자격 증명, 네트워크 접근, 에이전트 지침을 위한 재사용 가능한 mixin과 결합하는 OCI 기반 패키지예요. 샌드박스를 생성할 때 호환되는 kit를 직접 구성하거나, 팀이 단일 참조로 실행할 수 있는 kit set으로 그 조합을 게시하세요.
v2 kit는 내장 에이전트와 기존 사용자 정의에 계속 지원돼요. v3 워크로드와 mixin은 반드시 함께 사용해야 하며, v1이나 v2 kit와는 결합할 수 없어요. kit에 대해 자세히 알아보기.
클라우드 샌드박스에서 에이전트 실행
sbx --cloud로 Docker가 관리하는 클라우드 인프라에서 AI 에이전트를 실행할 수 있어요. 클라우드 지원은 실험적이며 활성 Docker Agentic Platform 구독이 필요해요. 클라우드 샌드박스 시작하기를 참고하세요.
새로운 기능 (What's new)
Breaking changes
sbx mcp catalog가 제거되었어요. 원격 MCP 서버를 인증하려면sbx mcp auth를 실행하기 전에sbx mcp add로 등록하세요.sbx secret rm은 이제 요청된 비밀이 없으면 stderr에 오류를 반환해요.sbx mcp rm은 이제 요청된 MCP 서버가 등록되지 않았으면 오류를 반환해요.
보안 (Security)
- 샌드박스의 OAuth 또는 API 키 자격 증명을 폐기할 때 샌드박스가 다시 생성될 때까지 실행 중인 프록시가 인증된 채 남을 수 있던 문제를 수정했어요.
Kits
- v3 kit는 별도의 워크로드와 mixin 역할을 도입해요. 워크로드는 기본 환경과 실행 명령을 제공하고, mixin은 도구, 구성, 런타임 동작을 추가해요. 의존성과 호환성 선언이 구성 순서를 결정해요.
- Kit set은 작성자가 워크로드와 mixin을 결합하고 구성 요소 버전을 고정한 뒤 결과를 단일 OCI 참조로 게시할 수 있게 해줘요. Set은 자체 기능, 수명주기 훅, 지침, 인자를 추가할 수도 있어요.
- v3 kit는 HTTP 메서드·경로별 네트워크 접근 범위 지정, 설치 단계 네트워크 접근·자격 증명 사용 선언, 에이전트가 공유 스킬을 읽을 위치 지정을 지원해요.
- OAuth 기반 에이전트 여러 개를 같은 샌드박스에, 요청한 kit로 범위가 지정된 자격 증명과 함께 구성할 수 있어요.
- kit가 선언한 HTTP Basic 자격 증명은 이제 예상한
Authorization: ***헤더를 만들어내요. kit들이 Basic-auth 서비스를 충돌하게 소유한다고 선언하면 사용자 이름을 조용히 버리는 대신 구성이 실패해요. sbx kit validate는 이제 잘못된 API 키 선언(잘못된 이름, 주입 도메인 누락, 잘못된 형식 플레이스홀더, 콜론이 포함된 Basic-auth 사용자 이름)을 거부해요. 또한 효과가 없거나 kit의 네트워크 allowlist 밖 도메인을 대상으로 하는 선언에 대해 경고해요.- 변경되지 않은 로컬 kit를 재사용하면 이제 구성된 이미지를 다시 빌드하지 않아요.
- 데몬 API를 통해 기존 샌드박스에 mixin을 추가하면 이제 mixin의 에이전트 지침이 기대대로 기록돼요.
에이전트 및 모델 (Agents and models)
sbx run --model은 새model.providers설정에 구성된 어떤 OpenAI- 또는 Anthropic-호환 엔드포인트든 사용할 수 있어요.sbx run opencode --model은 이제 모델의 지원 thinking 레벨을 OpenCode 변형으로 노출하며, Ctrl+T로 선택할 수 있어요.- OpenCode kit는 이제 계정에 저장된 GitHub 자격 증명에서 GitHub Copilot을 구성하므로, Copilot 모델이 별도의 기기 로그인 없이 동작해요.
- Codex 샌드박스는 이제 npm 대신 네이티브 설치 프로그램으로 Codex를 설치해요.
CLI 및 출력 (CLI and output)
- MCP 서버, 비밀, 스킬, 템플릿, 볼륨, 정책 프로필 목록 명령이 이름만 출력하는
--quiet(-q)를 지원해요. - 목록 명령이 일관된 테이블 형식을 사용하고, 오류가 더 명확한 복구 안내와 함께 일관된 형식을 사용해요.
- 리소스를 제거하는 명령이 확인을 묻습니다. 비대화형 워크플로우에서는
--force, 또는sbx kit builder history rm에는--yes/-y를 사용하세요. 파괴적 액션이나 재시작 필수 프롬프트를 거부하면 0이 아닌 종료 코드가 반환돼요. - 서비스 없이
sbx secret rm을 실행하면 기존 로컬 비밀을 스코프, 타입, 이름과 함께 보여주는 선택기가 열려요. sbx exec -d또는--detach로 분리 실행을 지원하지 않는 경우 포그라운드로 실행하는 대신 즉시 실패해요.sbx settings가sbx --help와 CLI 참조에 나타나요.sbx ls --json에created_at이 포함돼요.sbx ls --json과sbx inspect --json은 로컬 샌드박스의 기록된 CPU 및 메모리 한도도 보고해요.- 업데이터는 요청한 버전이 이미 설치되어 있으면 채널 전환을 더 이상 묻지 않아요.
sbx env rm은 복제된 워크스페이스의 데이터 손실을 확인을 요구하기 전에 경고해요.sbx logout은 데몬이 실행 중이 아니면 중지된 샌드박스에 대해 더 이상 경고하지 않아요.
샌드박스 수명주기 및 워크스페이스 (Sandbox lifecycle and workspaces)
- 샌드박스는 이제 게스트 커널이 충돌해도 영구적으로 사용 불가능해지지 않고 복구돼요. 게스트가 응답을 멈추면 관련 작업이 설명과 함께 실패하고, 보류된 프록시 연결이 해제되며,
sbx ls와sbx inspect가 응답하지 않는 상태를 보고해요. - 동적 마운트가 샌드박스 재시작 후 복원돼요. 저장된 마운트를 복원할 수 없으면 시작이 명확하게 실패하고,
sbx umount는 샌드박스가 중지된 동안 저장된 마운트를 제거할 수 있어요. 언마운트 대상이 없어도 기존 마운트를 깨지 않아요. - 클론 모드 샌드박스는 모든 재시작에서 호스트 Git remote를 복원하고, 동시 수명주기 작업 중 전체 remote 구성을 보존하며, 구성 실패 시 복구 지침을 제공해요.
- 새로 생성되거나 다시 생성된 샌드박스는 쓰기 가능한
/etc/hosts파일을 가져요. - 이미지 풀은 샌드박스 생성 실패 전에 일시적인 레지스트리 네트워크 실패를 재시도해요.
- 캐시된 이미지 복구는 레지스트리 오류를 함께 보여주지 않고 성공으로 보고되고, 마운트 정책 평가 실패는 접근 거부와 구분돼요.
- 컨테이너 교체는 이전 교체 상태 저장에 실패해도 구식 레지스트리 미러 허용을 제거해요.
- 이미지 레이어가 누락되던 문제를 고치도록 containerd를 업데이트했어요.
인증 및 자격 증명 (Authentication and credentials)
- 전역 서비스 비밀을 추가, 업데이트, 제거하면 샌드박스별 자격 증명을 보존하면서 재시작 없이 기존 로컬 샌드박스를 업데이트해요. 샌드박스 스코프 명령·참조 비밀도 즉시 적용돼요.
- 레지스트리 및 서비스 비밀 폐기 실패가 이제 보고되고 재시도할 수 있어요(저장된 OAuth 토큰이 삭제된 후에도).
- OAuth 갱신은 자격 증명을 공유하는 샌드박스 간에 조정되어, 동시 갱신이 다른 로그인을 강제하지 않아요.
네트워킹 및 정책 (Networking and policy)
- 네트워크 정책은 이제 끝에 점이 있는 호스트네임을 라우팅, 가로채기, 자격 증명 주입,
host.docker.internal처리에서 정규 형식과 동일하게 취급해요. 정책 로그는Host헤더가 연결 대상과 다른 일반 텍스트 HTTP 요청도 기록해요. - 실험적 아웃바운드 UDP가 이제 샌드박스 네트워크 정책을 따르니다. 새 로컬 allow 규칙은 기본적으로 TCP를 다루며, CLI에서
--protocol(또는 TUI에서 TCP+UDP 옵션)으로 UDP를 명시적으로 선택해야 해요. 대상이 HTTP, SOCKS5, system, PAC 선택 프록시를 요구하면 그 프록시들이 UDP를 전달할 수 없으므로 UDP가 거부돼요. - 역방향 DNS 조회는 이제 정책이 이미 승인한 대상 IP(IP, CIDR, allow-all 규칙 포함)에만 허용돼요. 이로써 허용된 주소의 PTR 조회를 막지 않으면서 이전 정책 우회를 닫아요.
- 네트워크 규칙이 허용하지 않으면 더 이상 DNS 해석이 허용되지 않아요.
- CIDR 규칙으로만 허용된 연결은 이제 호스트네임 감지를 기다리지 않고 연결해, SSH처럼 서버가 먼저 말하는 프로토콜을 개선해요.
- 네트워크·파일시스템 접근은 정책 평가 실패, 거버넌스 미해결, 정책 스냅샷 만료, 잘못된 요청 시 정확한 오류와 함께 실패 닫힘(fail closed)돼요.
sbx policy allow network,sbx policy deny network,--allow-network,--deny-network는 이제 저장 전에 잘못된 패턴을 거부해요.sbx policy ls는 이제 각 규칙이 어떻게 생성됐는지 보여주고--created-via로 필터링을 지원해요.- 차단된 모든 UDP 패킷마다 설정 파일을 읽어 과도한 데몬 CPU 사용이 발생하던 문제를 수정했어요.
- 거버넌스 규칙 테이블은 더 이상 숨겨진 프로필 열을 위한 공간을 예약하지 않아 좁은 터미널에서 호스트 값을 읽기 좋게 해요.
MCP
- 생성된 게이트웨이 이름의 괄호나 다른 샌드박스 ID 구두점으로 인한 게이트웨이 생성 실패를 수정했어요.
- MCP 게이트웨이는
sbx exec나sbx env run을 사용할 때 데몬 재시작 후 올바르게 복구돼요. - 내부 MCP 탐색과 OAuth 정보 로그가 더 이상 일반 명령 출력에 나타나지 않아요.
- OAuth 인증 오류는 인증 서버가 스코프 없는 요청을 거부할 때 명시적 스코프를 제안해요.
- 사설 주소에 대한 OAuth 메타데이터 탐색은 기본적으로 경고하고 계속 진행해요. 신뢰하는 제공자와 그 탐색 대상을 위해
--skip-ssrf-check가 여전히 경고를 억제하는 데 사용 가능해요. sbx mcp add --disable-http2는 원격 MCP 전송에 HTTP/2를 비활성화해, HTTP/2 처리가 장기 스트림을 멈추게 하는 서버에 대한 우회책을 제공해요.
패키징 및 설치 (Packaging and installation)
- macOS 배포판은 이제 단일 서명된
Sbx.app번들을 포함해요. Homebrew와 tarball PATH 설치물은 번들로의 심볼릭 링크를 통해 계속 동작해요.
0.43.0
2026-09-15
새로운 기능 (What's New)
Breaking changes
sbxenv.yaml의shareSkills(실험적 기능)가skills로 대체되었으며,skills는off|readonly|readwrite로 설정할 수 있어요.- MCP OAuth 클라이언트 비밀이
mcp:<server>:client_secret(이전mcp:<server>.client_secret)으로 이름이 바뀌어 헤더 비밀 명명과 일치해요. 옛 이름으로 저장된 비밀은 더 이상 읽히지 않으며sbx secret set mcp:<server>:client_secret으로 다시 설정해야 해요.
환경 파일 (Environment files)
- 환경 파일은
${{ env.projectDir }}과${{ env.fileDir }}을 참조할 수 있고, 사용자 수준~/.sbxenv.yaml은workspace: ${{ env.projectDir }}을 선언해 각 프로젝트의 자체 디렉터리를 마운트할 수 있으며, 상대 워크스페이스 경로는 이제 그것을 선언한 파일 기준으로 해석되고, 모든sbx env하위 명령은--name을 받아 샌드박스 이름을 덮어쓸 수 있어요. sbx env run,sbx env create,sbx env rm은sbx env밖에서 생성된 샌드박스와의 이름 충돌을 감지하고, 이를 환경 관리 샌드박스로 취급하는 대신 안내를 제공해요.
에이전트 및 모델 (Agents and models)
- 공개 kit로 이동한 이전 내장 에이전트(kiro, copilot, droid)를 이름으로 다시 실행할 수 있어요 —
sbx run kiro는 고정된 대체 kit를 해석하고 저장된 자격 증명이 추가 승인 단계 없이 동작해요. sbx run --provider는 이제 llmman을 통해 제공되는 호스팅 models.dev 제공자를 받아요.sbx run --model은--overflow-provider/--overflow-model을 얻어 과대 요청에 로컬 모델을 호스팅 모델과 짝지을 수 있고,--provider는 Responses API가 없는 제공자에 대해 codex와 함께 동작하며, codex 샌드박스는 로컬 모델 서버에 WebSocket 연결을 재시도하는 데 몇 초를 쓰지 않아요.sbx run --model로 시작한 Claude Code 샌드박스는 하네스 자체 기본 모델 대신 선택한 모델을 사용해요.- 번들 llmman의 느린 첫 시작이 더 이상
sbx run --model을 실패시키지 않아요.
Kits 및 skills
sbx create/sbx run은 이제 새 3상태--skills=off|readonly|readwrite플래그로 스킬을 기본적으로 읽기 전용 공유해요. 폐기된--no-share-skills플래그는--skills=off의 별명으로 계속 동작해요. 원하는 기본 동작을 설정하는 새skills.defaultMode도 있어요.- 커밋 고정 git kit는 로컬 콘텐츠 주소 캐시에서 오프라인으로 해석되고, 모든 캐시 히트는 파일별 매니페스트로 체크아웃을 검증해 변조된 캐시 항목은 제공되는 대신 격리·재인출돼요.
- 서명된 git kit는 모든 호스트에서 검증해요: kit 체크아웃은 커밋의 blob만으로 구체화되므로 smudge 필터, 줄바꿈 변환, LFS, 훅, 기타 호스트 git 구성이 체크아웃된 바이트를 더 이상 변경할 수 없어요.
- kit 인자(
${{ kit.args.* }}) 치환이 kit 참조가 심볼릭 링크 디렉터리일 때 조용히 적용되지 않던 문제를 수정했어요. - kit는 이제 명시적 포트로 구성된 레지스트리 미러를 통해 설치할 수 있어요.
- 상속된 환경에 담긴 명령줄 구성 주입(
GIT_CONFIG_PARAMETERS와 번호가 붙은 대응물)에 대해 git kit 클로닝을 강화했어요.
샌드박스 수명주기 및 워크스페이스 (Sandbox lifecycle and workspaces)
sbx ls --json에 마지막 사용 타임스탬프를 추가하고sbx prune에 Docker 스타일until필터링을 추가해요.sbx create로 생성된 샌드박스는 유휴 상태가 되면 자동으로 중지돼요.- 샌드박스 최소 메모리가 512 MiB로 줄었어요. 참고: 셸 사용 사례에만 적합해요.
- 샌드박스 이름은 이제 63자 초과 또는 하이픈·마침표로 끝나는 이름을 거부하도록 검증돼요.
daemon inspect와inspect는 이제 마운트 정보를 보여줘요.- 클론 모드 샌드박스는 얕은 Git 저장소를 지원해요.
- 호스트에 Git 환경 변수가 설정되었을 때
sbxCLI가 kit 로딩이나 워크스페이스 구성 같은 Git 관련 설정 작업 중 잘못된 저장소를 선택할 수 있던 문제를 수정했어요. - Windows에서 같은 폴더를 올바르게 식별하도록 UNC 경로 해석을 수정했어요.
- SSH 연결은 UUID 마이그레이션 중 기존 샌드박스를 보존하면서 원래 샌드박스 정체성에 계속 바인딩돼요.
- Windows 클라이언트는 파일시스템
AF_UNIX소켓으로sandboxd에 연결할 수 있어요. - 로컬 데몬은 이제 Unix 소켓과 Windows named pipe에서 연결하는 OS 사용자를 검증해요.
인증 및 자격 증명 (Authentication and credentials)
- Docker 로그인은 macOS Keychain이 저장된 자격 증명 접근을 거부할 때 복구 방법을 설명해요.
- 단일 Docker Hub 로그인 시간 초과가 데몬을 Docker Hub에서 영구히 잠글 수 있던 버그를 수정해, 복구에 수동 로그인이 필요하던 문제를 고쳤어요.
- 동시 샌드박스 생성은 이제 Docker Hub 인증 요청 하나를 재사용해요.
- 사설 레지스트리는 샌드박스 풀에 명시적으로 신뢰된 교차 호스트 인증 엔드포인트를 사용할 수 있어요.
sbx secret rm --sandbox는 이제 샌드박스 프록시에서 제거된 자격 증명을 즉시 폐기해요.- 샌드박스용으로 구성되지 않은 자격 증명을
sbx exec가 동기화하지 못하게 해요. - 자격 증명 바인딩 동의는 기본적으로 거절로 설정되고, API 키 비밀이 새 도메인으로 전송될 때 명확히 식별해요.
- OAuth 자격 증명 게이트를 수정해, 제3자 kit가 내장 에이전트의 OAuth 서비스를 재선언해도 명시적 바인딩 없이 그 에이전트의 신뢰를 상속받아 실제 토큰을 받을 수 없게 했어요. 이 수정 전에 생성된 샌드박스는 수동 재생성 대신 다음 데몬 재시작이나 kit 추가에서 자가 복구돼요.
- 관련 없는 자격 증명이 더 이상 Claude 샌드박스를 Anthropic API 키 모드로 전환하지 않아요.
sbx secret import와sbx secret ls는 이제 copilot의 GitHub 자격 증명을 올바르게 나열해요.
네트워킹 및 정책 (Networking and policy)
- CLI는 로그인, 진단 업로드, 업데이트 확인을 포함한 호스트 측 HTTP 요청에 구성된 프록시 설정을 준수해요.
- 바디가 없는 HTTP/2 업스트림 응답이 샌드박스 프록시에 의해 잘못 chunked로 프레이밍되던 문제를 수정했어요.
- 샌드박스 이그레스 프록시의 자격 증명 처리를 강화해, 프록시가 발행하지 않은 클라이언트 제공 자격 증명을 관리 제공자 호스트로 전달하지 않게 했어요.
- IP 리터럴 대상에 대한 네트워크 allow 규칙(예:
sbx policy allow network [::1]:8080또는10.0.0.0/8같은 CIDR 규칙)이 올바르게 시행돼요. 거버넌스 승인 콜백 마이그레이션 후 프록시가 이를 기본 차단으로 막지 않아요. - 수정: 에이전트가 org 거버넌스 기본 차단 정책으로 차단된 호스트에
sbx policy allow를 더 이상 제안하지 않아요 — 명시적 org deny 규칙과 마찬가지로Blocked by org policy로 읽혀요. balanced정책 프리셋이 NodeSource APT 저장소 접근을 허용해요.- Claude 샌드박스가 Claude Code 문서에 접근할 수 있어요.
MCP
sbx mcp add는--header로 원격 MCP 서버에 사용자 정의 요청 헤더를 보낼 수 있으며, 헤더 값은 로컬 비밀 금고에서 대입돼요.- MCP 인증은
--skip-ssrf-check로 사설 OAuth 탐색을 지원하고, 광고된 공통 OIDC 스코프로 폴백하며, 로컬 OAuth 등록에서--no-scope를 존중해요.
CLI, 진단, 업데이트 (CLI, diagnostics, and updates)
- 로컬
sbx명령은 더 이상 종료 전에 느리거나 도달 불가한 업데이트 서비스를 기다리지 않아요. - 일반
sbx version호출은 전체 CLI 시작 없이 내장 버전 정보를 반환해요. sbx diagnose는mkfs.erofs가 사용 가능한지 확인하고 기본 블록 크기가 샌드박스 커널의 페이지 크기를 초과하면 경고해요.sbx diagnose는 Windows OpenSSH 구성이 정상일 때 Git Bash에서 SSHProxyCommand누락을 더 이상 보고하지 않아요.tls.allowNegativeSerial설정은 데몬 진단에는 보이면서도 더 이상 모든sbx명령에서 정보 로그 줄을 출력하지 않아요.- 배경 테마를 감지할 수 없으면 터미널 출력이 기본 텍스트 색상을 사용해요.
- Windows의 터미널 커서 깜박임 문제를 수정했어요.
- 나이틀리 및 개발 빌드는 릴리스 후보 태그 대신 최신 안정 릴리스를 기반으로 버전을 보고해요.
- macOS의
sbx@rcbrew 사용자는 릴리스 시 최신 안정 빌드로 업데이트돼요.
0.42.1
2026-09-07
새로운 기능 (What's New)
버그 수정 (Bug Fixes)
- 바디가 없는 HTTP/2 업스트림 응답이 샌드박스 프록시에 의해 잘못 chunked로 프레이밍되던 문제를 수정했어요.
0.42.0
2026-09-07
주요 사항 (Highlights)
- BREAKING:
sbx ports --publish와 kit 선언 포트가 이제 이중 스택tcp대신 기본적으로tcp4예요. 따라서 게시된 포트는 프로토콜을 명시적으로 이름 붙이지 않으면(--publish 8080:3000/tcp)::1에서 더 이상 수신하지 않아요. 이로써http://localhost:<port>/가 IPv4에서만 수신하는 샌드박스 서비스에 도달해요. sbx run과sbx create는 이제 샌드박스 kit 참조를 에이전트 위치 인자로 받아요:sbx run <sandbox-kit-ref>. 옛 형식sbx run <sandbox-kit-name> --kit <sandbox-kit-ref>는 폐기되었고, mixin에는--kit플래그를 사용하세요.- 샌드박스는
sbx create에서 경로를 생략하면 워크스페이스 바인드 마운트 없이 생성될 수 있어요. 참고로 이는create명령에만 영향을 주며,sbx run은 여전히 현재 디렉터리를 기본 워크스페이스로 마운트해요.
보안 (Security)
- CVE-2026-77179를 수정했어요. macOS의 virtio-fs 호스트 서버의 심볼릭 링크 취약점으로, 악성 게스트가 공유 워크스페이스 밖의 임의 호스트 파일을 읽거나 수정해 호스트에서 코드 실행으로 이어질 수 있었어요.
- CVE-2026-79994를 수정했어요. 게스트-호스트 Unix 도메인 소켓 릴레이의 심볼릭 링크 경쟁으로, 악성 게스트가 공유 워크스페이스 밖의 임의 호스트 Unix 소켓에 연결해 데이터나 호스트 측 기능을 노출할 수 있었어요.
새로운 기능 (What's New)
CLI
secret ls,version,mcp ls,skills ls,policy inspect, kit 검증 명령을 포함한 읽기 전용sbx명령이 머신이 읽을 수 있는 출력용--json을 받아요.- 로컬 샌드박스 안의 클립보드 명령이 텍스트를 호스트 클립보드로 복사할 수 있어요.
sbx skills로 Git 저장소에서 직접 샌드박스 스킬을 추가, 업데이트, 나열, 제거할 수 있어요.
환경 파일 (Environment files)
sbx env는 이제 프로젝트 디렉터리에서 숨기지 않은sbxenv.yaml을 읽고, 그곳의 숨은.sbxenv.yaml으로 폴백하지 않아요. 홈 디렉터리의.sbxenv.yaml을 프로젝트 파일 아래에서 프로젝트 간 공유 기본값으로 병합해요.sbx env는 이제 환경 파일이 호스트에서 바꾸는 모든 것(호스트lifecycle:명령, 자격 증명, 바인딩, MCP 서버, 워크스페이스, kit, 포트, 샌드박스 자체)의 계획을 보여주고, 적용 전에 묻고,env.rememberHostCommands가 설정되지 않으면 이 머신에서 명령을 실행할 때마다 다시 물어요. 환경 파일을 그 서술하는 샌드박스에 읽기 전용으로 바인딩하고,~/.sbxenv.yaml을 아래의 사용자 수준 기반으로sbxenv.yaml만 위한 디렉터리를 읽어요.sbx env:workspace:를 선언하지 않은 환경 파일은 이제 파일을 담은 디렉터리를 마운트하는 대신 워크스페이스 바인드 마운트가 없는 샌드박스를 만들어요. 프로젝트 디렉터리를 마운트하려면workspace: .를 쓰세요.- 환경 파일은 이제
args:블록에 자체 인자를 선언할 수 있고,${{ env.args.NAME }}으로 참조하며sbx env --env-arg으로 제공해요..sbxenv.yaml의${VAR}보간은 더 이상 확장되지 않아요. - 환경 파일의 상대 kit 경로는 이제
sbx가 실행된 디렉터리가 아니라 파일의 디렉터리 기준으로 해석돼요. sbx env create는 이제 기본적으로 가져온 스킬을 공유하고sbxenv.yaml에서 display, GPU, USB 옵션을 받아요.
데몬 (Daemon)
- 샌드박스는 이제 50 GB 대신 10 GB Docker 볼륨을 받아 호스트 디스크 사용을 크게 줄여요.
DOCKER_SANDBOXES_DOCKER_SIZE로 바꿀 수 있어요.
에이전트 (Agents)
- Devin을 내장 에이전트로 추가했어요.
Kits
- kit는 이제
args:블록에 인자를 선언하고--kit-arg name=value, 또는 단일 kit를 대상으로--kit-arg kit.name=value로 값을 받을 수 있어요. - sbxenv.yaml의
kits:항목은kits[].args에 해당 kit의 인자를 담아요.
버그 수정 (Bug fixes)
- Docker Sandboxes는 더 이상 설정 마법사를 자동으로 열지 않아요. 명시적으로 실행하려면
sbx setup을 실행하세요. - 샌드박스 프로세스가 데몬에게 호스트 D-Bus 전송을 열어 호스트에서 임의 명령을 실행하게 할 수 있는 취약점을 수정했어요.
- macOS에서 sbx는 경로의 대소문자가 디스크의 표기와 다르더라도 워크스페이스 경로를 받아 샌드박스 생성에 실패하지 않아요.
- 컴퓨터가 절전에서 깨어난 직후 불안정한 네트워크가 예기치 않은 Docker Hub 로그아웃을 일으킬 수 있던 드문 경우를 수정했어요.
- 에이전트 충돌은 이제 종료 신호를 식별하고 범위가 지정된 복구 안내를 제공해요.
- 악성 샌드박스가 콜백 포트를 선점해 다른 샌드박스의 OAuth 로그인을 가로챌 수 있는 취약점을 수정했어요.
- 로컬 샌드박스를 제거하거나 정리하면 이제 샌드박스 스코프 비밀도 삭제돼요.
sbx secret ls는 저장된 비밀 값이 나열이 표시하는 상태 라벨 중 하나와 우연히 일치할 때 더 이상 마스크를 풀어 출력하지 않아요.- 저장된 자격 증명을 승인하는 바인딩이 없어 샌드박스로 보내지 않을 때,
sbx는 샌드박스를 시작했다가 인증 오류로 나중에 실패하는 대신 경고해요. - 여러 MCP 관련 버그를 수정했어요.
sbx rm,sbx stop, MCP 인증,sbx reset의 오류 메시지 형식을 표준화했어요.- 샌드박스 및 에이전트 not-found 오류는 이제 명령 전반에 걸쳐 한 문장 패턴과 인용 스타일을 사용해요: sandbox '
' not found. - TUI로 만든 Docker Hub 템플릿 풀은 이제 Docker Sandboxes 로그인 자격 증명을 사용해요.
sbx ports --publish는 이제 포트를 게시하기 전에 중지된 로컬 샌드박스를 자동으로 시작해요.- 512 MiB 미만의 Docker 볼륨 크기는 샌드박스 생성 전에 거부돼요.
- Docker Hardened Image 템플릿에서 샌드박스를 생성할 때 더 이상 지연이 없어요.
- 폴백 API 키 없이 리소스 호스트를 선언하는 사용자 정의 에이전트 kit의 OAuth 인증을 수정했어요.
- kit는 이제 사양의
sandbox.resources블록으로 샌드박스의 CPU 및 메모리 한도를 설정할 수 있어요. - 비대화형 프로브를 조용히 유지하고 채널을 닫기 전에 그 종료 상태를 전달해 에디터의 SSH 연결을 수정했어요.
- 샌드박스 삭제는 이제 디스크 볼륨을 안정적으로 회수하고, 삭제된 샌드박스의 이름을 재사용하는 새 샌드박스는 더 이상 그 파일, Docker 이미지, 에이전트 세션 이력을 상속하지 않아요.
- 명시적으로
sbx setup을 실행해도 다음 대화형 명령에서 설정 화면이 다시 나타나지 않아요. - 서버가 먼저 데이터를 보내는 샌드박스 연결(수동 FTP 전송과 호스트로 릴레이되는 직렬 콘솔 포함)이 서버 출력을 받는 대신 시간 초과로 실패하던 문제를 수정했어요.
sbx kit push는 파일을 제공하지 않는 kit에 빈 페이로드 레이어를 더 이상 업로드하지 않아요.sbx kit push는 이제 sbx 자격 증명 저장소에서 인증하므로, 밀기, 서명, provenance 첨부에 단일sbx login또는docker login이면 충분해요.extends:를 사용하는 kit는 자식이 자체를 선언할 때 부모의 것 교체 대신 부모의 설정 명령, 자격 증명, 네트워크 allowlist, 볼륨, 환경 변수를 상속해요.- Docker Hub 자격 증명 갱신이 속도 제한 후 백오프 없이 재시도되고, 비대화형 로그인이 저장된 OAuth 갱신 토큰을 버리던 문제를 수정했어요.
- 나이틀리 게시가 진행 중일 때 나이틀리 Homebrew 설치가 체크섬 불일치로 실패하지 않아요: sbx@nightly cask는 이제 불변의 빌드별 릴리스 URL에서 다운로드해요.
기타 (Other)
- Docker Sandboxes는 이제 관리자 관리 설치용 머신 전체 Windows MSI를 제공해요.
- 로컬 MCP 서버에서 거절된
@requireApproval프롬프트는 이제 정책 속성과 컨텍스트 다이제스트와 함께 자체 감사 기록을 받아, 원래의 approval-required 결정만 교환의 유일한 흔적으로 남지 않아요. platform.images.registryMirror로 구성된 레지스트리 미러는 값이 루프백이나 와일드카드 주소가 아닌 베어 호스트(경로 접두사 없음)일 때 샌드박스 안에서 실행되는 Docker도 사용해요.sbx version --json은 이제server.state를running또는unavailable로 보고해, 스크립트가 오류 텍스트를 파싱하지 않고 백엔드 도달 여부를 확인할 수 있어요.- SSH 에이전트 포워딩을 명시적으로 비활성화하거나 각 클라이언트의 현재 에이전트 소켓 또는 고정 소켓 경로를 사용할 수 있어요.
sbx터미널 출력은 밝은 터미널 배경에 맞춰 색상을 조정하고 별도의 분홍색 스피너 글리프를 사용하며, 표 출력의 CJK 및 결합 문자 열 너비를 올바르게 측정하고, 파이프된 출력과 JSON 출력은 ASCII 전용 콘텐츠에 대해 변경되지 않아요.sbx mcp add는 이제--skip-auth를 받아요(옛--skip_auth도 동작). 사설, 루프백, 클라우드 메타데이터 주소의--url은 거부 대신 경고와 함께 해석·등록돼요.- OS 키체인을 사용할 수 없는 Linux 호스트에서 새로 저장된 비밀을 훨씬 빠르게 읽고 쓸 수 있어요. 이미 디스크에 있는 비밀은 다음에 쓸 때까지 이전 비용을 유지해요.
- 원격 MCP 서버의 재연결이 그 도구 라우팅을 조용히 지워 서버 도구가 에이전트에서 사라지고 데몬이 재시작될 때까지 인식되지 않는 내장 도구로 organization MCP 정책이 거부할 수 있던 게이트웨이 결함을 수정했어요.
- Docker Sandboxes는 사용자가 동의하면 데몬이 오류를 만났을 때 진단 번들을 자동으로 업로드할 수 있어요.
- 거버넌스 해결 문제가 이제 sbx policy 출력과 대시보드에 표시돼요.
sbx mcp auth는 서버가 광고하는 모든 스코프 대신 선택한 스코프(또는 리소스 자체가 요구하는 집합, 새--no-scope플래그로 억제 가능)만 요청하고, 서버가 거부한 스코프를 더 좁은 재시도 명령과 함께 설명하며,sbx mcp auth status에서 기존 허가의 스코프 집합(부여된 것, 요청된 것, 서버가 지원하는 것)을 스코프 정렬·중복 합치·차이(요청되지 않거나 더 이상 광고되지 않은 허가) 강조와 함께 보고해요.- 샌드박스 나열과 생성 출력이 하나의 렌더링 패키지를 공유하고, 터미널에서
sbx ls열 머리글은 이제 굵게 스타일링돼요. - 샌드박스 에이전트 지침 파일은 더 이상 일반적인 언어별 개발 안내를 포함하지 않아요.
- v0.25.0 이전 버전이 남긴 sandboxd 런타임 상태 디렉터리는 그 자리에 사용되는 대신 현재 이름으로 마이그레이션돼요.
이전 릴리스 (Earlier releases)
이전 버전은 GitHub의 Docker Sandboxes 릴리스를 참고하세요.