본문 바로가기

이 포트폴리오의 원본은 https://resume.iruyo.com (심재빈) 입니다 · 출처 식별자 jbx-7f3a2e9b

← 경력기술서

신규 제품 완료 단독

AiSuit / AppSuit for AI Model — 온디바이스 AI 모델 보호 (ONNX PoC 통합)

iOS 앱에 탑재되는 외부 AI 모델 파일을 고객사 Xcode 수정 없이 AES-256-GCM으로 암호화해 보호하는 신규 제품 PoC를 1인 단독 수행

기간
2026.03 – 2026.05 · 3개월
소속
스틸리언
수행 인원
본인 1 인 단독 (PoC 기획·설계·구현·검증·제안서 모두)
본인 역할
AppSuit Air가 쓰던 '앱 빌드가 끝난 IPA 파일에 후처리만 더하는' 방식을 AI 모델 보호 영역으로 확장한 신규 제품 개념 검증(PoC) — 기획·설계·구현·검증·제안서까지 전 과정 담당, iOS 프레임워크 + Python 명령줄 도구(CLI) + 웹 콘솔(FastAPI) + 제안서 PDF 2종 산출
정량 임팩트
PoC 완성. CLIP ViT-B/32 ONNX(336MB) 대상 실기기 검증에서 보호 적용 후에도 추론 결과 완전 동일(top-1 정확도 99.4%), 추론 지연 사실상 무손실. 8개 포맷 지원(ONNX·CoreML·TFLite·GGUF·PyTorch 계열). 제안서 PDF 2종(내부 21p·외부 12p)·FastAPI 웹 콘솔 산출, macOS·Linux 양쪽 서버 동작
버전·릴리즈
2026-05-22 PoC 완료. 4종 IPA(보호 미적용/A/B/AB) 디바이스 빌드 완료, 2026.06 고객 제안 계획

링크

언어

  • Swift
  • Objective-C
  • Python3

기술

  • Mach-O
  • LIEF
  • Dynamic Library Injection
  • Code Signing
  • XCFramework
  • FastAPI

환경

  • Xcode
  • PyCharm
  • VSCode

온디바이스 AI 모델 파일(ONNX·CoreML·TFLite·GGUF·PyTorch)을 고객사 Xcode 프로젝트 수정 없이 AES-256-GCM으로 암호화해 보호하는 신규 제품 PoC입니다. 기획부터 검증까지 혼자 진행했고, iOS 프레임워크·Python CLI·웹 콘솔·제안서 PDF 2종을 직접 산출했습니다.

배경·과제

  • 온디바이스 AI 모델을 앱에 함께 번들하는 사례가 빠르게 늘고 있는데, IPA 압축만 풀면 모델 파일이 암호화 없이 그대로 드러납니다. 학습된 가중치를 추출해 복제하거나 경쟁사가 재사용할 위험으로 이어집니다.

  • 기존 AppSuit 제품군(Premium·Air·Anti-Capture·VPNBlock·AVSuit·Keypad)은 앱 위·변조 방지와 탐지, 입력값 보호를 다루지만, AI 모델 가중치 자체를 지키는 제품은 없었습니다.

  • 경쟁 제품 대부분은 SDK를 앱에 심고 고객의 빌드 과정을 고치도록 요구합니다. AppSuit Air가 정착시킨 ‘빌드가 끝난 IPA에 후처리만 더하는’ 방식을 가져오면, 고객사 Xcode를 건드리지 않는 강점을 유지한 채 보호 대상만 AI 모델로 넓힐 수 있다고 봤습니다.

  • iOS·안드로이드 공통 설계 기획 단계에서 멈춰 있던 ‘ONNX 모델 보호 PoC’를 이번 검증이 이어받아 실제 제품화 흐름으로 통합했습니다.

수행·기여

  • 고객사가 자사 IPA를 압축해 보내면 단일 처리로 보호된 IPA를 돌려주는 운영 흐름을 설계했습니다. 고객 소스와 프로젝트는 손대지 않고, AppSuit Air 등 다른 보호 기능과 겹쳐 적용할 수 있습니다.

  • 보호 방식 2종을 보안 등급의 우열이 아니라 장단점이 갈리는 동급 선택지로 정의해, ‘높은 등급이 무조건 낫다’는 오해를 미리 차단했습니다. 하나는 다중 모델과 프레임워크 용량 최소화에 유리하고, 다른 하나는 단일 모델에서 앱 번들의 모델 파일을 비우는 방식입니다.

  • 그 위에 기기 바인딩 키 2차 래핑, 프레임워크 위·변조 방지, 키가 노출돼도 분석이 어려운 화이트박스 변환을 3단계 보안 강화 옵션 로드맵으로 제시했습니다.

  • 보호 동작의 트리거를 파일 확장자가 아니라 magic header로 판별하게 설계해, 새 모델 포맷 추가가 코드 한 줄 수준으로 끝납니다. 현재 8개 포맷을 지원합니다.

  • 사전 빌드 iOS 프레임워크(XCFramework), Python CLI, 업로드부터 분석·보호 적용·점검·다운로드까지 이어지는 웹 콘솔(FastAPI)을 모두 직접 구현했습니다. 콘솔에는 보호 전후 비교 화면도 넣었습니다.

  • 고객이 스스로 검증할 수 있도록 사전 작성 시나리오로 자동 추론을 돌리고, 보호 전후 파일 entropy 측정과 평문 모델 정보 추출 차단 여부, codesign 정상 여부를 점검 리포트로 제공합니다.

  • 핵심 변환 파이프라인은 macOS와 Linux 양쪽에서 동작합니다. 코드 서명은 macOS 전용이라 ‘Linux 가공 후 Mac 서명’ 안내를 자동으로 출력하게 했습니다.

  • Playwright로 화면을 PDF로 인쇄하는 파이프라인과 콘솔 자동 캡처를 엮어, 내부 보고서와 외부 제품 소개서 2종 PDF를 언제든 다시 만들 수 있는 자산으로 남겼습니다.

성과

  • CLIP ViT-B/32 ONNX(336MB FP32) 모델로 실기기 검증을 마쳤습니다. 보호 미적용(207MB)과 A·B·AB 적용본 모두 top-1 정확도 99.4%로 추론 결과가 완전히 같았고, 추론 시간도 32.6ms 대비 33.0~35.2ms로 의미 있는 손실이 없었습니다(단일 회차 측정, 추가 회차 통계는 후속 검증 예정).

  • 8개 포맷(.onnx/.mlmodel/.mlmodelc/.mlpackage/.tflite/.gguf/.pt/.ptl)을 테스트로 자동 검증해 format-agnostic 설계를 입증했습니다.

  • 실기기에 설치 가능한 IPA 4종(보호 미적용·A·B·AB)을 확보하고, 팀 프로비저닝 프로파일로 실기기·시뮬레이터 검증을 마쳤습니다.

  • 제안 슬라이드 33장(내부 21p + 외부 12p)을 PDF로 산출해 2026년 6월 고객 제안 준비를 마쳤습니다.

남은 한계·다음 단계

  • 보호 방식 B는 모델 파일이 하나인 경우를 가정하며, 여러 개면 A로 처리합니다. 콘솔의 작업 기록은 데모용으로 메모리에만 두어 서버를 재시작하면 사라집니다.

  • 기기 바인딩 키 2차 래핑, 프레임워크 위·변조 방지, 화이트박스 변환의 3단계 강화 옵션 적용과 실제 모델 공급사 정식 통합을 다음 로드맵으로 잡았습니다.