WordPress RCE를 GPT5.6과 25달러로 발견
요약
GPT-5.6을 활용해 단돈 25달러의 토큰 비용으로 WordPress의 RCE(원격 코드 실행) 취약점을 발견한 사례를 비판적으로 분석합니다. 작성자는 단순한 AI의 성능보다는 보안 전문가의 숙련된 탐색 능력과 WordPress의 취약한 코드 구조가 결합된 결과임을 강조합니다.
핵심 포인트
- AI를 이용한 취약점 발견은 도구의 비용보다 전문가의 지식이 핵심임
- WordPress의 오래된 코드베이스와 SQL 처리 방식이 보안 취약점의 원인
- AI 활용 성과를 과장하는 'FOMO식 서사'에 대한 경계 필요
- 실제 공격 페이로드가 이미 운영 중인 사이트에서 관찰됨
이런 익스플로잇에 50만 달러가 지급됐거나 지급될 것이라는 근거는 없음. 글에서 프롬프트를 성서처럼 조심스럽게 수정한다고 했으니, 차라리 그 프롬프트를 50만 달러에 팔면 될 듯함
작성자는 자동 스캐닝 AI 제품을 제공하는 https://www.assetnote.io/에서 일함
LLM 이전에도 이런 취약점을 찾을 능력과 중개업자에게 팔 의향이 있으면서, 동시에 소셜 미디어에 거대한 체포해 달라는 표지판을 내걸 만큼 어리석은 사람의 교집합은 극히 작을 듯함
가장 가까운 예는 Steam 게임에 악성코드를 넣어 계정을 털다가 붙잡힌 플로리다 청소년들임. 어차피 잡혔겠지만 소셜 미디어에 과시하지 않았다면 수사에 훨씬 오래 걸렸을 것임
새 제품일 때 5,000달러였던 Macintosh를 누군가 중고 장터에서 25달러에 샀다고 해서 같은 가치 비교가 성립하는 것은 아님
성서처럼 수정한다는 말은, 명백히 모순되거나 윤리적으로 타락했어도 전혀 고치지 않는다는 뜻인가 싶음
더 심각한 내용은 https://developer.wordpress.org/plugins/creating-tables-with...에 있음
SQL을 직접 실행하는 대신 dbDelta를 쓰라고 하면서, 필드마다 줄을 나누고 PRIMARY KEY 사이에는 공백 두 개를 넣으며 INDEX 대신 KEY를 써야 하는 등 극도로 까다로운 서식 규칙을 요구함. 필드명에는 따옴표나 백틱을 쓰면 안 되고, 자료형은 소문자, SQL 키워드는 대문자여야 하며 길이 매개변수도 모두 지정해야 함
WordPress 코드베이스는 수치스러운 수준임. PHP는 이제 훌륭한 언어가 됐지만 WordPress는 이를 심하게 망가뜨려 쓰면서 개선도 거부함
수정 방식도 끔찍함. WordPress가 아직도 기본적인 문자열 연결과 sprintf 로 SQL 질의를 만드는지 의문임
이번 주말 운영 중인 사이트 하나에서 이 익스플로잇을 이용한 공격을 봤음 POST와 GET 요청 안에 /wp/v2/widgets?author_exclude=1%29+AND+1%3D0+UNION+ALL+SELECT... 형태의 페이로드가 포함돼 있었음
프로필에 Principal Software Engineer @ Bluehost, WordPress Core Committer라고 적혀 있는데, 이런 코드라면 정말 ‘principal’이라는 표현이 묘하게 들림
FOMO식 글쓰기에는 질렸음. 25달러만으로 발견한 게 아니라 어디를 보고 어떻게 탐색할지 아는 업계 전문지식과 수년간 축적한 자료가 있었던 것임
도박 같은 서사와 모두가 기회를 놓치고 있다는 환상을 그만 퍼뜨려야 함
이런 글은 성공한 순간만 올리며 삶 전체가 멋진 것처럼 보이는 기사판 Instagram과 비슷해 해로움. 25달러라는 계산에는 수년간의 경력뿐 아니라 수많은 실패도 빠져 있음
비용 계산도 정확하지 않음. 구독 요금제를 통해 보조받은 토큰의 비용이 25달러였을 뿐임
직접 했다면 “무료로 해냈다”고 홍보하지 않았을 텐데, 토큰에 25달러를 썼다는 이유만으로 성과를 바라보는 방식이 달라지는 것도 이상함
놀라운 부분은 이미 알려진 취약점의 높은 가격이며, 사실이 아닐 가능성도 있음. WordPress는 흔히 블로그 기능이 딸린 원격 루트 셸로 불릴 정도임
블로그에 왜 정적 페이지로 충분하지 않은지 아직도 이해하기 어려움. 특히 WordPress 문제 대부분을 캐시 추가로 ‘해결’하고 있음
일반 사용자에게 GitHub 저장소에 커밋하고 Hugo로 빌드하라고 하는 것보다 끌어다 놓기를 안내하는 편이 쉽다는 점은 이해함. 하지만 보안 관점에서는 코어나 수천 개 플러그인 중 하나에서 취약점이 생겨 서비스형 원격 코드 실행이 열리기만 기다리는 구조임
사실인지 알려면 위협 인텔리전스를 수행하고 중개업자들이 활동하는 Telegram 그룹에 잠입해야 하는데, 작성자가 그렇게 했을 가능성은 낮음. 일반 취약점과 제로데이를 혼동했을 수도 있음
WordPress는 역대 가장 많이 보안 강화가 이뤄진 표적 중 하나임. 오래된 코드가 수십 년간 거의 바뀌지 않아 버그 대부분이 이미 발견되고 패치됐다고 볼 수도 있음
인터넷 웹사이트의 거의 50%가 WordPress를 쓴다는 통계도 있으므로, 공개되지 않은 인증 불필요 제로데이 원격 코드 실행에 50만 달러가 붙는 게 아주 비현실적이진 않음
흥미로운 글이며, LLM 기반 익스플로잇 발견과 공개는 실제 우려할 문제임. Linux 로컬 권한 상승 취약점으로부터 컨테이너 탈출 코드를 모델이 비교적 빠르게 만들게 한 적도 있음
다만 GPT-5.6이 안전장치로 프롬프트를 차단하지 않은 점은 놀라움. GPT-5.5 이상은 Opus 4.7+/Fable처럼 공격적 보안 작업을 꺼리는 편이라, 작성자가 OpenAI에서 안전장치를 완화하는 사이버 보안 승인을 받았을 가능성이 있어 보임
2020년 이전의 비AI 정적 애플리케이션 보안 테스트(SAST) 도구도 이런 SQL 주입을 많이 잡아냈고, 적어도 코드 리뷰에서는 발견했어야 함. WordPress가 코드 리뷰나 SAST를 사용하지 않는지 의문임
이 공격은 여러 취약점을 결합해야 하므로 그런 도구만으로는 잡히지 않았을 것임
내 웹사이트 하나가 이 취약점으로 해킹됐지만 다행히 사용자가 없는 곳이었음
공격자는 데이터베이스에 관리자 계정 두 개를 만들고, wp-content/plugins/wp-core에 wp-core-[임의 문자 12개].php 원격 명령 실행 웹 셸을 설치했음. mu-plugins에는 GET ?sergei로 관리자를 만드는 firewall.php 백도어를 두고 cache-seo-helper.php 백도어도 추가했으며, fixer.php로 WordPress 버전 번호를 패치된 버전처럼 바꿨음. 결국 WordPress 사용을 포기하기로 함
글 마지막에 게시물을 이상한 이름으로 부르기 시작하면서 이해하기 어려워졌음. 한 ID는 O, 다른 하나는 0으로 만들고, EMBED_01이나 ABCDEF 대신 단일 문자와 무작위처럼 보이는 OCPDST를 쓴 이유가 궁금함
모두 자리표시자이며 뜻은 본문에 적혀 있음. O는 publish/oembed_cache, C는 future/customize_changeset, P는 draft/page, D는 parse/request, S는 임베드 데이터를 제공하는 publish/post, T는 외부 임베드를 담은 publish/post를 뜻함
50만 달러를 낼 사람들이 GPT-5.6을 직접 활용할 능력은 없다고 가정하는 셈인지 의문임
그렇다면 왜 같은 분석 글이 더 일찍 나오지 않았는지 생각해 봐야 함. LLM 출력물을 검토하고 실제로 유효한 개념 증명으로 만드는 데는 여전히 전문성이 필요함
나도 LLM으로 보안 취약점을 찾지만 결과를 그대로 제출하고 끝낼 수는 없으며, 그렇게 하려는 사람은 많음
수사기관이 클라우드 LLM 기록을 받아 형사 기소 증거로 활용했다는 기사가 계속 나오는데, 전문 범죄자라면 비윤리적이지만 합법적인 중개자를 통해 활동을 세탁할 가능성이 큼
돈을 버는 사람과 최고의 코드를 작성하는 사람은 반드시 같지 않음. Elon Musk도 로켓 코드를 직접 작성한 게 아니라 작성할 사람을 고용했음
GPT-5.6 Sol이 초인적인가는 단순한 예·아니요 질문이 아님. 컴퓨터는 수십 년 전부터 체스에서 인간을 능가했고, 이 글을 보면 이제 코드 이해에서도 인간을 넘어선 듯함
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기