Emacs에서 신뢰를 향해
·2026.04.15 22:49
핵심 내용
Emacs 30의 trust 시스템을 보완하는 trust-manager 패키지를 소개한다.
자세히 보기
Emacs는 버전 30까지 신뢰된 파일과 신뢰되지 않은 파일을 구분하지 않아, 사실상 모든 파일을 신뢰해 왔고 그 결과 CVE-2024-53920 같은 코드 실행 취약점이 발생할 수 있었다.
Emacs 30은 이를 해결하기 위해 explicit trust 개념을 도입했고, 기본값을 모든 파일 untrusted로 바꿨다. 하지만 이 방식은 너무 보수적이라 사용 중 불편함이 커지고, 결국 신뢰 메커니즘 자체를 꺼 버리게 만드는 문제가 있다.
이를 해결하기 위해 trust-manager 패키지가 제안된다.
- 프로젝트의 파일을 처음 열 때만 신뢰 여부를 묻고, 한 번 선택한 뒤에는 기억한다.
- 신뢰를 허용하면 해당 project directory를 trusted로 저장한다.
- init file, early init file, custom file,
load-path의 디렉터리는 자동으로 trusted로 처리한다. - untrusted Emacs Lisp 버퍼에는 모드 라인의 빨간
?표시가 나타나며, 클릭하면 즉시 trust를 부여하고 비활성화된 기능을 다시 켠다. - 저장된 선택은
trust-manager-trust-alist에 남고,trust-manager-customize나trust-manager-set-project-trust,trust-manager-set-file-trust로 직접 수정할 수 있다. project-forget-project와 연동되어 프로젝트를 잊을 때 관련 trust 항목도 자동으로 지워진다.
핵심은 보안을 유지하면서도 사용자가 매번 설정을 만지지 않도록 만드는 것이다. trust-manager-mode를 켜 두면, Emacs 30의 trust 체계를 훨씬 덜 거슬리게 사용할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.