권한 모드는 APC가 아닌 APX에 존재합니다
APC는 이동 가능한 컨텍스트 레이어입니다. APX는 런타임 및 툴링 레이어입니다. 이 구분은 보안 측면에서 매우 중요합니다.
권한은 프로젝트의 기준이 아닙니다. 그것은 머신 정책입니다.
저장소는 노트북과 데스크톱 사이를 마찰 없이 이동할 수 있어야 합니다. 권한 설정이 모든 머신에 동일한 위험 수준을 강요해서는 안 됩니다. 만약 권한 상태를 APC에 두면, 로컬 신뢰와 공유 컨텍스트가 뒤섞이게 됩니다.
APX는 경계를 명확하게 유지합니다. 권한 모드는 저장소가 아닌 로컬 설정에 존재합니다.
사용 가능한 모드는 다음과 같습니다:
- total: 확인 절차 없이 모든 도구를 실행합니다.
- automatico: 안전한 읽기 및 쉘 작업을 허용합니다. 파괴적이거나 외부로 나가는 작업에 대해서는 확인을 요청합니다.
- permiso: 허용된 도구만 직접 실행합니다. 그 외의 모든 작업은 확인이 필요합니다.
automatico가 기본값입니다. 이를 통해 일상적인 작업에서 런타임을 유용하게 사용할 수 있습니다.
APC는 프로젝트 메타데이터, 에이전트 및 스킬을 처리합니다. 이 콘텐츠는 도구 간에 안정적으로 유지되며 git에서도 잘 작동합니다.
권한 모드는 다음과 같은 런타임 사실에 따라 달라집니다:
- 머신의 소유자.
- 머신이 개인용인지 공유용인지 여부.
- 작업이 탐색적인지 또는 위험도가 높은지 여부.
- 오늘 런타임에 어느 정도의 신뢰를 부여하는지 여부.
권한을 APC로 옮기면 두 가지 문제가 발생합니다. 새로운 머신에 맞지 않을 수 있는 정책을 그대로 물려받게 됩니다. 또한 로컬의 안전 선택을 공유 프로젝트의 짐으로 만들게 됩니다.
저장소는 작업을 설명합니다. APX는 로컬 런타임이 어느 정도의 권한을 가질지 결정합니다.
APX는 이를 코드로 강제합니다. createPermissionGuard 함수는 글로벌 설정을 읽어 도구 호출을 차단하거나 허용합니다.
이 구조는 여러분의 작업 방식과 일치합니다. 파일을 읽는 것은 저장소를 변경하는 것과 다릅니다. 안전한 조회는 MCP 연결과 다릅니다.
동일한 APC 프로젝트를 서로 다른 APX 정책으로 사용할 수 있습니다. 노트북에서는 automatico를 사용하고, 공유 워크스테이션에서는 permiso를 사용하세요.
설정이 어디에 속해야 하는지 결정하려면 다음 테스트를 사용하세요:
- "이 프로젝트는 무엇인가?"라는 질문에 답한다면 APC에 넣으세요.
- "이 머신이 지금 무엇을 할 수 있는가?"라는 질문에 답한다면 APX에 넣으세요.
권한 모드는 APX에 속해야 합니다. 이를 통해 APC의 이동성을 유지하고 로컬 런타임의 신뢰성을 지킬 수 있습니다.
Source: https://dev.to/agentprojectcontext/permission-mode-lives-in-apx-not-apc-50d6
Optional learning community: https://t.me/GyaanSetuAi
