챗GPT의 개발사인 오픈AI의 중요 API 키들이 이미 5만 개나 인터넷 공간에 돌아다니고 있다. 공격자들이 이를 재빨리 수거해 갔다고 하며, 그래서 현재는 오픈AI의 각종 인공지능 기술의 해적판이 여기 저기 유출되고 있는 것과 같은 현상이 벌어지고 있다.

[보안뉴스 문정후 기자] 며칠 전 챗GPT 디스코드 채널의 운영자가 아마추어 해커 한 명을 차단했다. 훔친 오픈AI의 API 키들을 수백 명의 사용자들과 공유했기 때문이다. API 키는 개발자들이 오픈AI가 개발한 기술을 자신들의 애플리케이션에 구축할 수 있게 해 주는 것이며, 오픈AI는 최근 GPT-4라는 강력한 인공지능 기술을 선보인 바 있다. 당연히 이 API 키 정보는 비공개인 것이 보통인데, 개발자들이 코드 내에 키를 삽입하고 잊어버리는 경우가 많아 문제가 되고 있다.

[보안뉴스 / 6.12.] 사이버 범죄자들, 오픈AI API 키 스크랩해서 GPT4를 무허가로 사용한다

[이미지 = gettyimagesbank]

최소 지난 3월부터 ‘디스코드티히(Discodtehe)’라는 이름으로 활동하는 한 사용자는 소프트웨어 공동 개발 플랫폼인 레플릿(Replit)에 공개되는 소스코드들을 스캔해 API 키들을 수집해 왔다. 적잖은 API 키를 수집하는 데 성공했고, 이를 여기 저기에 무료로 공개했다. 그랬더니 약 800명 정도로 구성된 한 커뮤니티에서 이 API 키들의 사용료를 걷기 시작했고, 디스코드티히는 자취를 감췄다. 그는 디스코드에도 없고 레딧에도 없다.

하지만 이야기는 여기서 끝이 아니다. 그가 남긴 수십만 개의 API 키들은 여전히 인터넷 세상을 돌아다니고 있기 때문이다. 보안 업체 NCC그룹(NCC Group)의 수석 과학자 크리스 앤리(Chris Anley)는 “이 이야기가 어떻게 끝날지 아무도 모르지만 교훈은 확실하다”고 말한다. “그건 바로 소스코드에 그 어떤 크리덴셜 정보도 남기면 안 된다는 것입니다. 그런 코드를 공유 사이트에 올리는 건 더더욱 안 될 일이고요.”

오픈AI 키, 여기 저기에서 발견돼
챗GPT라는 기술의 인기가 끝없이 오르다 보니 챗GPT와 관련된 API 키들의 인기도 덩달아 높아지는 중이다. 코드 보안 전문 업체 깃가디언(GitGuardian)이 3월에 발표한 보고서에 따르면 “이미 공공 리포지터리에 노출된 오픈AI의 키들이 수천 개를 넘는 상황”이라고 한다. “챗GPT의 인기가 오르는 만큼 챗GPT의 API도 높은 인기를 누린다고 볼 수 있습니다.” 깃가디언 측의 설명이다.

“현 시점에서 깃허브에만 오픈AI의 키가 5만 개 이상 공개되어 있습니다. 오픈AI 개발자 계정들은 이제 세계에서 가장 많이 노출된 계정들 중 3위라고 볼 수 있습니다. 몽고DB와 구글이 1, 2위를 다투고 있지요.” 이를 사이버 범죄자들이 모를 리 없고, 실제로 현재 많은 해커들이 탈취된 오픈AI 키들을 가져가기 위해 여러 가지 시도를 하는 중이라고 한다. 해커들이 오픈AI 키들을 가져간다는 건 해당 키와 연계되어 있는 계정을 마치 그 계정의 원래 주인처럼 사용한다는 뜻이다. 따라서 원 주인과 비슷한 권한을 가지고 각종 민감 데이터에 접근하는 것도 가능하다.

여기까지의 내용을 정리하면 다음과 같다.
1) 오픈AI의 기술을 앱에 녹여내기 위해 개발자들은 API라는 것을 사용한다.
2) API를 사용하려면 인증을 거쳐야 하는데, 개발자들이 이 인증 정보와 키 정보를 종종 소스코드에 그대로 입력해 둔 채 잊어버린다.
3) 그리고 그 소스코드를 공개한다.
4) 해커들이 소스코드 공유 플랫폼을 스캔해서 API 키와 개발자 계정 크리덴셜을 수집한다.
5) 그리고 이를 판매한다.
6) 구매자들은 원 API 키와 개발자 계정을 자기 것처럼 사용할 수 있다.
7) 사용과 관련된 비용은 전부 피해자에게 부담된다. 공격자는 피해자의 민감한 정보에도 접근할 수 있다.

이런 시장이 존재할 수 있는 건 우선 개발자들이 안전한 개발 행위를 하지 않아서이다. 하지만 그게 전부는 아니다. API 키나 크리덴셜이 공공 플랫폼에 너무 간단히 노출되어 있다는 것도 문제다. 디스코드티히는 “어떤 날은 한 번 스캔으로 1천 개 이상의 API 키를 수집할 수 있었다”고 밝히기도 했다. “꼼꼼히 스캔한 것도 아니고 대충 훑어서 결과의 반만 가져간 건데도 그 정도였습니다.”

깃가디언의 보안 개발자인 드웨인 맥다니엘(Dwayne McDaniel)은 “레플릿에 새롭게 계정을 만들고 불과 2분 정도 만에 오픈AI 키들을 찾아낼 수 있었다”고 말한다. “어느 리포지터리에나 검색 기능이란 게 존재합니다. 그리고 그 검색 기능은 갈수록 좋아지고 있고요. 저는 그저 간단히 openapi.key나 openai.api.key와 같은 검색어를 활용해 검색을 했을 뿐입니다. 결과가 금방 나오더라고요.”

API 관련 비밀, 어떻게 지켜야 하나?
앤리는 “테크 분야는 이직률이 꽤나 높은 곳”이라고 설명한다. “특히 개발자 쪽에는 이직하는 사람들이 많아지고 있기도 합니다. 이런 상황에서 소스코드에 민감한 크리덴셜을 기입해 두고 잊어버리는데 회사에서 아무런 조치를 취하지 않는다는 건 무슨 뜻인가요? 매년 수많은 사람들이 민감한 정보로의 접근 권한을 가진 채 회사 밖으로 나가서 외부인이 된다는 것입니다. 이렇게 보면 여태까지 침해 사고가 오히려 적게 일어난 거라고 느껴질 정도입니다.”

민감한 정보와 회사의 기밀을 지킨다는 건 그리 어려운 일이 아니라고 앤리는 강조한다. “오픈AI는 심지어 가이드라인까지 제공하고 있습니다. 각 사용자에마다 고유한 키를 설정하고, 환경 변수를 활용하고, 키를 계속 바꿔가면서 쓰고, 코드에 키를 넣지 않도록 조작 차원에서 관리해야 한다는 내용을 담고 있습니다.”

맥다니엘도 같은 의견이다. “열쇠는 금고에 보관해야 하지요. 그만큼 중요한 것이기 때문입니다. 공개될 소스코드에 암호 키를 그대로 기입하고 버려둔다는 건 열쇠를 대문에 꽂아놓고 사는 것과 다름이 없습니다.”

글 : 네이트 넬슨(Nate Nelson), IT 칼럼니스트
[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>