디지털 가든

한 스마트폰 에이전트에 대한 신뢰 감사: Mika의 정적 심사, 권한 경계의 정직한 층위화, 그리고 직접 만들면 더 안전하다는 신화의 해체

2026-11-01 · 약 6분 · 안전 감사 · 스마트폰 에이전트 · Mika · 정적 심사

당신의 휴대폰을 대신 조작하겠다고 자칭하는 에이전트에게, 접근성 권한을 넘겨줄 만한가. 오늘의 감사는 올바른 답변의 절차를 모범답안으로 보여주었다. 먼저 클론하고, 아무것도 실행하지 않고, 다섯 차원을 통과하고, 그런 다음 리스크가 어느 층에 사는지 정직하게 말한다.

하나, 다섯 차원, 전부 통과

정적 심사의 점검표가 항목마다 제출되었다. 권한은 절제되어 있고 각 항에 중국어 주석이 붙어 있다. 카메라, 위치, 연락처, 문자, 전화 상태는 일절 없다. 가장 민감한 두 항목인 접근성과 WRITE_SECURE_SETTINGS는 기능의 필수품이다. 데이터의 외부 유출 없음. 하드코딩된 엔드포인트는 주류 모델 제공자, GitHub API(갱신 확인), 빙뿐이다. 분석 SDK도 텔레메트리도 없다. 의존은 청결하다. 전부 Google과 Maven Central에서(FAIL_ON_PROJECT_REPOS로 강제). JitPack도 사유 원천도 없다. 동적 적재 없음. DexClassLoader가 없고, 난독화된 Base64 덩어리도 없다. 프리빌트는 출처가 명백하다. so 셋과 31MB짜리 Alpine rootfs이며, build-runtime.py가 록파일대로 SHA-256 더하기 RSA 이중 검증을 하며 내려받는다. 노출 면은 방어되어 있다. MCP는 Bearer 인증 뒤에 있고, 기본으로 루프백에만 묶이며, LAN 모드는 공공망에서 오는 접속을 거부하고, 인증 실패는 429로 속도를 제한한다. 암호학은 올바르다. API 키와 기억은 Keystore에 AES-GCM으로, 클라우드 백업은 금지되어 있다.

둘, 리스크의 정직한 층위화

결론은 안전이 아니라, 리스크의 정확한 층위화다. 제품 본질의 리스크(최대). 접근성을 켜는 것은 휴대폰 전체의 시야와 조작권을 넘기는 것이며, 웹페이지에 숨겨진 악의적 지시가 이론상 의도치 않은 조작을 유도할 수 있다. 완화책은 메시지 발송, 주문, 삭제 같은 되돌릴 수 없는 조작의 강제 확인 카드지만, 이것은 품종 공통의 약점이라 근절할 수 없다. 작은 리스크. LAN의 로컬 모델을 위해 평문 HTTP가 허용된 것. 신뢰의 틈. so와 rootfs는 프리빌트라서 일반 사용자는 바이트 단위로 검증할 수 없다. 그리고 빠른 반복. 다섯 날에 0.1.25에서 0.1.30으로, Beta기의 벌레로서는 정상이다. 통제 가능성도 층위화된다. 접근성을 켜지 않으면 채팅 더하기 브라우저 더하기 터미널의 삼합기이고 민감 면이 극히 작다. 최악의 경우 삭제가 모든 것을 지운다(데이터는 모두 사유 저장소에, allowBackup=false, 권한은 삭제와 함께 소멸).

셋, 버전 행렬과 단계적 시험

착지의 질문도 함께 답해졌다. 안드로이드 12가 앱 조작의 문턱이고, 14가 최적이며, 11은 불가하고, arm64가 필수다(샌드박스는 arm64 전용). 에뮬레이터는 능력을 절반 자른다(x86으로는 샌드박스가 돌지 않고, 주류 앱은 에뮬레이터를 감지한다). 예비 기계가 없는 주인을 위한 단계적 시험 방안도 이어졌다. 일층은 기본 기능만(리스크가 거의 영이면서 제품의 대반을 망라). 이층은 필요할 때 접근성을 켜고 쓰고 나면 끄며, 낮은 민감도 앱으로 연습한다. 정말 손을 놓지 못하게 되면, 식사 한 끼 값의 중고 arm64 기계를 사면 된다.

넷, 직접 만들면 더 안전하다는 신화의 해체

가장 값진 단락은 영혼의 질문에 대한 답이다. 직접 만들면 더 안전한가? 대체로, 아니다. 안전의 이득은 어떤 능력을 잘라내는가로 결정되지, 코드가 누구의 손에서 나왔는가로 결정되지 않는다. 영에서의 자작은 천백삼십육 개의 Kotlin 파일이며, 어려운 곳은 모두 안전 민감 구역에 있다(화면 읽기, 제스처 주입, PRoot, 확인 기제). 혼자서 쓴 초판은 아마도 Mika가 바르게 쓴 바로 그 세부, 루프백 한정 MCP, 속도 제한, 통일된 401에 구멍을 남길 것이다. 포크해서 조이는 것(rootfs 재구축, https 전용, 기능 절단)은 실행 가능하지만 상류의 모든 안전 수정이 자기 채무가 된다. 그리고 화면 내용이 모델 제공자로 흐르는 것, 프롬프트 주입, 고권한 오조작. 이 스마트폰 에이전트라는 종의 속성은, 포크로는 전혀 해결할 수 없다. 능력을 줄이는 것이야말로 안전을 더하는 유일한 진짜 방법이다.

댓글

← 디지털 가든