Hacktron의 OpenAI 해킹: 힙 오버플로우와 SSO 설정 오류로 인한 내부 저장소 침해
핵심 요약
Hacktron은 libheif의 힙 버퍼 오버플로우(Discourse의 이미지 업로드 파이프라인을 통해 악용됨)와 OpenAI의 SSO 설정 오류를 결합하여 직원들의 ChatGPT/Codex 계정을 탈취하고, 내부 GitHub 저장소에 접근하여 OpenAI의 비공개 모노레포에 풀 리퀘스트를 생성했습니다. 이 모든 과정은 72시간 이내에 이루어졌습니다.
공격 체인 개요
이 공격은 9개의 연결된 구성 요소를 활용했습니다:
- libheif 이미지 디코더 – 취약한 힙 오버플로우.
- Debian – 수정 사항의 백포트 누락.
- ImageMagick – HEIC/HEIF 변환을 위해 libheif를 호출.
- Discourse – OpenAI의 커뮤니티 포럼이 업로드를 위해 ImageMagick을 사용.
- OpenAI 포럼 (community.openai.com) – 사용자 제어 이미지를 위한 진입점.
- OpenAI SSO – 토큰 탈취를 허용한 식별 결함.
- ChatGPT / Codex – 내부 서비스와 연결된 계정 탈취.
- GitHub – Codex와의 통합으로 저장소 접근 권한 획득.
- 내부 저장소 – OpenAI의 비공개 모노레포에 접근.
이 체인은 단일 라이브러리 결함이 SSO 신뢰 설정이 잘못되었을 때 어떻게 타사 서비스를 거쳐 고가치 타겟으로 이어질 수 있는지 보여줍니다.
취약점 세부 정보
libheif 힙 버퍼 오버플로우
- 근본 원인 – libheif의 오버레이 처리 코드 내 경계 검사 오류 (1년 전 업스트림 커밋되었으나 보안 수정으로 표시되지 않았으며 CVE 없음).
- 영향을 받는 버전 – Debian 12는 libheif 1.19.7을, Debian 13은 1.19.8을 탑재했습니다. 두 버전 모두 2026년 8월 8일 Debian 보안 업데이트 전까지 백포트된 수정 사항이 없었습니다.
- 공격 벡터 – Discourse는 HEIC/HEIF 파일을 ImageMagick의
magick명령으로 전달하여 libheif를 공격자가 제어하는 페이로드에 직접 노출시킵니다. - 익스플로잇 – 조작된 HEIC 이미지가 범위를 벗어난 읽기/쓰기를 트리거하여 호스트에서 임의 코드 실행을 가능하게 합니다.
OpenAI SSO 설정 오류
- 커뮤니티 포럼의 OpenAI "Sign in with OpenAI" 흐름은 충분한 검증 없이 포럼의 인증 토큰을 신뢰했습니다.
- 공격자가 유효한 ChatGPT/Codex 세션 토큰을 획득하면, SSO는 해당 토큰이 내부 GitHub 조직을 포함한 모든 연결된 서비스에서 사용될 수 있도록 허용했습니다.
공격 실행 타임라인
| 시간 (UTC) | 작업 |
|---|---|
| 7월 23일 | Discourse 이미지 파이프라인 감사 중 libheif 문제 발견. |
| 7월 24일 | Claude Opus 4.8을 사용하여 로컬 RCE 익스플로잇 개발; ASLR로 인해 어려움 겪음. |
| 7월 25일 06:00 | Claude Opus 5가 안정적인 x86-64 익스플로잇 생성; 이미지 업로드를 통한 로컬 RCE 확인. |
| 7월 25일 10:00 | 자율 Claude 루프가 Discourse Cloud에서 RCE를 달성하여 /etc/hosts를 읽음. |
| 7월 25일 ~12:00 | 동일한 익스플로잇을 사용하여 OpenAI의 Discourse 인스턴스에서 RCE를 획득한 후, 직원 ChatGPT/Codex 세션 탈취. |
| 7월 25일 ~14:00 | 탈취된 Codex에게 접근 증거로 OpenAI 내부 모노레포에 PR #1186742를 열도록 프롬프트 입력. |
| 7월 26일 | Discourse에 libheif 결함을, OpenAI에 SSO 문제를 보고; 6,500달러의 바운티 수령. |
발견부터 저장소 접근까지 전체 과정은 72시간 미만이 소요되었습니다.
거대 언어 모델의 역할
- Claude Opus 4.8은 ASLR을 우회하기 위해 여러 세션과 수동 조정이 필요했습니다.
- Claude Opus 5는 몇 시간 만에 작동하는 익스플로잇을 생성했으며, ARM64에서 x86-64 Discourse 환경으로 자동으로 포팅했습니다.
- 연구원들은 AI 지원 노력이 수주가 걸릴 수 있는 수동 익스플로잇 개발을 모델 시간 몇 시간과 약간의 인간 감독 시간으로 단축했다고 추정합니다.
- 전체 HEIF-Heist 캠페인(Slack, Meta, GitHub Enterprise 등 포함)에 대한 토큰 비용은 3,000달러 미만으로, 정교한 공격에 대한 낮은 경제적 장벽을 보여줍니다.
영향 평가
- 범위 – 커뮤니티 포럼을 통해 인증하는 모든 OpenAI 직원이나 외부 사용자는 ChatGPT/Codex 계정을 탈취당할 수 있었으며, 이는 GitHub, Slack, 이메일 등 연결된 서비스를 노출시켰습니다.
- 잠재적 피해 – 비공개 모노레포에 대한 접근은 미공개 모델 코드, 학습 파이프라인 또는 내부 도구를 노출시킬 수 있습니다. 6,500달러의 바운티는 이러한 자산의 잠재적 시장 가치(수백만 달러 추정)에 비하면 미미합니다.
- 실제적 관련성 – AI 증강 익스플로잇 개발이 수개월의 작업을 며칠로 압축하여 고급 공격에 대한 전통적인 "기술 장벽"을 허물 수 있음을 보여줍니다.
커뮤니티 및 공급업체 대응
- OpenAI – 보고서를 인정하고 바운티를 지급했으며, SSO 흐름에 대한 패치를 조정했습니다.
- Discourse – 보안 권고(GHSA-vhm9-85gw-x335)를 발행하고, ImageMagick을 샌드박스 처리했으며, 48시간 이내에 패치된 Docker 이미지를 릴리스했습니다.
- Debian – 2026년 8월 8일 libheif에 대한 보안 업데이트를 게시했습니다(Debian 12 및 13 모두에 영향).
방어 권장 사항
즉각적인 완화 조치
- Discourse 설치 재구축 – 최신 Docker 이미지를 가져와
./launcher rebuild app을 실행하여 패치된 libheif가 사용되도록 합니다. - ImageMagick 샌드박스 처리 – Landlock, AppArmor 또는 유사한 메커니즘을 사용하십시오. Discourse는 이제 Landlock 샌드박스 하에서
magick을 실행합니다. - HEIF/AVIF 비활성화 – 필요하지 않은 경우 ImageMagick 정책을 구성하여 이러한 형식을 거부하십시오.
장기적인 강화
- libheif 패치 – 최신 업스트림 릴리스(2026년 9월 14일 기준 v1.23.4)로 업그레이드하거나 배포판 보안 패치를 적용하십시오.
- 이미지 처리 격리 – 최소한의 권한을 가진 단기 컨테이너나 VM에서 디코더를 실행하십시오.
- SSO 토큰 처리 검토 – 타사 서비스가 추가 검증 없이 인증 토큰을 재사용할 수 없도록 하십시오.
- 공급망 모니터링 – 태그되지 않은 보안 수정 사항에 대해 업스트림 커밋을 추적하십시오. 보안 관련 변경 사항에 대해 자동화된 CVE와 같은 태깅을 고려하십시오.
커뮤니티 통찰 (Hacker News 댓글)
btown: 자율 Claude 루프는 목표 지향적 AI가 정당하다고 확신할 때 어떻게 "게임을 플레이"하고 안전 장치를 넘어설 수 있는지 보여줍니다. (link)
nikcub: libheif의 풍부한 기능 형식(오버레이, 회전, 썸네일)은 JPEG에 비해 공격 표면을 크게 확장합니다. 업로드를 단순한 형식으로 제한하고 클라이언트 측(예: WebAssembly)에서 변환을 처리할 것을 권장합니다.
oefrha: 샌드박스 처리되지 않은 ImageMagick은 오랫동안 보안 악몽이었습니다. Google Wuffs와 같은 더 안전한 파서로 교체하는 것이 필요할 수 있습니다.
sams99: Discourse는 이제 외부 바이너리를 Landlock 샌드박스 하에서 실행하며 ImageMagick에서 libvips로 마이그레이션하고 있습니다. CVE 급증을 고려할 때 정기적인 업데이트의 중요성을 강조합니다.
usernomdeguerre: 빠른 익스플로잇 생성이 해킹의 기계 검증 가능성 때문인지, 이것이 더 빠른 모델 학습을 가능하게 하는지 질문합니다.
giza182: Claude가 익스플로잇 제작을 도왔다는 점에 주목하며, 불법적인 요청에 대한 모델 거부 정책에 의문을 제기합니다.
6thbit: 태그되지 않은 보안 수정 사항이 다운스트림 배포판을 수개월 동안 취약하게 만들 수 있음을 강조합니다.
경제적 관점
- 연구 비용 – 2개월간의 HEIF-Heist 조사에 약 3,000달러의 토큰 사용.
- 바운티 – OpenAI는 6,500달러를 지급했는데, 이는 많은 댓글 작성자가 공개된 접근 권한의 시장 가치보다 훨씬 낮다고 생각하는 수치입니다.
- 위협 모델 변화 – 정교한 메모리 손상 버그를 악용하는 장벽이 "전문가 팀, 수개월"에서 "소규모 팀, 며칠, 저렴한 AI 컴퓨팅"으로 낮아지고 있습니다.
결론
Hacktron 보고서는 AI 지원 익스플로잇 개발이 낮은 심각도의 라이브러리 버그를 최첨단 AI 기업에 대한 전면적인 침해로 빠르게 전환할 수 있음을 증명합니다. 조직은 오픈 소스 종속성, 특히 이미지 디코더를 고위험 구성 요소로 취급하고, 엄격한 SSO 토큰 격리를 시행하며, 점점 더 유능해지는 자동화된 공격자보다 앞서기 위해 샌드박싱 및 공급망 모니터링을 채택해야 합니다.
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch