마이크로소프트 컴파일 HTML 도움말(Microsoft Compiled HTML Help, 약칭 CHM)은 마이크로소프트가 개발한 독자적인 온라인 도움말 파일 포맷이다. 1997년 윈도우 98 및 인터넷 익스플로러 4.0과 함께 도입되었으며, 기존의 윈도우 헬프(WinHelp, .hlp) 포맷을 대체하기 위해 설계되었다.
주요 특징
- 파일 구조: HTML 페이지, 이미지, 인덱스, 목차(TOC), 전체 텍스트 검색 인덱스 등을 단일 압축 파일(.chm)로 묶어 배포한다. 압축 알고리즘으로 LZX가 사용되어 파일 크기를 줄인다.
- 뷰어: 윈도우 운영체제에 기본 내장된 'HTML 도움말 실행 프로그램(HH.EXE, HtmlHelp.exe)'을 통해 열람한다.
- 기능: 목차 탐색, 색인 검색, 전문 검색, 즐겨찾기, 히스토리 관리 등 표준적인 도움말 뷰어 기능을 제공하며, HTML과 CSS, 자바스크립트 등 웹 기술을 기반으로 콘텐츠를 작성할 수 있다.
- 작성 도구: 마이크로소프트에서 제공하는 'HTML 도움말 워크샵(HTML Help Workshop)'이나 서드파티 저작 도구(RoboHelp, HelpNDoc, Sandcastle 등)를 사용하여 제작한다.
보안 이슈 및 변화 CHM 포맷은 HTML과 스크립트 실행이 가능하다는 특성상, 악성 코드 유포나 크로스 사이트 스크립팅(XSS) 등의 보안 취약점 공격 벡터로 악용된 사례가 다수 존재한다. 이에 따라 마이크로소프트는 윈도우 XP 서비스 팩 2(SP2)부터 '정보 기술자 보안 업데이트(Itanium Security Update)' 등을 통해 네트워크 공유 폴더나 신뢰할 수 없는 영역에서 CHM 파일을 열 때 콘텐츠 표시를 제한하는 보안 강화 조치를 시행했다.
현황 윈도우 비스타 이후 마이크로소프트는 새로운 도움말 플랫폼인 '마이크로소프트 도움말 2.x(Microsoft Help 2.x)' 및 '마이크로소프트 도움말 뷰어(Microsoft Help Viewer)'를 비주얼 스튜디오 문서 등에 도입했으나, CHM은 호환성과 제작 용이성 덕분에 윈도우 11을 포함한 최신 윈도우 버전에서도 여전히 지원되며, 서드파티 소프트웨어의 매뉴얼 배포 형식으로 광범위하게 사용되고 있다.