OpenThumb 1.0.4 — 디버그 서버 인증 강화
포크 감사에서 남아 있던 마지막 항목(디버그 서버 자체 인증)을 닫습니다.
Security
- 디버그 서버가 loopback 포함 모든 연결에 토큰을 요구합니다. 기존엔 127.0.0.1을 "adb forward = 개발자 본인"으로 간주해 면제했는데, 실제로는 INTERNET 권한을 가진 폰 내 아무 앱이나 loopback 소켓을 열 수 있습니다. 이 RPC는
provider.export(저장된 API 키)·debug.readFile·샌드박스 명령 실행을 노출합니다. adb는run-as로 토큰을 읽을 수 있어 그대로 동작하고, 같이 설치된 앱은 그 권한이 없습니다. 노트8 실측: 인증 없는provider.export→ 401,openthumb-fleet status→ 정상. Access-Control-Allow-Origin: *제거. 폰 브라우저가 연 임의 페이지가 이 RPC를 교차출처로 호출하고 응답까지 읽을 수 있었습니다.
Changed
openthumb-fleet이 단말별 토큰을run-as로 읽어 매 호출에 실어 보냅니다($OPENTHUMB_FLEET_DIR/tokens/에 캐시). 연관배열 대신 파일 — macOS는 아직 bash 3.2라declare -A가 없고set -u에 걸립니다.