"Tauri에서 할 수 있는 제일 위험한 짓은 권한 가진 창을 남의 웹사이트로 가리키는 거야."
원격 콘텐츠는 창의 권한을 물려받아
창은 네 번들 프론트엔드를 로드해 — 네가 짜고 믿는 코드. 창을 외부 URL(WebviewUrl::External)로 가리키는 순간, 네가 통제 못 하는 코드를 돌리는 거고, 기본적으로 Tauri는 그걸 의심으로 대해. 위험은 창에 capability를 부여하고 동시에 원격 콘텐츠를 로드하게 두는 거야: 이제 원격 페이지(나 거기 주입된 뭐든)가 네 네이티브 command를 부를 수 있어. 'capability 가진 창'이랑 '원격 콘텐츠 보여주는 창'을 피해야 할 조합으로 대해. 원격 콘텐츠를 꼭 로드해야 하면, 그 창에 절대 최소 capability를 줘 — 이상적으론 0.
capability의 remote 컨텍스트
capability는 origin 인식이야. capability가 자기 permission을 쓸 수 있는 외부 URL을 나열하는 remote 컨텍스트를 지정할 수 있어. 기본적으로 네 부여는 로컬 앱 콘텐츠에 적용되지 임의 원격 origin엔 아냐. 신뢰하는 원격 origin이 command를 쓰게 의도적으로 필요하면, 명시적으로 opt-in 해 — 그리고 와일드카드가 아니라 정확히 한 origin으로 scope해. 기본값(로컬 전용)이 안전한 거고, 넓히는 건 의식적으로 할 결정이야.
Isolation 패턴: 심층 방어
높은 보증이 필요한 앱엔 Tauri가 isolation 패턴을 제공해: 네 프론트엔드랑 코어 사이에 앉아 모든 IPC 메시지가 Rust에 닿기 전에 보는, 작고 별개인 샌드박스 앱. 그걸로 메시지를 검증하거나 sanitize할 수 있어 — 메인 프론트엔드가 뚫려도 마지막 체크포인트야. config에서 보안 패턴을 자기 디렉터리랑 함께 isolation으로 설정해 켜. 항상 필요하진 않은 추가 세팅이지만, 민감 데이터 다루는 앱엔 의미 있는 추가 층이야.