무슨 일이 있었나
obsidian-tc의 경로 ACL은 목록 조회만 제한하고 직접 경로 읽기는 제한하지 않습니다: readPaths/writePaths가 정의되지 않으면 모든 경로가 허용되며, .obsidian/.git/.trash 제어 디렉터리는 디렉터리 열거 중에만 차단됩니다. 인증된 호출자는 .obsidian/plugins/*/data.json과 같은 제어 파일을 직접 가져와 볼트 내부에 저장된 플러그인 API 키와 Obsidian Sync 비밀번호를 얻을 수 있습니다.
왜 중요한가
볼트 인접 제어 파일에는 AI 메모 에이전트가 일반적으로 접촉하지 않는 장기 보안 비밀값(동기화 비밀번호, 플러그인/공급자 키)이 자주 보관됩니다. 이 결함을 통해 유효한 토큰을 가진 모든 에이전트는 볼트 생태계 자체가 의존하는 자격 증명을 수집할 수 있습니다.
공격 경로
readPaths/writePaths 설정이 정의되지 않으면 모든 경로가 허용됩니다; strictReadDefault는 직접 요청 경로를 보호하지 않습니다; .obsidian, .git 및 .trash 제어 디렉터리는 열거 중에만 제외되며 직접 파일 요청 시에는 제외되지 않습니다. 인증된 호출자는 .obsidian/plugins/*/data.json을 읽어 플러그인 API 키와 Obsidian Sync 비밀번호를 탈취합니다.
영향받는 시스템
obsidian-tc (The-40-Thieves) < 1.3.1 (경로 ACL 적용)
완화 방안
제어 디렉터리를 기본적으로 거부하고 직접 요청에 strictReadDefault를 적용하는 obsidian-tc 1.3.1(커밋 74de320ddea855e1dec47d67beabe88491149dab; PR #73)로 업그레이드하세요.