EmDash를 소개합니다 — 플러그인 보안 문제를 해결한 워드프레스의 정신적 후속작 (새 탭에서 열림)
EmDash는 24년 된 워드프레스(WordPress)의 구조적 한계를 극복하고 현대적인 웹 환경에 최적화하기 위해 등장한 오픈소스 CMS입니다. 기존 워드프레스의 가장 큰 취약점인 플러그인 보안 문제를 '다이나믹 워커(Dynamic Worker)'를 통한 샌드박스 격리 방식으로 해결했으며, TypeScript와 Astro 프레임워크를 기반으로 설계되었습니다. 이를 통해 서버리스 환경에서 안전하고 빠른 성능을 보장하며, MIT 라이선스를 채택해 개발자들에게 더 높은 자유도를 제공하는 것을 목표로 합니다.
워드프레스의 유산과 현대적 재구성
- 전통의 계승과 한계: 워드프레스는 인터넷의 40% 이상을 점유하며 출판의 민주화를 이루었으나, AWS EC2조차 없던 시절에 설계되어 현대의 서버리스 및 글로벌 분산 네트워크 환경을 충분히 활용하지 못하고 있습니다.
- 현대적 기술 스택: EmDash는 전체 코드가 TypeScript로 작성되었으며, 콘텐츠 기반 웹사이트에 최적화된 프레임워크인 Astro를 기반으로 구동됩니다.
- 서버리스 최적화: 가상 프라이빗 서버(VPS)에 의존하던 방식에서 벗어나, Cloudflare와 같은 서버리스 플랫폼이나 Node.js 환경 어디서든 유연하게 배포할 수 있습니다.
- 완전한 오픈소스: 워드프레스의 코드를 전혀 사용하지 않고 밑바닥부터 새로 작성하여, GPL보다 허용 범위가 넓은 MIT 라이선스를 적용해 생태계 참여를 독려합니다.
플러그인 보안 위기의 근본적 해결
- 직접 접근의 위험성 제거: 워드프레스 취약점의 96%는 플러그인에서 발생하며, 이는 PHP 스크립트가 데이터베이스와 파일 시스템에 직접 접근할 수 있는 구조 때문입니다.
- 다이나믹 워커(Dynamic Worker) 격리: EmDash는 각 플러그인을 독립된 샌드박스(Isolate)에서 실행합니다. 플러그인은 핵심 시스템에 직접 접근할 수 없으며 선언된 범위 내에서만 작동합니다.
- 역량 기반 권한 모델 (Capability-based Model): 플러그인은 매니페스트 파일에 필요한 권한(예:
read:content,email:send)을 명시적으로 선언해야 합니다. 관리자는 설치 전 플러그인이 어떤 권한을 요구하는지 OAuth 승인 과정처럼 명확히 확인할 수 있습니다. - 네트워크 제어: 플러그인은 외부 네트워크 접근이 기본적으로 차단되며, 필요한 경우 특정 호스트네임에 대해서만 접근 권한을 정적으로 부여받아 실행됩니다.
시장 종속성 탈피와 개발자 생태계 혁신
- 신뢰 구조의 변화: 기존 워드프레스는 보안 위험 때문에 마켓플레이스의 수동 검토와 평판에 의존해야 했으나, EmDash는 기술적 격리를 통해 코드 수준에서 신뢰를 보장합니다.
- 비즈니스 유연성: 보안 이슈로 인해 강제되었던 마켓플레이스 종속성과 라이선스 제약에서 벗어나, 개발자들이 자신의 코드를 더 자유롭게 배포하고 상용화할 수 있는 환경을 제공합니다.
- 정적 선언을 통한 자동화: 플러그인의 권한 요구 사항이 정적으로 정의되어 있어, 관리자는 특정 권한을 요구하는 플러그인의 설치를 그룹별로 제한하는 등 정책 기반의 관리가 가능해집니다.
현재 EmDash는 v0.1.0 프리뷰 버전을 공개하고 초기 개발자 베타를 진행 중입니다. 클라우드플레어 계정이나 Node.js 서버에 직접 배포하여 테스트할 수 있으며, 기존 워드프레스의 운영 편의성은 유지하면서도 최신 보안 표준과 성능이 필요한 프로젝트에 강력한 대안이 될 것으로 보입니다.