
최근 "cat readme.txt도 iTerm2에서는 안전하지 않을 수 있다"는 제목의 보안 이슈가 화제가 됐습니다1. 평범한 텍스트 출력조차 위험해질 수 있다는 점에서, macOS 개발자들이 즐겨 쓰는 iTerm2 사용자라면 그냥 넘기기 어려운 이야기입니다.
핵심은 간단합니다. 터미널은 원래 "글자만 보여주는 창"처럼 느껴지지만, modern terminal인 iTerm2는 이미지 표시, 셸 연동, 브라우저, AI 기능, 상태 복원처럼 훨씬 많은 기능을 품고 있습니다2. 편리함이 커진 만큼, 공격 표면도 함께 넓어질 수 있다는 점이 이번 이슈의 본질입니다.
iTerm2는 왜 특히 주목받는가
iTerm2는 macOS 기본 터미널을 대체하는 대표 앱입니다. 탭과 분할창은 기본이고, tmux 연동, 셸 통합, 트리거, 상태바, AI 채팅, 세션 복원 같은 강력한 기능을 제공합니다2. 한마디로 "터미널계의 맥가이버 칼"에 가깝습니다.
문제는 이런 고급 기능이 많을수록 단순한 텍스트 표시기를 넘어선다는 점입니다. 예를 들어 터미널이 특정 제어 시퀀스를 해석하거나, 세션 상태를 저장하고 복원하거나, 외부 동작과 연결될 수 있다면, 공격자는 그 지점을 노릴 수 있습니다. 사용자는 파일 내용을 읽는다고 생각했는데, 실제로는 앱이 그 텍스트를 "명령처럼 의미 있는 신호"로 받아들일 수 있는 거죠.
cat readme.txt가 위험해지는 원리
보통 cat readme.txt는 파일 내용을 그대로 출력하는 가장 단순한 명령처럼 보입니다. 하지만 파일 안에 특수한 이스케이프 시퀀스나 터미널 제어 문자가 섞여 있으면 얘기가 달라집니다. 셸이 아니라 터미널 에뮬레이터가 그 내용을 해석하면서 예상치 못한 동작이 벌어질 수 있습니다.
즉, 위험한 건 cat 자체라기보다 "출력물을 똑똑하게 해석하는 터미널"입니다. 텍스트 파일, 로그, README, 심지어 원격 서버에서 받은 출력도 안전하다고 가정하면 안 됩니다. 겉보기엔 무해한 문자열이 사실은 터미널 기능을 건드리는 입력일 수 있기 때문입니다1.
이건 마치 메모장이라고 생각하고 열었는데, 사실은 버튼이 숨겨진 조종판을 보고 있었던 셈입니다.
이번 이슈가 더 신경 쓰이는 이유
iTerm2는 활발하게 개발되고 있고, 안정판 3.6.9와 베타 3.6.10beta1, 나이틀리 빌드까지 꾸준히 배포되고 있습니다3. 활발한 개발은 장점이지만, 반대로 기능 확장 속도가 빠르면 복잡성도 커집니다.
실제로 최근 이슈 목록에는 임의 명령 실행, 격리 우회, 샌드박스 탈출과 관련된 취약점 보고도 올라와 있습니다4. 물론 모든 사용자가 즉시 위험한 상황에 놓인다는 뜻은 아닙니다. 다만 "터미널 앱은 원래 단순해서 안전하다"는 오래된 감각은 이제 통하지 않는다는 신호로 봐야 합니다.
특히 iTerm2의 세션 복원, 브라우저 통합, AI 연동 같은 기능은 생산성을 크게 높이지만, 보안 관점에서는 검토해야 할 면이 늘어납니다. 강력한 앱일수록 설정과 업데이트 관리가 중요해지는 이유입니다.
iTerm2 사용자라면 이렇게 대응하자
가장 먼저 할 일은 최신 안정 버전으로 업데이트하는 것입니다. iTerm2는 안정판과 테스트판, 나이틀리 빌드를 따로 제공하므로, 특별한 이유가 없다면 안정판 사용이 무난합니다3.
다음으로는 출처가 불분명한 텍스트 파일이나 로그를 무심코 cat 하지 않는 습관이 필요합니다. 민감한 출력은 less -R 같은 도구로 보거나, 제어 문자를 제거한 뒤 확인하는 편이 낫습니다. "텍스트니까 안전하겠지"라는 생각이 가장 위험합니다.
또한 iTerm2의 고급 기능을 모두 켜둘 필요는 없습니다. 자주 쓰지 않는 통합 기능이나 자동 처리 기능은 줄일수록 좋습니다. 생산성 기능은 많을수록 멋져 보이지만, 보안에서는 "안 쓰는 기능이 가장 안전한 기능"인 경우가 많습니다.
시사점
이번 뉴스가 던지는 메시지는 꽤 분명합니다. 이제 터미널은 단순한 검은 창이 아닙니다. iTerm2처럼 강력한 도구는 개발 생산성을 크게 올려주지만, 그만큼 보안 관점에서는 브라우저나 IDE처럼 다뤄야 합니다.
그러니 결론은 이겁니다. iTerm2를 버리라는 뜻이 아니라, 더 이상 "텍스트 출력은 무조건 안전하다"라고 믿지 말자는 것입니다. 특히 cat readme.txt처럼 사소한 행동일수록 경계가 풀리기 쉬우니까요. 편리한 터미널을 쓰는 시대일수록, 우리는 터미널을 더 신중하게 써야 합니다.
참고
1"cat readme.txt" is not safe if you use iTerm2
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
