Microsoft 실행 컨테이너

MXC(Microsoft 실행 컨테이너)는 정의된 리소스 권한이 있는 워크로드를 실행하기 위한 오픈 소스 정책 기반 실행 기술입니다. 앱에서 .NET, TypeScript 또는 Rust SDK를 사용하여 워크로드를 선택하고, 액세스할 수 있는 항목을 설명하고, 지원되는 격리 환경에서 실행할 수 있습니다.

앱, 에이전트 및 개발자 도구는 AI 생성 명령, 타사 도구 및 사용자가 제공한 스크립트와 같이 생성하거나 완전히 제어하지 않은 코드를 실행하는 경우가 많습니다. 격리가 없으면 해당 코드는 파일, 자격 증명, 네트워크 서비스 및 기타 리소스에 대한 광범위한 액세스를 상속할 수 있습니다. MXC를 사용하면 태스크에 필요한 액세스 권한을 제한할 수 있습니다.

MXC는 플랫폼별 컨테이너화 백엔드를 통해 Windows, Linux 및 macOS를 지원합니다. 컨테이너가 반드시 가상 머신 또는 컨테이너 이미지를 의미하지는 않습니다. 워크로드는 운영 체제 프로세스 샌드박스, 별도의 세션 또는 가상화된 환경에서 실행될 수 있습니다. 사용 가능한 기능 및 제한 사항은 MXC 릴리스, 백 엔드 및 호스트에 따라 달라집니다.

이 Learn 문서에서는 개념 및 통합 워크플로에 대해 설명합니다. GitHub의 MXC 설명서는 자세한 SDK, 스키마, 백엔드 및 구현 지침을 제공합니다.

핵심 개념을 이해하세요

Concept Meaning
호스트 앱 SDK를 호출하고, 사용 권한을 선택하고, 입력을 제공하고, 결과를 처리하는 신뢰할 수 있는 앱 또는 에이전트 런타임
업무량 격리 환경에서 실행되는 명령, 스크립트 또는 프로세스
Policy 읽기 가능한 파일, 쓰기 가능한 출력 디렉터리, 네트워크 대상 및 UI 액세스와 같이 허용하는 리소스 액세스를 설명하는 구성
실행 구성 정책과 함께 명령, 작업 디렉터리, 런타임 설정 및 포함 선택
백 엔드 지원되는 제한 사항(예: 운영 체제 프로세스 샌드박스, 별도의 사용자 세션 또는 가상화된 환경)을 구현하는 플랫폼 메커니즘

MXC를 사용하는 이유

다른 작업에는 다른 리소스가 필요합니다. 리포지토리 분석 명령에는 읽기 전용 원본 액세스 권한과 쓰기 가능한 출력 폴더 하나가 필요할 수 있습니다. 빌드에는 도구 체인 파일 및 패키지 다운로드가 필요할 수도 있습니다. 장기 실행 워크플로는 명령 간에 환경을 유지해야 할 수 있습니다.

MXC는 모든 운영 체제 격리 메커니즘과 별도의 통합을 요구하는 대신 앱에 공통 정책 및 실행 모델을 제공합니다. 이를 사용하여 다음을 할 수 있습니다.

  • 호스트 앱의 모든 액세스 권한을 부여하지 않고 생성된 명령, 스크립트 또는 외부 도구를 실행합니다.
  • 읽기 가능한 입력을 쓰기 가능한 출력과 분리하고 자격 증명을 워크로드가 접근할 수 없도록 합니다.
  • 지원되는 백 엔드에서 네트워크 액세스를 거부하고, 선택한 직접 연결을 허용하거나, 애플리케이션에서 제공하는 HTTP(S) 프록시를 사용
  • 창, 클립보드 액세스 및 합성 키보드 또는 포인터 입력을 제한합니다.
  • Windows ProcessContainer 워크로드에 대한 학습 모드를 사용하여 리소스 권한을 만들고 구체화합니다.

격리는 워크로드가 수행할 수 있는 작업을 제한합니다. 생성된 지침, 출력 또는 허용된 작업을 신뢰할 수 있게 만들지 않습니다. 신뢰할 수 있는 호스트 코드에서 정책 결정을 유지하고 앱이 그 결과에 따라 동작하기 전에 결과의 유효성을 검사합니다.

MXC 시작

MXC SDK를 사용하여 워크로드를 실행부터 시작하세요. 입력을 읽고, 전용 출력 폴더에 쓰고, 거부된 작업을 보여 주는 C#, TypeScript 및 Rust 예제를 제공합니다.

SDK Package 자세한 지침
.NET Microsoft.Mxc.Sdk NuGet.org에서 .NET SDK 가이드
Node.js/ TypeScript @microsoft/mxc-sdk npm에서 TypeScript SDK 가이드
러스트 mxc-sdk crates.io에서 Rust SDK 가이드

워크로드가 액세스해야 할 수 있는 모든 리소스를 예측하기 어려울 수 있습니다. 학습 모드는 워크로드가 액세스하려고 시도하는 리소스를 기록하여 Windows에 대한 최소 권한 정책을 만드는 데 도움이 될 수 있습니다.

코딩 에이전트를 사용하여 예제를 조정할 수도 있습니다. 코딩 에이전트는 발견 사항을 설명하는 데 도움이 될 수 있지만 리소스 액세스 정책의 변경 내용을 검토하고 승인해야 합니다.

MXC 작동 방식

호스트는 지원되는 백 엔드 컨테이너를 검색하고, 정책 및 실행 요청을 만들고, SDK를 통해 워크로드를 시작합니다. MXC는 해당 요청을 선택한 백 엔드의 작업으로 변환합니다. 그런 다음 호스트는 출력, 종료 상태, 경고 및 정리를 처리합니다.

비고

백 엔드에는 서로 다른 보안 속성이 있을 수 있습니다. 선택한 환경이 필요한 컨트롤을 적용할 수 있는지 확인하고 허용된 작업과 거부된 작업을 모두 테스트합니다. MXC 아키텍처, 플랫폼 지원 및 릴리스 노트를 참조하세요.