How to bypass corporate MDM and AI gateways on Claude Code

개요

기업 환경에서 Claude Code 사용 시 적용되는 MDM(Mobile Device Management) 설정과 AI 게이트웨이 프롬프트 라우팅을 우회하는 방법을 설명합니다.

주요 내용

* MDM 설정 우회:
* MDM은 Jamf, Kandji, Intune, Workspace ONE 등과 같은 에이전트를 통해 /Library 디렉토리 일부를 제어하며, Claude Code의 경우 /Library/Application Support/ClaudeCode/ 디렉토리의 managed-settings.jsonmanaged-mcp.json 파일을 최우선 설정으로 적용합니다.
* MDM 에이전트는 chflags schg 명령어를 사용하여 해당 파일들에 시스템 불변 플래그를 설정하므로, root 권한으로도 직접 삭제가 불가능합니다.
* schg 플래그를 제거하고 파일을 삭제하기 위해 chflags noschgrm -f 명령어를 사용하는 쉘 스크립트를 작성할 수 있으며, 이 스크립트는 /usr/local/sbin/claudecode-cleanup.sh에 저장하고 실행합니다.
* MDM 에이전트가 주기적으로 설정을 재적용하므로, launchd LaunchAgent를 통해 로그인 시 스크립트를 실행하거나, launchd 타이머를 사용하여 동기화 주기와 경쟁하는 방식의 지속적인 우회 시도가 필요할 수 있습니다.
* AI 게이트웨이 우회:
* 기업에서는 프롬프트 로깅, PII 제거, 할당량 적용 등을 위해 Claude API 트래픽을 AI 게이트웨이(Cloudflare AI Gateway, Portkey, LiteLLM, 내부 프록시 등)를 통해 라우팅합니다.
* Claude Code는 ANTHROPIC_BASE_URL 환경 변수를 존중하여 해당 URL로 트래픽을 전송합니다.
* AI 게이트웨이 라우팅 방식은 두 가지입니다:
* managed-settings.json 파일 내 env 블록에 ANTHROPIC_BASE_URL 설정.
* 시스템 프록시 설정 또는 투명한 네트워크 가로채기를 통해 Corporate Root CA로 인증서를 검증하는 방식.
* env 블록 방식은 MDM 설정 우회 스크립트가 ANTHROPIC_BASE_URL을 제거함으로써 해결됩니다.
* 투명한 프록시 방식의 경우, 개인 핫스팟 사용, WireGuard 또는 Tailscale을 통한 개인 노드 연결, 또는 개인 기기 사용 등의 방법이 있습니다. Corporate Root CA를 제거하는 것은 MDM에 의해 재적용되므로 효과가 없습니다.

시사점

기업의 MDM 및 AI 게이트웨이 설정은 보안, 규정 준수, 비용 관리 등의 목적으로 구현되지만, 개발자의 업무 효율성을 저해할 수 있으며, 본문에서 제시하는 우회 방법은 상황에 따라 IT 부서와의 소통 또는 기술적인 조치를 통해 적용될 수 있습니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions