Apple 비공개 프레임워크를 AI로 역공학해 macOS 앱을 출시했습니다 — Phosphene 해부
핵심 요약 (TL;DR)
솔로 개발자 한 명이 Apple의 비공개 프레임워크 WallpaperExtensionKit을 Claude Opus 4.6으로 역공학해 macOS Tahoe 동영상 배경 앱 Phosphene을 v1.0 출시했습니다. HN 419점, GitHub 595스타, MIT 라이선스. "몇 시간 동안 minimal steering으로 다른 접근들을 시도하게 두었다"는 본인 증언이 있습니다. 비공개 API라는 "인간 시니어 엔지니어급" 영역의 진입장벽이 무너지고 있다는 신호입니다.
1인이 비공개 프레임워크를 뚫었습니다
Apple의 macOS에는 외부에 공개하지 않는 프레임워크들이 수십 개 살아 있습니다. Aerials 같은 공식 앱만 쓸 수 있는 WallpaperExtensionKit.framework도 그중 하나입니다. 헤더 파일이 없고, 공식 문서가 없고, 함수 시그니처를 추측해 호출해야 하는 영역. macOS 시니어 엔지니어들도 손대기를 꺼리던 자리거든요.
그 자리를 kageroumado라는 솔로 개발자가 Claude Opus 4.6 한 명한테 던져서 풀어냈습니다. 결과물이 Phosphene — 사용자가 가진 MP4·MOV 파일을 데스크톱과 잠금화면 배경으로 재생하는 macOS Tahoe 메뉴바 앱입니다. 시스템 배경화면 picker에 직접 통합됐고, AVSampleBufferDisplayLayer로 gapless 루프, 배터리·온도·창 가림 상태에 따라 자동 일시정지·해상도 다운샘플까지 합니다.
숫자로 보면 더 인상적입니다. Hacker News에서 419점·104댓글, GitHub 595스타·17 fork, Swift 98.4%, MIT 라이선스. v1.0이 5월 21일에 정식 릴리스됐고, 원래는 상업 제품으로 출시할 계획이었다가 "video wallpaper 시장이 생각보다 붐빈다"고 판단해 오픈소스로 풀었다고 README에 적혀 있습니다.
"몇 시간 동안 minimal steering" — 이게 핵심입니다
HN 댓글 중 ventana가 "Claude가 얼마나 steering이 필요했냐"고 묻자 본인이 직접 답한 내용이 있습니다(HN 댓글 기준). "몇 시간에 걸쳐 다른 접근들을 시도하게 두었고, minimal steering이었다"는 표현입니다.
여기서 "minimal steering"이 무슨 뜻인지 풀어볼 필요가 있어요. 보통 우리가 Claude한테 일을 시킬 때는 매 단계마다 "이 함수 결과 보고 다음 뭐 할지 알려줘"식으로 끼어드는 거죠. minimal steering은 그 반대 — 큰 목표("비공개 프레임워크의 picker 진입점 찾아내라")만 주고, 실패한 시도들이 어떻게 흘러가는지를 그냥 보는 모드입니다.
이게 가능한 이유는 두 가지입니다. 첫째, 실패해도 잃을 게 적은 영역(역공학은 어차피 trial-and-error)이고. 둘째, 솔로 개발자라 "내가 잘 모르는 영역이니까 AI가 알아서 뚫어봐라" 하고 던질 심리적 여유가 있는 거예요. 회사라면 "왜 이렇게 토큰을 많이 썼냐"는 질문에 답해야 하지만, 1인이면 "그래서 됐냐"만 답하면 됩니다.
바이브코더가 가져갈 패턴
이 사례가 의미하는 건 "AI한테 통째로 던질 수 있는 영역의 경계가 바뀌었다"는 점입니다. 작년까지 "AI는 잘 알려진 API의 보일러플레이트만 잘 짠다"가 통념이었다면, 지금은 "문서 없는 비공개 API의 runtime introspection 코드까지 minimal steering으로 풀어낸다"가 솔로 출고로 증명된 거죠.
그럼 어디까지 적용할 수 있을까요. 세 가지 조건이 맞으면 비슷한 시도가 됩니다. ① 결과를 즉시 검증할 수 있어야 합니다(Phosphene은 "빌드 → 데스크톱 배경에 영상 깔리는지" 확인이 즉시 가능). ② 실패 비용이 낮아야 합니다(crash 나도 macOS가 살아 있음). ③ 본인이 도메인을 모르거나, 안다면 시간 투자 가치가 없는 영역이어야 합니다.
iOS·macOS·Android의 비공개 API, 게임 엔진의 내부 hook, 레거시 바이너리 분석, 폐쇄형 IoT 디바이스 통신 프로토콜 — 이런 자리들이 다 비슷한 조건입니다. 한 번쯤 "이거 만지면 좋겠는데" 했다가 미뤘던 영역이 있다면, 한 번은 Claude Opus 4.6에 풀어둬볼 만한 시기입니다.
FAQ
Q. 비공개 프레임워크를 쓰면 App Store에 못 올리지 않나요?
맞습니다. Phosphene은 App Store가 아니라 GitHub 직접 배포로 풀렸습니다. 시스템 권한 안내와 함께 사용자가 직접 설치하는 방식이고요. 비공개 API를 쓸 거면 처음부터 App Store 외 배포를 전제로 가야 합니다.
Q. minimal steering으로 풀려는데 토큰 비용이 무섭습니다.
세션 단위로 cost cap을 걸어두고 시작하는 게 안전합니다. Claude Code의 /cost 명령으로 실시간 추적이 가능하고, 본인이 정한 한도($25~50 정도)를 넘으면 강제로 새 접근으로 갈아타는 식의 운영이 권장됩니다.
Q. 결과물이 작동은 하는데 코드를 이해 못 합니다. 어떡하죠?
이게 minimal steering의 진짜 비용입니다. 작동하는 코드는 받았지만 "왜 이 함수가 호출되는지" 본인이 모르는 상태가 됩니다. 출시 전에 Claude한테 다시 "이 코드를 line-by-line 설명해줘" 시켜서 본인이 이해 가능한 수준까지 끌어올리는 단계를 별도로 잡는 게 좋습니다.
소스: https://news.ycombinator.com/item?id=48215979 / https://github.com/kageroumado/phosphene
댓글 0
아직 댓글이 없습니다