몇 년 전 만든 WordPress 사이트를 확인해봤습니다. 제가 찾은 내용은 이렇습니다.
Source: Dev.to
“오, 그 사이트 아직도 작동하네.”
클라이언트를 위해 워드프레스 사이트를 만든 적이 있다면 그 느낌을 알 것이다. 3년 전에 전달한 사이트를 떠올리며: 그들이 계속 업데이트하고 있나요?
확인해 본다. WordPress 5.x. 플러그인은 전달 이후 손대지 않음. PHP 8.1 — 2025년 12월에 보안 지원 종료. 보안 헤더 전혀 설정되지 않음.
작동한다. 하지만 “작동”과 “안전함”은 다르다.
이 글은 우리가 사이트를 인계한 뒤 워드프레스 사이트에 일어나는 불편한 현실에 대한 이야기다.
워드프레스는 단일문화이다
숫자
워드프레스는 전 세계 CMS 시장을 장악하고 있으며, CMS‑기반 사이트 중 약 **61.7 %**의 시장 점유율을 차지하고 있습니다. 일부 시장에서는 집중도가 극단적입니다.
- 일본: CMS 시장의 82.9 %. “소규모 비즈니스 웹사이트”와 “워드프레스 사이트”는 사실상 동의어입니다.
- 일본이 예외이긴 하지만, 대부분의 시장에서 이 패턴이 유지됩니다 — 워드프레스는 모든 곳에서 에이전시와 프리랜서들의 기본 선택입니다.
단일문화가 위험한 이유
농업에서 단일재배 — 넓은 지역에 하나의 작물을 재배하는 것 — 은 시스템적 위험을 초래합니다. 하나의 질병이 전체 수확을 전멸시킬 수 있습니다.
CMS 시장도 같은 문제를 가지고 있습니다. 워드프레스가 이렇게 지배적일 때, 단일 취약점이 수백만 개의 사이트를 동시에 노릴 수 있습니다. 플러그인 A에 취약점이 발견되면, 해당 플러그인을 사용하는 모든 사이트가 노출됩니다. 이는 공격자에게는 최고의 꿈: 최대 영향, 최소 노력입니다.
그리고 그 취약점들은? 매일 발견됩니다.
취약점은 조금씩 흘러가는 것이 아니라 쏟아진다
규모
| 기간 | 보고된 신규 취약점 수 | 세부 내역 |
|---|---|---|
| 2025 년 6월 | 337 | 플러그인 298개, 테마 39개 |
| 2026 년 1월 12‑18일 (1 주) | 180 | — |
| 전체 | — | **96 %**가 플러그인에서 발생 |
이는 대략 하루에 25개의 새로운 취약점에 해당합니다. 개인 개발자나 소규모 팀이 수작업으로 따라잡기엔 불가능합니다.
무서운 점: 인증이 필요 없음
2025년 말에 보고된 취약점의 절반 가량은 인증 없이 악용될 수 있었습니다. 로그인도, 특별한 권한도 필요 없습니다. 단순히 URL을 호출하면 됩니다:
GET /wp-json/vulnerable-plugin/v1/sensitive-data HTTP/1.1
Host: target-site.example.com
실제 사례에서 데이터가 유출되는 데는 이 정도면 충분합니다.
유지보수 격차
전달 후에 일어나는 일
Year 0: Agency builds WordPress site with 10 plugins.
Client declines maintenance contract — “too expensive.”
Year 1: Agency says “please keep it updated.”
Client says “sure” (they don’t).
Year 2: Maintenance contract ends. Relationship fades.
Year 3: Nobody remembers the wp‑login password.
The site becomes untouchable — “don’t break it.”
Year 4: PHP 8.1 reaches EOL. Hosting provider sends warnings. Ignored.
Year 5: Three plugins are abandoned by their developers.
Known vulnerabilities, zero patches.
Year 6: ← We are here. The site loads fine.
It’s a vulnerability goldmine.
일본 IPA(정보통신기술진흥기관)의 2024 SME 사이버보안 조사에 따르면:
| 조사 결과 | 수치 |
|---|---|
| 무단 접근의 가장 흔한 원인 | 패치되지 않은 취약점 (48 %) |
| 평균 사고 비용 | ≈ $5,000 (¥730,000) |
| 평균 복구 시간 | 5.8 일 |
| 비즈니스 파트너에 영향을 미치는 사고 비율 | ≈ 70 % |
이 수치는 일본 중소기업을 대상으로 한 것이지만, 패턴은 전 세계적으로 동일합니다. 전 세계 작은 기업들은 오래된 워드프레스 설치를 사용하고 유지보수 자원이 부족합니다.
이것이 정말 다른 사람의 문제일까?
가혹한 현실: 클라이언트가 유지보수 비용을 지불하지 않기로 선택했습니다. 하지만 우리가 사이트를 설계했습니다. 가능한 한 최소한의 유지보수로 만들었나요? 업데이트를 하지 않을 경우 어떤 일이 일어나는지 충분히 전달했나요?
현실적으로 모든 클라이언트가 유지보수 계약을 체결하지는 않을 것입니다. 그래도 최소한 현재 상태를 가시화한다면 대화를 시작할 수 있을 것입니다.
외부에서 WordPress 사이트 상태 확인하기
WordPress 버전 감지
# 메타 태그에서
curl -s https://example.com | grep -oP 'content="WordPress \K[0-9.]+'
# RSS 피드에서
curl -s https://example.com/feed/ | grep -oP '\?v=\K[0-9.]+'
# readme.html이 노출됐는지 확인
curl -sI https://example.com/readme.html | head -1
보안 헤더 확인
curl -sI https://example.com | grep -iE \
'(strict-transport-security|content-security-policy|x-frame-options|x-content-type-options|referrer-policy|permissions-policy)'
소규모 비즈니스 사이트에 적용해 보세요. 아무것도 반환되지 않을 가능성이 높으며, 이는 보안 헤더가 전혀 설정되지 않았다는 의미입니다.
이메일 인증 확인
# SPF
dig +short TXT example.com | grep spf
# DMARC
dig +short TXT _dmarc.example.com
p=none인 DMARC 정책은 도메인을 가장한 피싱 이메일이 차단되지 않음을 의미합니다.
이 명령들을 한 번 실행하는 것은 쉽지만, 규모를 확대하려면 다음이 필요합니다:
- 수십 개의 클라이언트 도메인에 대한 정기적인 검사
- 새로운 CVE와 플러그인 버전 교차 검증
- 자동 알림 및 클라이언트용 보고서 생성
터미널 명령만으로는 확장이 어렵습니다.
Nyambush — 우리 모두를 위한 Passive ASM
이것이 제가 Nyambush 를 만든 이유입니다.
Nyambush는 ASM (Attack Surface Management) SaaS입니다. 도메인을 입력하면 외부 공격 표면에 대한 즉각적인 보안 평가를 제공합니다. ASM 도구는 보통 기업 전용이지만, Nyambush는 그 기능을 기관, 프리랜서, 그리고 클라이언트를 위한 워드프레스 사이트를 관리하는 모든 사람에게 제공합니다.
Nyambush – 무료 웹사이트 보안 및 모니터링
Software‑as‑a‑Service (SaaS) – 기업 솔루션은 연간 $30,000 이상. Nyambush는 무료로 시작합니다 — 계정이 필요 없습니다.
검사 항목
| 카테고리 | 확인할 내용 |
|---|---|
| DNS | 서브도메인 열거, 떠돌이 CNAME(서브도메인 탈취 위험), WHOIS |
| Email Auth | SPF/DKIM/DMARC 설정, 스푸핑 위험 평가 |
| HTTP Headers | 보안 헤더 적용 현황, HTTPS 설정 문제 |
| WordPress | 코어 버전, 감지된 플러그인/테마, 알려진 CVE |
| AI Patrol | 헤드리스 브라우저 크롤링 + Claude Vision AI를 활용한 디페이스먼트 및 이상 탐지 |
AI Patrol – 인간이 놓치는 디페이스먼트 포착
많은 침해된 사이트는 일반 방문자에게는 전혀 이상해 보이지 않습니다. 디페이스먼트는 미묘할 수 있습니다 — 삽입된 스팸 링크, 숨겨진 리다이렉트, 혹은 검색 엔진만 보는 수정된 푸터 등.
AI Patrol은 두 단계 접근법으로 이를 해결합니다:
-
1단계: 기술적 검사 (크롤링 중 자동 수행)
- HTTP 상태 코드(5xx/4xx 감지)
- JavaScript 오류
- 콘솔 오류
- 깨진 이미지
- 혼합 콘텐츠(HTTPS → HTTP)
- 깨진 링크(서브리소스 404/5xx)
-
2단계: AI 시각 분석 (Claude Vision API)
- 디페이스먼트 감지(삽입된 텍스트, 해커 서명)
- 디버그 정보 유출(스택 트레이스, SQL 쿼리, 내부 경로)
- 피싱 리다이렉트
- 레이아웃 파손(겹치는 요소, 오버플로)
- 문자 인코딩 문제
- 의심스러운 광고/팝업
- SEO 스팸(숨겨진 텍스트, 키워드 스터핑)
시각적 차이점 감지
Playwright가 전체 페이지 스크린샷을 캡처하고 pixelmatch를 사용해 이전 크롤과 픽셀 단위로 비교합니다. 변화 비율이 **5 %**를 초과하면 Claude Vision AI가 무엇이 바뀌었는지 분석하여 정당한 콘텐츠 업데이트와 무단 수정 여부를 구분합니다.
수동 스캔만
Nyambush는 수동 스캔만 수행합니다:
- DNS 쿼리
- 표준 HTTP/HTTPS 요청 (일반 브라우저 방문과 동일)
- 인증서 투명성 로그 조회
- 공개 취약점 데이터베이스 연관성 분석
포트 스캔 없음. 익스플로잇 시도 없음. PoC 실행 없음. 이는 법적 문제 없이 어떤 도메인도 안전하게 스캔할 수 있음을 의미합니다 — 귀하의 자체 사이트, 클라이언트 사이트, 혹은 잠재 고객 사이트 —.
Source: …
에이전시와 프리랜서가 활용하는 방법
-
Health‑check past clients
이전 고객의 도메인을 입력합니다. 현재 보안 상태를 확인합니다. 문제가 발견되면 재계약을 위한 구체적인 데이터를 확보할 수 있습니다:“귀하의 사이트는 WordPress 5.8을 사용하고 있으며 X개의 알려진 취약점이 존재합니다. 해결 방안을 논의하시겠습니까?”
-
Scope new projects
리디자인이나 마이그레이션 프로젝트의 경우, 먼저 기존 사이트를 스캔합니다. “현재 보안 위험 프로파일”을 제시함으로써 현대화의 필요성을 설득력 있게 전달할 수 있습니다. -
Automated post‑delivery monitoring with AI
AI Patrol을 설정하면 Nyambush가 배포된 사이트를 지속적으로 모니터링합니다. 변조, 레이아웃 깨짐, JavaScript 오류가 감지되면 스크린샷과 구체적인 결과를 받아볼 수 있습니다. 사전·사후 스크린샷과 차이 이미지를 고객에게 제공하여 유지보수 가치를 증명합니다. -
Quality assurance at delivery
인도 전에 자체 작업을 스캔합니다. 보안 헤더와 이메일 인증이 올바르게 구성되었음을 입증합니다. “보안 중심 개발”이 문서화된 차별화 요소가 됩니다.
더 깊은 통찰을 위한 WordPress 플러그인
외부 스캔만으로는 모든 것을 파악할 수 없습니다. Nyambush WordPress 플러그인을 설치하면 다음을 보고합니다:
- 전체 플러그인 목록 (비활성화된 플러그인 포함)
- 정확한 PHP 버전
wp‑config.php보안 설정 (디버그 모드, SSL 적용 여부)- 로그인 보안 구성
알려진 취약점이 있는 “비활성화되었지만 삭제되지 않은” 플러그인? 이제 찾을 수 있습니다.
가격
| 플랜 | 월간 가격 | 도메인 수 | 스캔 빈도 | AI 순찰 | 순찰 범위 | 알림 | AI 보고서 |
|---|---|---|---|---|---|---|---|
| 무료 | $0 | 1 | 매월 | — | — | — | |
| 프로 | $13 | 5 | 매주 | 5 페이지 (Haiku 4.5) | 기술 검사 + AI 분석 + 시각적 차이 | Slack + LINE | ✓ |
| 비즈니스 | $65 | 30 | 매일 | 50 페이지 (Sonnet 4.5) | 동일 (정확도 높은 모델) | Slack + LINE | ✓ |
무료 플랜은 개인 검사용으로 적합합니다. 프로 플랜은 다수의 클라이언트 사이트를 관리하는 에이전시에 적합합니다. 비즈니스 플랜은 자동 변조 및 사고 감지를 위한 일일 AI 순찰을 추가합니다.
“Build and Forget”을 넘어
워드프레스 취약점 공개 규모가 개인이 수동으로 추적할 수 없을 정도로 커졌습니다. 하지만 “워드프레스를 사용하지 말라”는 현실적이지 않습니다 — 워드프레스는 웹의 대부분을 구동하고 있으며, 이는 당분간 변하지 않을 것입니다.
우리가 할 수 있는 일
- 보이지 않는 것을 보이게 하기 – 우리가 만든 사이트들의 현재 상태를 파악합니다
- 데이터로 위험을 전달하기 – 모호한 경고가 아니라 구체적인 수치를 고객에게 보여줍니다
- 모니터링 자동화 – 문제가 발생하기 전에 변화를 포착합니다
- AI에게 인간이 놓치는 부분을 감시하게 하기 – 팀이 따라잡을 수 없는 규모의 시각적 모니터링
시도해 보세요: 도메인을 입력하고, 1분 정도 기다리면, 회원가입 없이 실제 상황을 확인할 수 있습니다.