왜 우리는 아직도 Markdown을 사용하고 있는가?
(bgslabs.org)
이 글은 Markdown의 과도한 기능 확장과 문법적 모호성이 초래하는 보안 취약점 및 복잡성 문제를 분석하며, 기술 스택을 선택할 때 도구의 단순함 이면에 숨겨진 잠재적 위험과 유지보수 비용을 신중히 고려해야 함을 강조합니다.
이 글의 핵심 포인트
- 1Markdown은 '최소한'의 언어를 지향하지만, 현실적으로 인라인 HTML 사용이나 다양한 문법 변형으로 인해 복잡성이 증가한다.
- 2동일한 시각적 출력을 위한 여러 Markdown 문법(예: **bold** vs. __bold__)은 파싱의 모호성을 야기하고 개발자에게 혼란을 준다.
- 3Markdown의 복잡한 파싱 로직은 ReDoS(Regular Expression Denial of Service)와 같은 보안 취약점을 초래하며, 'markdown-it' 라이브러리에서 CVE-6.9 심각도 취약점이 발견되기도 했다.