기능 개요
클라이언트 사이드 경로 검증만으로는 부족하므로 Rust 백엔드에서 강화된 경로 검증 구현
구현 상세
- tauri-api.ts의 validatePath()는 UX 용도로만 사용
- Rust 백엔드 Command 핸들러에서 모든 경로 요청 검증
- 경로 정규화(Canonicalization) 수행
- symlink 추적 및 정규화
- .. 문자열이 아닌 실제 경로 기반 검증
- 워크스페이스 루트 디렉토리 외부 접근 불가능하도록 강제
- 모든 파일 작업 시 범위 체크:
- 읽기: workspace_path 내부만 허용
- 쓰기: workspace_path 내부만 허용
- 삭제: workspace_path 내부만 허용
- 상위 디렉토리 접근 감지 시 에러 반환
예상 효과
- 클라이언트 변조 공격 방어
- /etc/passwd 등 민감한 시스템 파일 접근 방지
- Path Traversal 공격 완전 차단
- 애플리케이션 보안 단계 강화
관련 파일
- src/tauri-api.ts (line 8)
- src-tauri/src/lib.rs
- src-tauri/src/services/path_validator.rs