Skip to content

Feature: Implement backend file system sandboxing with workspace scope checks #425

@0010capacity

Description

@0010capacity

기능 개요

클라이언트 변조 공격으로부터 보호하기 위해 백엔드의 모든 파일 연산에서 워크스페이스 범위 검사 강제 구현

구현 상세

  • Rust 백엔드의 모든 Command 핸들러에 경로 검증 미들웨어 추가
  • 사용자가 지정한 워크스페이스 루트 외부 파일 접근 차단
  • 경로 정규화 및 symlink 분석:
    • std::fs::canonicalize() 사용
    • 정규화된 경로가 workspace_root 내부인지 확인
  • create_file, read_file, delete_file 등 모든 파일 연산에 검사 적용
  • 범위 이탈 시도 시 명확한 에러 메시지 반환
  • 감시 로깅: 범위 이탈 시도 기록
  • 테스트: Path Traversal 공격 시나리오 테스트 추가

예상 효과

  • 민감한 시스템 파일(/etc/passwd, 윈도우 레지스트리 등) 보호
  • 다중 사용자 환경에서 워크스페이스 간 데이터 격리
  • 악의적 클라이언트 공격 완벽 방어
  • 엔터프라이즈 보안 요구사항 충족

관련 파일

  • src-tauri/src/lib.rs
  • src-tauri/src/services/path_validator.rs (강화)
  • src-tauri/src/commands/mod.rs
  • src-tauri/tests/security_tests.rs (신규)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:highHigh priority - needs immediate attention

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions