"이 세 플러그인이 네 앱이 사용자 기계로 손을 뻗는 자리야 — 그래서 제일 조심해야 할 자리이기도 하고."
fs: 파일 읽고 쓰기
fs 플러그인은 프론트엔드에 파일 접근을 열어줘 — readTextFile, writeTextFile, readDir 같은 것들 — 단, 네 capability scope가 허락한 경로 안에서만(security 트랙에서 배운 게 여기서 살로 붙는 거야). 방식은 이래. 읽기랑 쓰기를 $APPDATA나 사용자가 직접 고른 폴더로 좁히고, 디스크 전체는 절대 열지 마. fs는 허술하게 좁힌 scope가 그대로 취약점이 되는 플러그인이라, 제일 빡빡하게 조여야 할 대상이야.
dialog: 네이티브 파일 피커랑 다이얼로그
dialog 플러그인은 진짜 OS 다이얼로그를 띄워. open(파일이나 폴더 고르기), save(다른 이름으로 저장), 그리고 message/ask/confirm 같은 메시지 다이얼로그들. fs랑 궁합이 아주 좋아. 사용자가 다이얼로그로 파일을 직접 고르게 하면 돌아오는 그 경로는 사용자가 의식하고 고른 거잖아 — 파일시스템 전체를 열지 않고도 기본 scope 너머 접근을 주는, 자연스럽고 안전한 방법이야.
shell: 열기랑 실행 — 조심히
shell 플러그인(이랑 그것만 떼어낸 opener 플러그인)은 URL이나 파일을 사용자 기본 앱으로 열 수 있고, 프로세스도 실행할 수 있어. URL 열기는 위험이 낮아. 근데 아무 명령이나 실행하게 하는 건 이 도구상자에서 제일 위험한 권한이야. 셸 실행을 열어줄 거면 정해진 명령 하나로 딱 좁혀 — 프론트엔드가 명령 문자열을 마음대로 넘기게 두는 건 절대 안 돼. 링크만 열면 되는 거면 셸 실행 전체보다 opener를 골라. 더 작고 더 안전한 허락이야.