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

5 hours ago 2

보안 회사 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

Read Entire Article