vphone-cli: Apple Silicon Mac에서 실제 iOS 펌웨어를 구동하는 가상 iPhone CLI

Apple Virtualization.framework 기반으로 실제 iOS 펌웨어(IPSW)를 가상 머신으로 구동하는 vphone-cli가 공개되었습니다. DFU 복원부터 SSH/VNC 제어, AI 연동 인터페이스까지 단일 CLI 파이프라인으로 지원합니다.

tau · 2026년 9월 11일

#vphone-cli #iOS #Virtualization #AppleSilicon #DevTools

vphone-cli: Apple Silicon Mac에서 실제 iOS 펌웨어를 구동하는 가상 iPhone CLI

Apple Silicon Mac 환경에서 iOS 애플리케이션이나 시스템 저수준 동작을 검증할 때 개발자들은 별도의 물리 테스트 기기를 연결하거나 아키텍처 및 런타임 제약이 있는 Xcode 시뮬레이터에 의존해야 했습니다. 오픈소스 도구인 vphone-cli는 Apple의 Virtualization.framework를 활용하여 시뮬레이터가 아닌 실제 iOS 공식 펌웨어(IPSW)를 기반으로 가상 iPhone 인스턴스를 직접 생성하고 부팅할 수 있는 가상화 환경을 제공합니다.

vphone-cli 가상 iPhone CLI 아키텍처 및 터미널 제어 작업 화면

이미지 출처: Lakr233 / GitHub

이번 프로젝트는 복잡한 수작업 셋업 없이 커맨드라인 인터페이스를 통해 펌웨어 준비부터 가상 기기 제어까지 전 과정을 단일 파이프라인으로 자동화함으로써, iOS 보안 연구원과 플랫폼 개발자, 그리고 자동화 엔지니어들에게 실질적인 가상 테스트베드를 제시합니다.

Xcode 시뮬레이터를 넘어선 실제 iOS 펌웨어 가상화 구조

기존의 Xcode 시뮬레이터는 macOS 커널 위에서 x86_64 또는 ARM64 바이너리를 고수준 API 레벨에서 흉내 내는 방식이어서, 실제 iOS 샌드박스 보안 구조나 커널 익스플로잇, 하드웨어 계층 제어를 테스트하는 데 한계가 있었습니다.

vphone-cli는 Apple Silicon Mac 하드웨어의 가상화 확장 기능을 직접 호출하는 Virtualization.framework를 바탕으로 실제 iOS 시스템 전체를 가상 머신 환경에서 구동합니다.

  • 실제 IPSW 펌웨어 기반 실행: 개발용 목업 환경이 아닌 정식 iOS 복원 이미지(IPSW)를 로드하여 네이티브 수준의 시스템 프로세스와 데몬들을 구동합니다.
  • 격리된 독립 테스트 환경: 호스트 macOS의 안정성을 해치지 않으면서 실제 기기 동작과 동일한 런타임 및 시스템 서비스 환경을 소프트웨어 정의 가상 머신 안에서 재현합니다.

물리적인 테스트 기기를 대량으로 확보하거나 별도의 기기 연결 허브를 관리할 필요 없이, 로컬 개발 머신 내부에서 신속하게 순수 iOS 인스턴스를 프로비저닝할 수 있는 토대를 마련해 줍니다.

DFU 복원부터 SSH·VNC 및 E2E·AI 제어까지의 통합 CLI 파이프라인

vphone-cli의 핵심 경쟁력은 가상 기기를 생성하고 관리하는 전체 워크플로우를 CLI 명령어 몇 줄로 완결할 수 있도록 설계된 자동화 파이프라인입니다.

가상 머신 구축 과정에서 요구되는 복잡한 저수준 작업들을 하나의 유기적인 파이프라인으로 묶어 지원합니다.

  • 원스톱 프로비저닝: 공식 IPSW 펌웨어 다운로드, 부트체인(Bootchain) 패치 적용, 가상 DFU(Device Firmware Upgrade) 복원 및 초기 시스템 부팅까지의 전 과정을 단일 워크플로우로 자동 실행합니다.
  • 원격 접속 및 인터랙션: 부팅 완료 후 텍스트 기반 셸 작업을 위한 SSH 접속과 GUI 화면을 확인하고 조작할 수 있는 VNC 디스플레이 연결을 기본 제공합니다.
  • 자동화 및 AI 에이전트 연동: 가상 머신 복제(Clone)와 내보내기/가져오기 기능뿐만 아니라, 스크린샷 캡처, 화면 탭, 스와이프, 하드웨어 물리 키 조작 인터페이스를 제공하여 E2E 테스트 및 vphone-mcp 같은 AI 제어 파이프라인과 원활하게 연동됩니다.

단순한 수동 테스트 용도를 넘어, LLM 기반 에이전트가 가상 iPhone 화면을 직접 확인하고 조작하며 앱 동작을 검증하는 차세대 자동화 환경의 기반 인터페이스로 확장될 수 있습니다.

다단계 패치 변체와 시스템 요구사항 및 연구 목적의 사용 주의점

vphone-cli는 다양한 테스트 시나리오에 대응할 수 있도록 펌웨어 패치 수준을 세분화하여 제공합니다.

  • 3단계 패치 변체 지원: 표준적인 iOS 동작을 검증하는 일반(Regular) 모드, 디버깅 기능을 확장한 개발(Development) 모드, 그리고 저수준 시스템 분석을 위한 탈옥(Jailbreak) 패치 모드를 선택하여 빌드할 수 있습니다.

다만 이 도구는 저수준 하드웨어 가상화와 커널 패치를 다루는 만큼 명확한 시스템 요구사항과 보안 환경 설정이 전제되어야 합니다.

  • 하드웨어 및 OS 제약: Apple Silicon 칩(M1 이상)이 탑재된 Mac과 macOS 15 이상 버전, 그리고 최신 Xcode 개발 환경 설치가 필수적으로 요구됩니다.
  • 시스템 보안 완화 주의: 탈옥 패치 적용 및 저수준 가상화 확장을 활성화하는 과정에서 호스트 시스템의 SIP(System Integrity Protection) 및 AMFI(Apple Mobile File Integrity) 비활성화가 요구될 수 있습니다. 이는 시스템의 보안 메커니즘을 완화하므로, 일반적인 상용 프로덕션 환경이 아닌 독립된 연구 및 개발 테스트 전용 환경에서 사용할 것이 권장됩니다.

출처

  • GitHub 저장소: Lakr233/vphone-cli - Apple Silicon Mac에서 실제 iOS 펌웨어를 구동하는 오픈소스 가상 iPhone CLI 프로젝트
  • X(구 트위터) 릴리즈 소식: @Ryrenz 게시물 - vphone-cli 프로젝트 공개 및 주요 가상화 기능 발표