"업데이트 채널은 사용자 기계로 곧장 이어지는 관이야. 거기 흐르는 걸 서명해. 안 그러면 공격자의 꿈을 대신 지어준 거야."
updater가 하는 일
updater 플러그인은 내보낸 앱이 스스로 새 버전을 확인하고 받아서 설치하게 해줘. 스토어를 거칠 필요 없이. 앱이 네가 띄워둔 엔드포인트를 주기적으로 확인하고, 버전을 비교하고, 더 새 게 있으면 받아서 적용해. 직접 배포하는 데스크톱 앱한테는, 모든 사용자한테 다시 받으라고 하지 않고도 고친 걸 밀어줄 수 있는 방법이야.
믿음의 뿌리는 서명이야
여기가 틀리면 안 되는 부분이야. 업데이트는 곧 사용자 기계에서 실행될 바이너리니까 암호학적으로 서명돼 있어야 해. tauri signer generate로 키 쌍을 만들어. 공개 키는 tauri.conf.json에 들어가서 앱에 박히고, 비공개 키는 릴리스할 때 업데이트 번들에 서명해. 앱은 설치하기 전에 번들 서명을 자기 안에 박힌 공개 키로 검증하고. 그러니까 공격자가 네 업데이트 서버를 장악해도 악성코드를 못 밀어 — 네 비공개 키가 없으니 서명 검증에서 걸리거든. 믿음은 서명에 있지 URL에 있는 게 절대 아냐.
매니페스트랑 전체 흐름
네 업데이트 엔드포인트가 최신 버전이랑 플랫폼별 다운로드 URL이랑 서명을 적은 작은 JSON 매니페스트를 내보내. 플러그인이 그걸 가져와서 업데이트가 필요한지 판단하고, (맞는 capability가 있으면) 받아서 설치해. 사용자 경험은 네가 정해. 조용히 백그라운드에서 업데이트하든, 물어보고 확인받든. 어느 쪽이든 그 비공개 서명 키만은 앱의 목숨줄처럼 지켜 — 실제로 그게 목숨줄이니까.