VSCode의 SSH 원격 연결 방식, 보안 우려 제기
원제 VSCode's SSH Agent Is Bananas (2025)
100 포인트댓글 69

Key Point
VSCode의 원격 개발 기능을 자주 쓰는 개발자라면, 자신이 사용하는 도구가 서버에 어떤 방식으로 접근하는지, 어떤 보안 위험을 안고 있는지 알아야 한다.
핵심 요약
- Fly.io의 Thomas Ptacek가 VSCode의 SSH 원격 편집 기능이 보안 관점에서 문제가 있다고 지적했다.
- VSCode는 Emacs의 Tramp 같은 원격 시스템을 지향했으나, 실제로는 Bash 스니펫으로 에이전트와 Node 바이너리를 다운로드하는 방식을 채택했다.
- 이 에이전트는 포트 포워딩된 SSH를 통해 작동하며, VSCode 프론트엔드와 WebSocket 연결을 수립한다.
- WebSocket 프로토콜은 파일시스템 탐색, 파일 편집, 셸 PTY 프로세스 실행, 자체 지속화 등이 가능하다.
- 저자는 원격 서버에서 이 방식으로 편집하는 것을 우려스럽고, 프로덕션 인시던트 중에는 매우 위험하다고 평가했다.
- Tramp는 원격 연결에서 Bourne 셸 명령만 실행하는 '최소한의 접근'을 따르지만, VSCode는 훨씬 광범위한 권한을 가진 에이전트를 설치한다는 게 핵심 차이다.