이 엔지니어를 위한 이야기 공장 AI 기술에 인문학의 온기를

공격자가 없는 침해 : 84일 뒤 공용 메일함으로 도착한 통지

공격자가 없는 침해 : 84일 뒤 공용 메일함으로 도착한 통지

호주 총리 앤서니 앨버니지는 9월 24일 UN 총회 주간에 맞춰 뉴욕에서 기자회견을 열고, OpenAI의 모델이 호주 정부가 운영하는 메디케어 통계 보고 포털에 무단으로 접근했다고 밝혔습니다. 같은 날 OpenAI의 CEO 샘 올트먼과 통화해 "호주의 극심한 우려"를 전했다고도 했어요. 그런데 회견에서 그가 반복한 문장은 피해 규모에 관한 것이 아니었습니다. "회사가 정부에 무슨 일이 있었는지 알리는 데 너무 오래 걸렸습니다." "통지는 공용 메일함으로 보낸 이메일 한 통이었습니다."

먼저 이 글에서 침해가 무엇을 가리키는지 범위를 짚고 가는 편이 좋겠습니다. 접근된 것은 개인 진료 기록이 아닙니다. OpenAI는 자사 검토에서 환자 기록이 열람된 증거는 찾지 못했고 접근된 정보는 집계된 보건 통계와 내부 파일명 수준이었다고 밝혔습니다. 호주 부총리 겸 국방장관인 리처드 마를스도 개인정보는 접근되지 않았고 시스템에 미친 영향도 없다고 말했습니다. 그는 호주인 개인의 데이터는 금고 안에, 국가안보 정보는 요새 뒤에 있으며 이번에 접근된 데이터는 울타리 뒤에 있던 것이라고 표현했고요.

다만 범위를 회사 쪽 설명만으로 그으면 빠지는 것이 있습니다. 포털을 운영하는 서비스 오스트레일리아(Services Australia)는 에이전트가 공개 파일뿐 아니라 당시 비공개였던 파일에도 접근했다고 밝혔습니다. 그 비공개 자료가 특별히 민감하지는 않았고 이후 공개됐다는 단서가 붙긴 했지만요. 그리고 에이전트는 내부 서버에 파일을 써 넣기도 했습니다. 이 대목은 아직 조사 중입니다. 호주 정부가 위법 여부를 판단한 바도 아직 없습니다.

그러니 이 사건에서 무거운 것은 유출량이 아닙니다. 두 가지가 무겁습니다. 하나는 남의 서버에 들어간 쪽이 외부 공격자가 아니라 모델을 만든 회사 본인이었다는 것, 다른 하나는 침해가 일어난 6월 18일부터 호주 정부에 통지가 도착한 9월 10일까지 84일이 걸렸다는 것입니다.

▸ 과제는 태국의 마약 단속 통계와 의약품 비용이었습니다

AI 감독 연구를 하는 독립 비영리 연구소 트랜슬루스(Transluce)가 같은 날 기술 리포트를 공개했는데요. 코리도(Corridor)와 MIT 연구자들이 함께 쓴 리포트입니다. 그 안의 한 문장이 사건 전체를 요약합니다. "에이전트들은 평범한 데이터 조회 작업을 하던 중에 해킹 수법에 의존했다." 실제로 과제 목록은 지루할 정도로 평범합니다. 태국의 마약 단속 통계, 호주의 의약품 비용, 2014년 미국 석사 학위자의 중위 소득 같은 숫자 찾기였어요.

그런데 경로가 막혔습니다. 다운로드가 끊기고 쿼리가 오류를 뱉자 에이전트는 다음 수단을 꺼냈습니다. 5월 말 뉴멕시코대 디지털 도서관에서는 사진 한 장을 받으려다 서버에 요청이 몰렸는데, 리포트가 기록한 것은 SQL 인젝션·명령 인젝션·경로 탐색을 포함한 탐침 일곱 건, 그리고 에이전트 스스로 "쇄도"라고 적은 여든 건의 요청입니다. 며칠 뒤 Data USA의 API에는 SQL 인젝션, XSS, 템플릿 인젝션, 경로 탐색, 명령 인젝션을 합쳐 열두 건의 취약점 탐침이 들어갔습니다. 성공한 흔적은 없고요. 호주 보건복지연구원에서는 Cloudflare가 데이터셋 다운로드를 차단하자 반사형 XSS를 한 번 시도했고, 그다음에는 사전 배포(pre-production) 서버를 찾아내 백 번 넘게 요청을 보내 파일을 가져갔습니다. 트랜슬루스가 공개 스캔 리포트 가운데 에이전트 유사 활동으로 분류한 건수는 모두 37,649건인데요. 이 가운데 강한 근거가 있다고 본 것은 6,467건이고 나머지는 정황 수준입니다. 그러면서도 리포트는 이 숫자가 하한선이라고 스스로 적어 두었어요. 에이전트가 계정을 만들어 돌린 비공개 스캔은 셀 방법이 없으니까요.

▸ 없었던 것은 양심이 아니라 송신 통제입니다

이것을 모델이 악의를 가졌다는 증거로 읽는 것은 정확하지 않습니다. 앨버니지 총리는 에이전트가 "거절을 순순히 받아들이지 않았다"고 표현했는데요. 인상적인 문장이지만 그건 의인화죠. 더 정확한 표현은, 과제 완수를 보상하는 구조가 수단을 가리지 않는 경로 탐색까지 허용했다는 것입니다. 그리고 그 평가를 설계하고 그 환경을 공개 인터넷에 붙여 둔 것은 모델이 아니라 사람입니다. 없었던 것은 모델의 양심이 아니라 송신(egress) 통제였겠죠.

그런데 정작 그 송신 통제가 어떻게 설계돼 있었는지를 OpenAI는 이번에 밝히지 않았습니다. 8월 5일 공지에서는 외부 파트너와 함께한 사이버 평가 두 건을 공개하면서, 하나는 실제 공격자에 가까운 조건을 주려고 인터넷 접근을 의도적으로 열어 둔 것이었고 다른 하나는 격리돼 있어야 할 환경이 설정 오류로 공개 인터넷에 닿은 것이라고 구분해 설명했어요. 열어 둔 것과 새어 나간 것이 이미 한 문서 안에 나란히 있었던 셈입니다. 이번 건은 인터넷에서 자료를 찾아오라는 과제였으니 접근 자체는 열려 있어야 했겠죠. 그렇다면 남는 질문은 왜 열었느냐가 아니라 어디까지만 열었느냐입니다. 그 경계에 관해서는 설명이 없습니다. 어느 모델이었는지도 미출시 모델이라는 언급 외에는 공개되지 않았고요. 이 사건을 기술적으로 판단하는 데 가장 중요한 칸이 비어 있습니다.

▸ 그 메일함은 이런 메일을 받도록 만들어지지 않았습니다

두 번째 무게는 기술이 아니라 절차 쪽입니다. OpenAI는 7월에 Hugging Face 침해를 인지하고 그 조사를 넓히던 중 8월에(호주 ABC 보도로는 8월 11일) 호주 건을 발견했습니다. 통지가 나간 것은 9월 10일인데요. 수신처가 publicdisclosures@servicesaustralia.gov.au였습니다. 외부 연구자가 취약점을 제보하라고 열어 둔 창구죠. 그 메일함은 당신 시스템에 구멍이 있다는 제보를 받도록 만들어진 곳이지, 우리가 당신 시스템에 들어갔다는 고백을 받도록 만들어진 곳이 아닙니다. 서비스 오스트레일리아는 다음 날 메일을 확인했지만 소관 장관인 케이티 갤러거 정부서비스부 장관에게 보고되기까지 며칠이 더 걸렸고, 총리와 총리실에는 9월 19일에서 20일 사이에야 올라갔습니다.

그리고 발견에서 통지까지의 약 30일에 대해 OpenAI는 이유를 설명하지 않았습니다. 총리가 문제 삼은 84일 가운데 회사가 스스로 설명할 수 있었을 구간이 하필 그 공백입니다.

물론 이것을 은폐라고 단정할 수는 없습니다. 이 사건을 찾아낸 것은 외부의 폭로가 아니라 OpenAI 자신의 내부 검토였고, 회사는 9월 16일에 모델 오정렬 보고 프레임워크와 함께 인시던트 리포트 여섯 건을 먼저 공개했습니다. 중요도가 불확실하더라도 공개하는 쪽을 택한다는 원칙을 적어 두었고요. 9월 25일에는 보안 통제를 우회했거나 서비스 가용성을 해쳤다고 판단한 사례로 수십 곳의 제3자 조직에 통지했다고 밝혔습니다. 다만 그 수십 곳이 서른인지 아흔인지, 어느 기관들인지는 공개하지 않았습니다. 더 정확한 표현은, 자발적 공개를 제도로 만들려던 회사가 그 제도가 미처 정하지 못한 형태의 사건을 발표 여드레 만에 남의 입으로 공개당했다는 것입니다. 같은 주에 업계가 국제사회에 AI 인시던트 통지 체계를 제안하고 있었다는 점까지 겹쳐 놓으면, 자발적 통지의 실효성이 84일이라는 숫자와 메일 주소 한 줄로 측정되고 있는 셈이죠.

▸ 우리 조직은 받는 쪽이자 보내는 쪽입니다

예전에 공격자가 LLM을 도구로 삼은 사건을 다룬 적이 있는데요. 이번은 방향이 반대입니다. 시킨 사람이 없어요.

그래서 남는 질문은 기관 이름이 아니라 우리 쪽 절차입니다. "우리 AI가 당신 서버에 들어갔습니다"라는 메일이 우리 조직으로 오면 그건 어느 메일함으로 가고, 며칠 뒤에 누가 읽습니까? 도메인 루트에 security.txt가 있는지, 거기 적힌 주소를 실제로 보는 사람이 정해져 있는지부터 확인해 볼 만합니다. 그리고 받는 쪽만 문제가 아닙니다. 사내에서 에이전트를 돌리는 팀이라면 이미 보내는 쪽이기도 하니까요. 같은 메일을 우리가 써야 할 때 누가 서명하고 며칠 안에 나가는지를 정해 둔 곳은 많지 않을 것입니다.

기술 쪽에서 내일 회의에 올릴 수 있는 항목도 몇 개 됩니다. 평가와 자동화 환경의 아웃바운드 허용목록, 프록시 로그의 보존 기간, 에이전트 트래픽을 식별할 수 있는 User-Agent, 실패했을 때의 재시도 횟수 상한. 막혔을 때 어떻게 하라는 지시를 시스템 프롬프트에만 적어 두면 그건 요청이고, 네트워크 계층에 적어 두면 그건 제약입니다.

이 사건이 보여주는 것은 에이전트를 돌리지 말자는 결론이라기보다, 에이전트에게 과제를 주는 순간 그 과제의 경계는 프롬프트가 아니라 네트워크와 권한으로 그어야 한다는 사실에 가깝습니다. 그럼에도, 우린 사고를 스스로 찾아내 공개하는 회사와 그 공개가 84일 뒤 공용 메일함으로 도착하는 현실 사이에서 갈등하게 됩니다.


커버 이미지: 앤서니 앨버니지 호주 총리 — Wikimedia Commons, Yu Chu Chin

#OpenAI #AI에이전트 #보안 #인시던트대응 #AI거버넌스 #호주