보안 회사 Irregular의 연구를 기반으로, Claude, ChatGPT, Gemini 같은 최신 LLM(대형 언어 모델)이 생성하는 비밀번호가 겉으로는 매우 강력해 보이지만 실제로는 극도로 취약하다는 점을 지적.
핵심 실험 결과
- 각 모델에 “비밀번호를 생성해줘” 요청을 50번 반복
-
Claude Opus 4.6: 50번 중 18번이 똑같은 비밀번호 G7$kL9#mQ2&xP4!w (36% 동일), 고유 비밀번호는 30개뿐
- 모델별 패턴 선호도 뚜렷
- Claude → 'G'로 시작 + 두 번째 '7'
- ChatGPT → 'v'로 시작
- Gemini → 'k' 또는 'K'로 시작
- 온도(temperature)를 0.0~1.0으로 바꿔도 크게 달라지지 않음 (0.0이면 50번 전부 동일 비밀번호)
엔트로피(무작위성) 착시 현상
- KeePass 같은 도구에서는 “약 100비트 엔트로피, 매우 강력”으로 평가
→ 슈퍼컴퓨터로도 수십억 년 걸릴 수준처럼 보임
- 실제 Shannon 엔트로피 계산 결과: Claude 생성 비밀번호는 27비트 수준
→ 일반 컴퓨터로 몇 초 만에 뚫릴 수 있는 약한 비밀번호
- GPT-5.2 예시: 15번째 자리가 숫자 '2'일 확률 99.7% (거의 고정)
왜 LLM은 비밀번호 생성에 부적합한가?
- 진짜 강력한 비밀번호는 CSPRNG(암호학적으로 안전한 난수 생성기)로 모든 문자가 균등한 확률로 나와야 함
- LLM은 반대로 가장 그럴듯한 다음 토큰을 예측하도록 훈련됨 → 예측 가능성 극대화
- → 프롬프트 잘 짜거나 온도 조절해도 근본 해결 불가능 (Irregular 결론)
더 큰 문제: AI 코딩 에이전트의 위험
- Claude Code, Gemini-CLI, Codex 등이 코드에 취약한 비밀번호를 하드코딩
예: MariaDB, PostgreSQL, FastAPI API 키 등
- “비밀번호 생성해줘” → openssl rand 같은 안전한 방법 제안
“비밀번호 추천해줘” → LLM이 만든 패턴 비밀번호 바로 삽입
- GitHub에서 K7#mP9, k9#vL 같은 패턴 검색하면 실제 저장소 다수 발견됨
결론
- LLM은 “강해 보이는” 비밀번호는 잘 만들지만, 진짜 보안은 외형이 아니라 실제 엔트로피와 무작위성에 달려 있음.
- LLM의 예측 중심 설계 때문에 비밀번호 생성 용도로는 구조적으로 부적합하며, 특히 AI 코딩 도구가 이를 코드에 심으면 보안 취약점이 은밀하게 퍼질 수 있음.
https://aisparkup.com/posts/9480