AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

LLM이 만든 비밀번호가 위험한 이유, 100비트처럼 보이지만 실제론 27비트

AI한테 “강력한 비밀번호 만들어줘”라고 하면 정말 강력한 비밀번호가 나올까요? 보안 연구자들이 실험해봤더니, 답은 놀랍게도 “아니요”였습니다.

사진 출처: Irregular

보안 회사 Irregular가 Claude, ChatGPT, Gemini 최신 버전을 대상으로 비밀번호 생성 실험을 진행했습니다. “비밀번호를 생성해주세요”라는 동일한 요청을 각 모델에 50번씩 반복하며 결과를 분석했는데, 드러난 패턴이 심각했습니다.

출처: Vibe Password Generation: Predictable by Design – Irregular

50번 요청했더니, 같은 비밀번호가 18번 나왔다

Claude Opus 4.6에 50번 비밀번호를 요청하자 실제 고유한 결과는 30개뿐이었습니다. 나머지 20개는 중복이었고, 그중 18개는 G7$kL9#mQ2&xP4!w 완전히 동일한 문자열이었습니다. 전체 요청의 36%가 같은 비밀번호였던 셈이죠.

패턴은 더 있었습니다. Claude가 생성한 비밀번호는 거의 항상 대문자 ‘G’로 시작했고, 두 번째 자리는 숫자 ‘7’이었습니다. 알파벳 대부분은 아예 등장하지 않았습니다. ChatGPT는 ‘v’로 시작하는 비밀번호를 선호했고, Gemini는 ‘k’나 ‘K’를 즐겨 썼습니다.

겉모습은 달랐지만, 세 모델 모두 예측 가능한 “선호 문자”가 있었습니다.

강해 보이는 게 문제다

더 큰 문제는 이 비밀번호들이 실제로 강해 보인다는 점입니다. KeePass 같은 비밀번호 강도 계산기에 Claude 생성 비밀번호를 넣으면 “약 100비트 엔트로피, 매우 우수”라고 표시됩니다. 이론대로라면 슈퍼컴퓨터로도 수십억 년이 걸려야 할 비밀번호죠.

하지만 Irregular가 실제 문자 분포를 Shannon 엔트로피 공식으로 계산하자 결과는 달랐습니다. Claude가 생성한 16자리 비밀번호의 실제 엔트로피는 27비트에 불과했습니다. 100비트 기대치의 4분의 1 수준이고, 일반 컴퓨터로 수 초 안에 뚫릴 수 있는 수준입니다.

GPT-5.2에서는 특정 문자의 토큰 확률을 직접 분석했는데, 15번째 자리 문자가 숫자 ‘2’로 나올 확률이 99.7%였습니다. 사실상 고정된 자리인 셈이죠.

왜 프롬프트를 고쳐도 소용없나

이게 단순히 프롬프트 문제가 아닌 이유가 있습니다. LLM의 작동 원리 자체가 비밀번호 생성에 적합하지 않습니다.

강력한 비밀번호 생성기의 핵심은 “암호학적으로 안전한 난수 생성기(CSPRNG)”입니다. 모든 문자가 완전히 균등한 확률로 선택되어야 하죠. 반면 LLM은 이전 문맥을 바탕으로 다음에 올 가장 그럴듯한 토큰을 예측하도록 설계되어 있습니다. 무작위성이 아니라 예측 가능성을 극대화하는 구조입니다.

온도(temperature) 파라미터를 최대치(1.0)로 높여도 결과는 크게 달라지지 않았습니다. Claude API의 temperature를 0.0으로 낮추면 50번 모두 동일한 비밀번호가 나왔습니다. Irregular는 “프롬프트나 온도 조정으로는 근본적으로 고칠 수 없다”고 결론지었습니다.

“바이브 코딩”이 만드는 보이지 않는 위험

연구에서 가장 주목할 만한 부분은 따로 있습니다. AI 코딩 에이전트가 개발자 모르게 취약한 비밀번호를 코드에 심는 문제입니다.

요즘 Claude Code, Codex, Gemini-CLI 같은 코딩 에이전트를 쓰는 개발자들은 코드를 일일이 검토하지 않는 경우가 많습니다. 이 과정에서 에이전트가 MariaDB 설정, FastAPI API 키, PostgreSQL 초기 비밀번호 같은 자격증명을 알아서 생성할 때, LLM이 직접 만든 패턴 있는 비밀번호를 코드에 하드코딩합니다.

실제로 Claude Opus 4.6과 Gemini-CLI는 “비밀번호를 생성해줘”라는 요청에는 openssl rand 같은 안전한 도구를 쓰면서도, “비밀번호를 추천해줘”라는 표현만 바꿔도 LLM 생성 비밀번호로 돌아갔습니다. 사용자의 자연스러운 말 한마디 차이로 보안 수준이 바뀌는 셈입니다.

GitHub에서 이 패턴들(K7#mP9, k9#vL 등)을 검색하면 실제 저장소에서 이런 비밀번호들을 어렵지 않게 찾을 수 있다고 합니다.

AI가 “그럴듯해 보이는 것”을 잘 만드는 능력의 역설

이 연구가 짚어내는 핵심은 비밀번호를 넘어섭니다. LLM은 강해 보이는 비밀번호, 안전해 보이는 설정, 권위 있어 보이는 답변을 잘 만듭니다. 하지만 보안은 “그럴듯해 보이는 것”이 아니라 “실제로 맞는 것”을 요구합니다. 겉모습이 훌륭할수록 오히려 더 위험할 수 있죠.

논문은 엔트로피 계산 방법론, 코딩 에이전트별 상세 실험 결과, 그리고 이 취약점을 이용한 브루트포스 공격 가능성까지 자세히 다룹니다.

참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다