← 블로그로 돌아가기

터미널에 명령어를 붙여넣기 전, 버전과 보호 기능을 확인한다

목차 · 원하는 부분으로 이동

붙여넣기 경고가 없다고 명령어가 안전한 것은 아니다. 터미널 업데이트와 명령어 내용 확인은 따로 해야 한다. Ghostty 1.4의 수정 사항이 그 차이를 보여 준다.

이번 업데이트에서 달라진 점

Ghostty는 10월 27일 1.4.0을 공개했다. 이 버전은 붙여넣기 보호 기능의 결함을 수정했다. 1.3.1 이하 버전이 해당 보안 권고의 대상이다.

특정 입력 환경에서는 줄바꿈 역할을 하는 문자를 놓쳤다. 그 결과 확인 창 없이 붙여넣은 명령어가 실행될 수 있었다. 사용자가 악성 텍스트를 복사해 붙여넣어야 발생하는 문제다.

모든 셸의 모든 붙여넣기에 해당하는 문제는 아니다. 일반 대화형 Bash·Zsh·Fish의 기본 설정은 영향을 받지 않는다. 이들은 붙여넣은 입력을 구분하는 방식을 기본으로 사용한다.

개발팀은 이 결함을 막는 설정상의 대안은 없다고 밝혔다. 보호 옵션만 켜고 구버전을 계속 쓰는 것으로 해결되지 않는다. 공식 보안 권고

보호 기능이 확인하는 범위

Ghostty의 붙여넣기 보호 기능은 위험해 보이는 입력을 확인한다. 예를 들어 줄바꿈이 섞인 텍스트의 우발적 실행을 막는 데 쓰인다. 명령어가 어떤 파일을 지우거나 어디로 연결할지 검증하지는 않는다.

또한 실행 중인 프로그램에 따라 붙여넣기 처리 방식이 다르다. ‘브래킷 붙여넣기’는 붙여넣은 입력의 시작과 끝을 구분한다. 이 모드는 터미널 안에서 실행 중인 프로그램이 켠다.

Ghostty는 기본 설정에서 이 방식의 붙여넣기를 안전하게 취급한다. 따라서 경고 창이 안 뜨는 경우도 있다. 이는 명령어 내용에 대한 안전 판정과는 다르다. 설정 문서

세 단계는 서로 대신할 수 없다. 버전 업데이트로 알려진 결함을 고치고, 붙여넣기 보호로 위험해 보이는 입력을 확인하고, 명령어의 출처·권한·변경 대상·연결 주소는 직접 살핀다.
  1. 1. 버전 업데이트알려진 결함 수정
  2. 2. 붙여넣기 보호위험해 보이는 입력 확인
  3. 3. 명령어 내용 확인출처 · 권한 · 변경 대상 · 연결 주소

업데이트는 알려진 결함을 고친다. 보호 기능은 우발적 실행을 줄인다. 실행할 내용은 별도로 확인한다.

실행 전 확인 순서

  1. 설치한 버전을 확인한다. Ghostty 1.3.1 이하라면 업데이트부터 검토한다. 설치에 사용한 공식 배포 경로에서 지원 환경도 확인한다.
  2. 보호 기능의 설명을 읽는다. 아래 명령은 Ghostty 1.4에서 설정 설명을 확인하는 방법이다. 명령어 실행 결과가 안전하다는 검사 도구는 아니다.
  3. 복사한 내용의 출처와 동작을 확인한다. 긴 명령은 바로 실행하지 말고 텍스트 편집기에서 읽는다. 관리자 권한, 삭제 대상, 다운로드 주소를 특히 확인한다.
  4. 이해하지 못한 부분은 실행을 멈춘다. 경고 창에서 승인 버튼을 누르는 일을 검토의 대체 수단으로 삼지 않는다.
ghostty +explain-config clipboard-paste-protection

이 명령은 설정을 변경하지 않고 설명을 표시한다. +explain-config는 1.4에 추가된 기능이다. 1.4 변경 기록

운영체제별 확인 사항

macOS에서는 텍스트를 끌어놓는 경로도 점검 대상이다. 1.4는 이 경로가 붙여넣기 보호를 건너뛰던 문제도 수정했다. 단축키로 붙여넣을 때만 주의하는 것으로 범위를 좁히지 않는다.

Linux는 업데이트 전 배포판의 라이브러리 조건을 확인한다. 1.4의 GTK 요구 버전은 4.18, libadwaita는 1.7이다. 공식 변경 기록에 따르면 Ubuntu 24.04 LTS는 이 조건에 못 미친다.

지원 환경이 맞지 않으면 무리하게 설치를 진행하지 않는다. 공식 설치 안내에서 해당 환경의 배포 방식을 먼저 확인한다. 버전별 요구 조건

정리

  • 구버전의 결함은 보호 설정만으로 해결되지 않는다.
  • 경고가 없다는 사실은 명령어의 안전성을 보장하지 않는다.
  • 업데이트와 실행할 내용 확인을 각각 수행한다.

출처