왜 우리는 아직도 Markdown을 사용하고 있는가?
(bgslabs.org)이 글은 Markdown, 특히 CommonMark가 가진 근본적인 문제점을 지적하며, 단순한 문서 작성을 위한 최소한의 마크업 언어임에도 불구하고 과도한 기능 확장과 모호성으로 인해 오히려 개발자들에게 복잡성과 보안 취약점을 초래한다고 주장합니다. 필자는 마크다운의 문법적 모호성과 인라인 HTML 사용의 필요성을 비판하며, 차라리 처음부터 HTML을 사용하는 것이 낫다고 역설합니다.
- 1Markdown은 '최소한'의 언어를 지향하지만, 현실적으로 인라인 HTML 사용이나 다양한 문법 변형으로 인해 복잡성이 증가한다.
- 2동일한 시각적 출력을 위한 여러 Markdown 문법(예: **bold** vs. __bold__)은 파싱의 모호성을 야기하고 개발자에게 혼란을 준다.
- 3Markdown의 복잡한 파싱 로직은 ReDoS(Regular Expression Denial of Service)와 같은 보안 취약점을 초래하며, 'markdown-it' 라이브러리에서 CVE-6.9 심각도 취약점이 발견되기도 했다.
- 4Markdown 파서를 구현하려면 HTML 파서도 함께 필요하게 되어, 사실상 HTML을 직접 사용하는 것보다 더 많은 개발 부담을 줄 수 있다.
- 5필자는 Markdown이 단순한 'monkey brained developer'의 욕구를 충족시키기에는 불충분하며, 결국 $\LaTeX$ 같은 추가 기능을 요구하게 된다고 비판한다.
왜 중요한가
배경과 맥락
업계 영향
한국 시장 시사점
이 기사는 Markdown의 '단순함' 뒤에 숨겨진 복잡성과 위험성을 명쾌하게 지적하며 스타트업 창업자들에게 중요한 질문을 던집니다. 많은 스타트업이 Markdown을 기본 도구로 채택하는 이유는 빠른 개발, 쉬운 학습 곡선, 그리고 텍스트 기반의 간결함 때문입니다. 그러나 이 글은 그 선택이 장기적으로 기술 부채와 보안 취약점을 야기할 수 있음을 경고합니다. 특히 사용자 생성 콘텐츠를 다루는 플랫폼의 경우, Markdown 파서의 불완전성이나 취약점은 ReDoS와 같은 서비스 거부 공격으로 이어질 수 있으며, 이는 치명적인 비즈니스 리스크입니다.
댓글
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.